aboutsummaryrefslogtreecommitdiffstats
path: root/test/yarp/snapshots
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-09-19 11:46:04 -0400
committergit <svn-admin@ruby-lang.org>2023-09-20 18:30:34 +0000
commitd6abca459f5c785aee0e77883710ec47fed1a98f (patch)
tree14ce234f5d6be906824075965adf110677b6a6ce /test/yarp/snapshots
parent0a630fa461a7260235842e482f682deca30172d6 (diff)
downloadruby-d6abca459f5c785aee0e77883710ec47fed1a98f.tar.gz
[ruby/yarp] Print locations using line / col instead of offsets
This commit changes printing of locations to use the format (start_line,start_column)-(end_line,end_column) instead of using offsets. https://github.com/ruby/yarp/commit/c078696e22
Diffstat (limited to 'test/yarp/snapshots')
-rw-r--r--test/yarp/snapshots/alias.txt188
-rw-r--r--test/yarp/snapshots/arithmetic.txt114
-rw-r--r--test/yarp/snapshots/arrays.txt656
-rw-r--r--test/yarp/snapshots/begin_ensure.txt194
-rw-r--r--test/yarp/snapshots/begin_rescue.txt442
-rw-r--r--test/yarp/snapshots/blocks.txt492
-rw-r--r--test/yarp/snapshots/boolean_operators.txt34
-rw-r--r--test/yarp/snapshots/booleans.txt8
-rw-r--r--test/yarp/snapshots/break.txt202
-rw-r--r--test/yarp/snapshots/case.txt228
-rw-r--r--test/yarp/snapshots/classes.txt300
-rw-r--r--test/yarp/snapshots/comments.txt70
-rw-r--r--test/yarp/snapshots/constants.txt850
-rw-r--r--test/yarp/snapshots/dash_heredocs.txt236
-rw-r--r--test/yarp/snapshots/defined.txt62
-rw-r--r--test/yarp/snapshots/dos_endings.txt90
-rw-r--r--test/yarp/snapshots/embdoc_no_newline_at_end.txt4
-rw-r--r--test/yarp/snapshots/endless_methods.txt68
-rw-r--r--test/yarp/snapshots/endless_range_in_conditional.txt42
-rw-r--r--test/yarp/snapshots/for.txt148
-rw-r--r--test/yarp/snapshots/global_variables.txt190
-rw-r--r--test/yarp/snapshots/hashes.txt260
-rw-r--r--test/yarp/snapshots/heredoc_with_escaped_newline_at_start.txt68
-rw-r--r--test/yarp/snapshots/heredoc_with_trailing_newline.txt12
-rw-r--r--test/yarp/snapshots/heredocs_nested.txt34
-rw-r--r--test/yarp/snapshots/heredocs_with_ignored_newlines.txt20
-rw-r--r--test/yarp/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt12
-rw-r--r--test/yarp/snapshots/if.txt348
-rw-r--r--test/yarp/snapshots/indented_file_end.txt12
-rw-r--r--test/yarp/snapshots/integer_operations.txt348
-rw-r--r--test/yarp/snapshots/keyword_method_names.txt136
-rw-r--r--test/yarp/snapshots/keywords.txt16
-rw-r--r--test/yarp/snapshots/lambda.txt138
-rw-r--r--test/yarp/snapshots/method_calls.txt1628
-rw-r--r--test/yarp/snapshots/methods.txt1274
-rw-r--r--test/yarp/snapshots/modules.txt150
-rw-r--r--test/yarp/snapshots/newline_terminated.txt140
-rw-r--r--test/yarp/snapshots/next.txt146
-rw-r--r--test/yarp/snapshots/nils.txt42
-rw-r--r--test/yarp/snapshots/non_alphanumeric_methods.txt326
-rw-r--r--test/yarp/snapshots/not.txt176
-rw-r--r--test/yarp/snapshots/numbers.txt104
-rw-r--r--test/yarp/snapshots/patterns.txt3536
-rw-r--r--test/yarp/snapshots/procs.txt336
-rw-r--r--test/yarp/snapshots/range_begin_open_exclusive.txt10
-rw-r--r--test/yarp/snapshots/range_begin_open_inclusive.txt10
-rw-r--r--test/yarp/snapshots/range_end_open_exclusive.txt10
-rw-r--r--test/yarp/snapshots/range_end_open_inclusive.txt10
-rw-r--r--test/yarp/snapshots/ranges.txt140
-rw-r--r--test/yarp/snapshots/regex.txt196
-rw-r--r--test/yarp/snapshots/rescue.txt270
-rw-r--r--test/yarp/snapshots/return.txt152
-rw-r--r--test/yarp/snapshots/seattlerb/BEGIN.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/TestRubyParserShared.txt306
-rw-r--r--test/yarp/snapshots/seattlerb/__ENCODING__.txt6
-rw-r--r--test/yarp/snapshots/seattlerb/alias_gvar_backref.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/alias_resword.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/and_multi.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/aref_args_assocs.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/aref_args_lit_assocs.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/args_kw_block.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/array_line_breaks.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/array_lits_trailing_calls.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/assoc__bare.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/assoc_label.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/attr_asgn_colon_id.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/attrasgn_array_arg.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/attrasgn_array_lhs.txt70
-rw-r--r--test/yarp/snapshots/seattlerb/attrasgn_primary_dot_constant.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/backticks_interpolation_line.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/bang_eq.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/bdot2.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/bdot3.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/begin_ensure_no_bodies.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg__bare.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_kwsplat.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_opt_arg_block.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_opt_splat.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_optional.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_scope.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_scope2.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/block_arg_splat_arg.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_kwargs.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_no_kwargs.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_opt1.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_opt2.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_opt2_2.txt54
-rw-r--r--test/yarp/snapshots/seattlerb/block_args_opt3.txt62
-rw-r--r--test/yarp/snapshots/seattlerb/block_break.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_defn_call_block_call.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_dot_op2_brace_block.txt64
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt70
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_operation_colon.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_operation_dot.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/block_call_paren_call_block_call.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/block_command_operation_colon.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_command_operation_dot.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_decomp_anon_splat_arg.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/block_decomp_arg_splat.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/block_decomp_arg_splat_arg.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/block_decomp_splat.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/block_kw.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/block_kw__required.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_kwarg_lvar_multiple.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/block_next.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_opt_arg.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/block_opt_splat.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/block_optarg.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/block_paren_splat.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_reg_optarg.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_return.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/block_scope.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/block_splat_reg.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/bug169.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/bug179.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/bug190.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/bug191.txt56
-rw-r--r--test/yarp/snapshots/seattlerb/bug202.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/bug236.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/bug290.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/bug_187.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/bug_215.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/bug_249.txt68
-rw-r--r--test/yarp/snapshots/seattlerb/bug_and.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/bug_args__19.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/bug_args_masgn.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/bug_args_masgn2.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/bug_call_arglist_parens.txt82
-rw-r--r--test/yarp/snapshots/seattlerb/bug_case_when_regexp.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/bug_comma.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/bug_cond_pct.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/bug_hash_args.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/bug_hash_args_trailing_comma.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/bug_hash_interp_array.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/bug_masgn_right.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/bug_not_parens.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/bug_op_asgn_rescue.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/call_and.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_arg_assoc.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/call_arg_assoc_kwsplat.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/call_args_assoc_quoted.txt74
-rw-r--r--test/yarp/snapshots/seattlerb/call_args_assoc_trailing_comma.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/call_args_command.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/call_array_arg.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/call_array_block_call.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/call_array_lambda_block_call.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/call_array_lit_inline_hash.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/call_assoc.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/call_assoc_new.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/call_assoc_new_if_multiline.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/call_assoc_trailing_comma.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/call_bang_command_call.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/call_bang_squiggle.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_begin_call_block_call.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/call_block_arg_named.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/call_carat.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_colon2.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/call_colon_parens.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_div.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_dot_parens.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_env.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_eq3.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_gt.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_kwsplat.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/call_leading_dots.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/call_leading_dots_comment.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/call_lt.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_lte.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_not.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/call_pipe.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_rshift.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_self_brackets.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/call_spaceship.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_stabby_do_end_with_block.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/call_stabby_with_braces_block.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/call_star.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_star2.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/call_trailing_comma.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/call_trailing_dots.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/call_unary_bang.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/case_in.txt860
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_31.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_37.txt54
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_42.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_42_2.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_47.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_67.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_86.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_86_2.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_array_pat_const.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_array_pat_const2.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_array_pat_paren_assign.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_const.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_else.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_find.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_find_array.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat.txt68
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat_assign.txt76
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_true.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat_rest.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_if_unless_post_mod.txt60
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_multiple.txt56
-rw-r--r--test/yarp/snapshots/seattlerb/case_in_or.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/class_comments.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/cond_unary_minus.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/const_2_op_asgn_or2.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/const_3_op_asgn_or.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/const_op_asgn_and1.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/const_op_asgn_and2.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/const_op_asgn_or.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/dasgn_icky2.txt52
-rw-r--r--test/yarp/snapshots/seattlerb/defined_eh_parens.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/defn_arg_asplat_arg.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/defn_arg_forward_args.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/defn_args_forward_args.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/defn_comments.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/defn_endless_command.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/defn_endless_command_rescue.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/defn_forward_args.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defn_forward_args__no_parens.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_env.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_no_parens.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/defn_kwarg_val.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/defn_no_kwargs.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/defn_oneliner.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defn_oneliner_noargs.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/defn_oneliner_rescue.txt118
-rw-r--r--test/yarp/snapshots/seattlerb/defn_opt_last_arg.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/defn_opt_reg.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/defn_opt_splat_arg.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defn_powarg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defn_splat_arg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/defn_unary_not.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/defns_reserved.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/defs_comments.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/defs_endless_command.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/defs_endless_command_rescue.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/defs_kwarg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/defs_oneliner.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/defs_oneliner_rescue.txt130
-rw-r--r--test/yarp/snapshots/seattlerb/difficult0_.txt52
-rw-r--r--test/yarp/snapshots/seattlerb/difficult1_line_numbers.txt170
-rw-r--r--test/yarp/snapshots/seattlerb/difficult1_line_numbers2.txt60
-rw-r--r--test/yarp/snapshots/seattlerb/difficult2_.txt54
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3_.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3_2.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3_3.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3_4.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3_5.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__10.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__11.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__12.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__6.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__7.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__8.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/difficult3__9.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/difficult4__leading_dots.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/difficult4__leading_dots2.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/difficult6_.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/difficult6__7.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/difficult6__8.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/difficult7_.txt66
-rw-r--r--test/yarp/snapshots/seattlerb/do_bug.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/do_lambda.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/dot2_nil__26.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/dot3_nil__26.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/dstr_evstr.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/dstr_evstr_empty_end.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/dstr_lex_state.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/dstr_str.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/dsym_to_sym.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/eq_begin_line_numbers.txt8
-rw-r--r--test/yarp/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/evstr_evstr.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/evstr_str.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/expr_not_bang.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/f_kw.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/f_kw__required.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/flip2_env_lvar.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/float_with_if_modifier.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc__backslash_dos_format.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_backslash_nl.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_bad_hex_escape.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_bad_oct_escape.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_comma_arg.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_lineno.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_nested.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt52
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_empty.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_interp.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_no_indent.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_unicode.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/if_elsif.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/if_symbol.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/in_expr_no_case.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/index_0.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/index_0_opasgn.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/integer_with_if_modifier.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/interpolated_word_array_line_breaks.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_1.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_10_1.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_10_2.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_11_1.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_11_2.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_2__19.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_3.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_4.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_5.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_6.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_7_1.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_7_2.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_8_1.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_8_2.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_9_1.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/iter_args_9_2.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/iter_kwarg.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/iter_kwarg_kwsplat.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/label_vs_string.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/lambda_do_vs_brace.txt72
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_arg_rescue_arg.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_command.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_env.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_lasgn_command_call.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/lasgn_middle_splat.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/magic_encoding_comment.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_anon_splat_arg.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_arg_colon_arg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_arg_ident.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_arg_splat_arg.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_colon2.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_colon3.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_command_call.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_double_paren.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_paren.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_splat_arg.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_splat_arg_arg.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_star.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/masgn_var_star_var.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/messy_op_asgn_lineno.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/method_call_assoc_trailing_comma.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/method_call_trailing_comma.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_back_anonsplat.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_back_splat.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_front_anonsplat.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_front_splat.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_keyword.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_mid_anonsplat.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/mlhs_rescue.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/module_comments.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/multiline_hash_declaration.txt82
-rw-r--r--test/yarp/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_command_call.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_index_command_call.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/parse_def_special_name.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/parse_if_not_canonical.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/parse_if_not_noncanonical.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_block.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_block_inline_comment.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_call_no_args.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_defn_complex.txt50
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_defn_no_parens.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_defn_no_parens_args.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dot2.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dot2_open.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dot3.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dot3_open.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_dstr_soft_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_evstr_after_break.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_hash_lit.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_heredoc.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_heredoc_evstr.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_iter_call_no_parens.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_iter_call_parens.txt48
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_multiline_str.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_newlines.txt6
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_op_asgn.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_postexe.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_preexe.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_rescue.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_return.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_str_with_newline_escape.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_to_ary.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/parse_line_trailing_newlines.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_019.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_044.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_051.txt40
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_058.txt62
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_058_2.txt58
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_069.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/parse_pattern_076.txt56
-rw-r--r--test/yarp/snapshots/seattlerb/parse_until_not_canonical.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/parse_until_not_noncanonical.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/parse_while_not_canonical.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/parse_while_not_noncanonical.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/pctW_lineno.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/pct_Q_backslash_nl.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/pct_nl.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/pipe_semicolon.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/pipe_space.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/qWords_space.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/qsymbols.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/qsymbols_empty.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/qsymbols_empty_space.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/qsymbols_interp.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/quoted_symbol_hash_arg.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/quoted_symbol_keys.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/qw_escape.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/qw_escape_term.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/qwords_empty.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/read_escape_unicode_curlies.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/read_escape_unicode_h4.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/regexp.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/regexp_esc_C_slash.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/regexp_esc_u.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/regexp_escape_extended.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/regexp_unicode_curlies.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/required_kwarg_no_value.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_do_end_ensure_result.txt46
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_do_end_no_raise.txt66
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_do_end_raised.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_do_end_rescued.txt64
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_in_block.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/rescue_parens.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/return_call_assocs.txt166
-rw-r--r--test/yarp/snapshots/seattlerb/rhs_asgn.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/ruby21_numbers.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/safe_attrasgn.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/safe_attrasgn_constant.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call_after_newline.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call_dot_parens.txt16
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call_newline.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call_operator.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/safe_call_rhs_newline.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/safe_calls.txt28
-rw-r--r--test/yarp/snapshots/seattlerb/safe_op_asgn.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/safe_op_asgn2.txt20
-rw-r--r--test/yarp/snapshots/seattlerb/slashy_newlines_within_string.txt32
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_arg_no_paren.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_block_iter_call.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt44
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_block_kw.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_block_kw__required.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/stabby_proc_scope.txt24
-rw-r--r--test/yarp/snapshots/seattlerb/str_backslashes.txt18
-rw-r--r--test/yarp/snapshots/seattlerb/str_double_double_escaped_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_double_escaped_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_double_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_evstr.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/str_evstr_escape.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/str_heredoc_interp.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/str_interp_ternary_or_label.txt78
-rw-r--r--test/yarp/snapshots/seattlerb/str_lit_concat_bad_encodings.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_newline_hash_line_number.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/str_pct_nested_nested.txt42
-rw-r--r--test/yarp/snapshots/seattlerb/str_pct_q.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/str_single_double_escaped_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_single_escaped_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_single_newline.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/str_str.txt30
-rw-r--r--test/yarp/snapshots/seattlerb/str_str_str.txt34
-rw-r--r--test/yarp/snapshots/seattlerb/super_arg.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/symbol_empty.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/symbol_list.txt38
-rw-r--r--test/yarp/snapshots/seattlerb/symbols.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/symbols_empty.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/symbols_empty_space.txt10
-rw-r--r--test/yarp/snapshots/seattlerb/symbols_interp.txt22
-rw-r--r--test/yarp/snapshots/seattlerb/thingy.txt36
-rw-r--r--test/yarp/snapshots/seattlerb/uminus_float.txt6
-rw-r--r--test/yarp/snapshots/seattlerb/unary_minus.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/unary_plus.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/unary_plus_on_literal.txt14
-rw-r--r--test/yarp/snapshots/seattlerb/unary_tilde.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/utf8_bom.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/when_splat.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/words_interp.txt26
-rw-r--r--test/yarp/snapshots/seattlerb/yield_arg.txt12
-rw-r--r--test/yarp/snapshots/seattlerb/yield_call_assocs.txt166
-rw-r--r--test/yarp/snapshots/seattlerb/yield_empty_parens.txt12
-rw-r--r--test/yarp/snapshots/single_quote_heredocs.txt12
-rw-r--r--test/yarp/snapshots/spanning_heredoc.txt252
-rw-r--r--test/yarp/snapshots/strings.txt550
-rw-r--r--test/yarp/snapshots/super.txt42
-rw-r--r--test/yarp/snapshots/symbols.txt438
-rw-r--r--test/yarp/snapshots/ternary_operator.txt174
-rw-r--r--test/yarp/snapshots/tilde_heredocs.txt236
-rw-r--r--test/yarp/snapshots/undef.txt116
-rw-r--r--test/yarp/snapshots/unescaping.txt42
-rw-r--r--test/yarp/snapshots/unless.txt112
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/alias.txt28
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/assignment.txt940
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/block.txt910
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/case.txt270
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/class.txt186
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/control.txt134
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/def.txt844
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/defined.txt62
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/defs.txt254
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/dstr.txt318
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/empty.txt4
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/empty_begin.txt10
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/flipflop.txt132
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/for.txt122
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/hookexe.txt36
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/if.txt216
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/kwbegin.txt350
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/lambda.txt114
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/literal.txt1198
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/module.txt90
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/opasgn.txt364
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/pattern.txt418
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/pragma.txt14
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/range.txt48
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/rescue.txt66
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/send.txt1426
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/since/27.txt38
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/since/30.txt80
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/since/31.txt70
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/since/32.txt82
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/singletons.txt12
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/super.txt200
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/unary.txt138
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/undef.txt30
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/variables.txt46
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/while.txt502
-rw-r--r--test/yarp/snapshots/unparser/corpus/literal/yield.txt40
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/and.txt128
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/block.txt142
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/def.txt56
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/dstr.txt600
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/kwbegin.txt174
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/literal.txt88
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/send.txt92
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/undef.txt24
-rw-r--r--test/yarp/snapshots/unparser/corpus/semantic/while.txt190
-rw-r--r--test/yarp/snapshots/until.txt90
-rw-r--r--test/yarp/snapshots/variables.txt270
-rw-r--r--test/yarp/snapshots/while.txt244
-rw-r--r--test/yarp/snapshots/whitequark/__ENCODING__.txt6
-rw-r--r--test/yarp/snapshots/whitequark/__ENCODING___legacy_.txt6
-rw-r--r--test/yarp/snapshots/whitequark/alias.txt18
-rw-r--r--test/yarp/snapshots/whitequark/alias_gvar.txt20
-rw-r--r--test/yarp/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt38
-rw-r--r--test/yarp/snapshots/whitequark/and.txt28
-rw-r--r--test/yarp/snapshots/whitequark/and_asgn.txt40
-rw-r--r--test/yarp/snapshots/whitequark/and_or_masgn.txt60
-rw-r--r--test/yarp/snapshots/whitequark/anonymous_blockarg.txt36
-rw-r--r--test/yarp/snapshots/whitequark/arg.txt38
-rw-r--r--test/yarp/snapshots/whitequark/arg_duplicate_ignored.txt40
-rw-r--r--test/yarp/snapshots/whitequark/arg_label.txt82
-rw-r--r--test/yarp/snapshots/whitequark/arg_scope.txt26
-rw-r--r--test/yarp/snapshots/whitequark/args.txt776
-rw-r--r--test/yarp/snapshots/whitequark/args_args_assocs.txt68
-rw-r--r--test/yarp/snapshots/whitequark/args_args_assocs_comma.txt36
-rw-r--r--test/yarp/snapshots/whitequark/args_args_comma.txt22
-rw-r--r--test/yarp/snapshots/whitequark/args_args_star.txt56
-rw-r--r--test/yarp/snapshots/whitequark/args_assocs.txt162
-rw-r--r--test/yarp/snapshots/whitequark/args_assocs_comma.txt32
-rw-r--r--test/yarp/snapshots/whitequark/args_assocs_legacy.txt162
-rw-r--r--test/yarp/snapshots/whitequark/args_block_pass.txt20
-rw-r--r--test/yarp/snapshots/whitequark/args_cmd.txt24
-rw-r--r--test/yarp/snapshots/whitequark/args_star.txt48
-rw-r--r--test/yarp/snapshots/whitequark/array_assocs.txt38
-rw-r--r--test/yarp/snapshots/whitequark/array_plain.txt14
-rw-r--r--test/yarp/snapshots/whitequark/array_splat.txt52
-rw-r--r--test/yarp/snapshots/whitequark/array_symbols.txt18
-rw-r--r--test/yarp/snapshots/whitequark/array_symbols_empty.txt16
-rw-r--r--test/yarp/snapshots/whitequark/array_symbols_interp.txt52
-rw-r--r--test/yarp/snapshots/whitequark/array_words.txt18
-rw-r--r--test/yarp/snapshots/whitequark/array_words_empty.txt16
-rw-r--r--test/yarp/snapshots/whitequark/array_words_interp.txt62
-rw-r--r--test/yarp/snapshots/whitequark/asgn_cmd.txt38
-rw-r--r--test/yarp/snapshots/whitequark/asgn_mrhs.txt54
-rw-r--r--test/yarp/snapshots/whitequark/back_ref.txt6
-rw-r--r--test/yarp/snapshots/whitequark/bang.txt12
-rw-r--r--test/yarp/snapshots/whitequark/bang_cmd.txt18
-rw-r--r--test/yarp/snapshots/whitequark/begin_cmdarg.txt36
-rw-r--r--test/yarp/snapshots/whitequark/beginless_erange_after_newline.txt14
-rw-r--r--test/yarp/snapshots/whitequark/beginless_irange_after_newline.txt14
-rw-r--r--test/yarp/snapshots/whitequark/beginless_range.txt16
-rw-r--r--test/yarp/snapshots/whitequark/blockarg.txt24
-rw-r--r--test/yarp/snapshots/whitequark/blockargs.txt974
-rw-r--r--test/yarp/snapshots/whitequark/break.txt48
-rw-r--r--test/yarp/snapshots/whitequark/break_block.txt26
-rw-r--r--test/yarp/snapshots/whitequark/bug_435.txt32
-rw-r--r--test/yarp/snapshots/whitequark/bug_447.txt42
-rw-r--r--test/yarp/snapshots/whitequark/bug_452.txt46
-rw-r--r--test/yarp/snapshots/whitequark/bug_466.txt54
-rw-r--r--test/yarp/snapshots/whitequark/bug_473.txt30
-rw-r--r--test/yarp/snapshots/whitequark/bug_480.txt36
-rw-r--r--test/yarp/snapshots/whitequark/bug_481.txt36
-rw-r--r--test/yarp/snapshots/whitequark/bug_ascii_8bit_in_literal.txt12
-rw-r--r--test/yarp/snapshots/whitequark/bug_cmd_string_lookahead.txt24
-rw-r--r--test/yarp/snapshots/whitequark/bug_cmdarg.txt68
-rw-r--r--test/yarp/snapshots/whitequark/bug_def_no_paren_eql_begin.txt12
-rw-r--r--test/yarp/snapshots/whitequark/bug_do_block_in_call_args.txt34
-rw-r--r--test/yarp/snapshots/whitequark/bug_do_block_in_cmdarg.txt28
-rw-r--r--test/yarp/snapshots/whitequark/bug_do_block_in_hash_brace.txt280
-rw-r--r--test/yarp/snapshots/whitequark/bug_heredoc_do.txt24
-rw-r--r--test/yarp/snapshots/whitequark/bug_interp_single.txt38
-rw-r--r--test/yarp/snapshots/whitequark/bug_lambda_leakage.txt26
-rw-r--r--test/yarp/snapshots/whitequark/bug_regex_verification.txt12
-rw-r--r--test/yarp/snapshots/whitequark/bug_rescue_empty_else.txt22
-rw-r--r--test/yarp/snapshots/whitequark/bug_while_not_parens_do.txt24
-rw-r--r--test/yarp/snapshots/whitequark/case_cond.txt28
-rw-r--r--test/yarp/snapshots/whitequark/case_cond_else.txt44
-rw-r--r--test/yarp/snapshots/whitequark/case_expr.txt32
-rw-r--r--test/yarp/snapshots/whitequark/case_expr_else.txt44
-rw-r--r--test/yarp/snapshots/whitequark/casgn_scoped.txt18
-rw-r--r--test/yarp/snapshots/whitequark/casgn_toplevel.txt16
-rw-r--r--test/yarp/snapshots/whitequark/casgn_unscoped.txt12
-rw-r--r--test/yarp/snapshots/whitequark/character.txt10
-rw-r--r--test/yarp/snapshots/whitequark/class.txt20
-rw-r--r--test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt148
-rw-r--r--test/yarp/snapshots/whitequark/class_super.txt16
-rw-r--r--test/yarp/snapshots/whitequark/class_super_label.txt26
-rw-r--r--test/yarp/snapshots/whitequark/comments_before_leading_dot__27.txt44
-rw-r--r--test/yarp/snapshots/whitequark/complex.txt24
-rw-r--r--test/yarp/snapshots/whitequark/cond_begin.txt28
-rw-r--r--test/yarp/snapshots/whitequark/cond_begin_masgn.txt34
-rw-r--r--test/yarp/snapshots/whitequark/cond_eflipflop.txt46
-rw-r--r--test/yarp/snapshots/whitequark/cond_iflipflop.txt46
-rw-r--r--test/yarp/snapshots/whitequark/cond_match_current_line.txt30
-rw-r--r--test/yarp/snapshots/whitequark/const_op_asgn.txt84
-rw-r--r--test/yarp/snapshots/whitequark/const_scoped.txt12
-rw-r--r--test/yarp/snapshots/whitequark/const_toplevel.txt10
-rw-r--r--test/yarp/snapshots/whitequark/const_unscoped.txt6
-rw-r--r--test/yarp/snapshots/whitequark/cpath.txt30
-rw-r--r--test/yarp/snapshots/whitequark/cvar.txt6
-rw-r--r--test/yarp/snapshots/whitequark/cvasgn.txt12
-rw-r--r--test/yarp/snapshots/whitequark/dedenting_heredoc.txt286
-rw-r--r--test/yarp/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt12
-rw-r--r--test/yarp/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt12
-rw-r--r--test/yarp/snapshots/whitequark/def.txt52
-rw-r--r--test/yarp/snapshots/whitequark/defined.txt30
-rw-r--r--test/yarp/snapshots/whitequark/defs.txt72
-rw-r--r--test/yarp/snapshots/whitequark/empty_stmt.txt4
-rw-r--r--test/yarp/snapshots/whitequark/endless_comparison_method.txt136
-rw-r--r--test/yarp/snapshots/whitequark/endless_method.txt104
-rw-r--r--test/yarp/snapshots/whitequark/endless_method_command_syntax.txt294
-rw-r--r--test/yarp/snapshots/whitequark/endless_method_forwarded_args_legacy.txt34
-rw-r--r--test/yarp/snapshots/whitequark/endless_method_with_rescue_mod.txt52
-rw-r--r--test/yarp/snapshots/whitequark/endless_method_without_args.txt72
-rw-r--r--test/yarp/snapshots/whitequark/ensure.txt28
-rw-r--r--test/yarp/snapshots/whitequark/ensure_empty.txt16
-rw-r--r--test/yarp/snapshots/whitequark/false.txt6
-rw-r--r--test/yarp/snapshots/whitequark/float.txt8
-rw-r--r--test/yarp/snapshots/whitequark/for.txt54
-rw-r--r--test/yarp/snapshots/whitequark/for_mlhs.txt34
-rw-r--r--test/yarp/snapshots/whitequark/forward_arg.txt34
-rw-r--r--test/yarp/snapshots/whitequark/forward_arg_with_open_args.txt288
-rw-r--r--test/yarp/snapshots/whitequark/forward_args_legacy.txt80
-rw-r--r--test/yarp/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt44
-rw-r--r--test/yarp/snapshots/whitequark/forwarded_argument_with_restarg.txt42
-rw-r--r--test/yarp/snapshots/whitequark/forwarded_kwrestarg.txt40
-rw-r--r--test/yarp/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt50
-rw-r--r--test/yarp/snapshots/whitequark/forwarded_restarg.txt38
-rw-r--r--test/yarp/snapshots/whitequark/gvar.txt6
-rw-r--r--test/yarp/snapshots/whitequark/gvasgn.txt12
-rw-r--r--test/yarp/snapshots/whitequark/hash_empty.txt10
-rw-r--r--test/yarp/snapshots/whitequark/hash_hashrocket.txt50
-rw-r--r--test/yarp/snapshots/whitequark/hash_kwsplat.txt28
-rw-r--r--test/yarp/snapshots/whitequark/hash_label.txt20
-rw-r--r--test/yarp/snapshots/whitequark/hash_label_end.txt90
-rw-r--r--test/yarp/snapshots/whitequark/hash_pair_value_omission.txt76
-rw-r--r--test/yarp/snapshots/whitequark/heredoc.txt28
-rw-r--r--test/yarp/snapshots/whitequark/if.txt36
-rw-r--r--test/yarp/snapshots/whitequark/if_else.txt60
-rw-r--r--test/yarp/snapshots/whitequark/if_elsif.txt44
-rw-r--r--test/yarp/snapshots/whitequark/if_masgn__24.txt30
-rw-r--r--test/yarp/snapshots/whitequark/if_mod.txt18
-rw-r--r--test/yarp/snapshots/whitequark/if_nl_then.txt20
-rw-r--r--test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt112
-rw-r--r--test/yarp/snapshots/whitequark/int.txt10
-rw-r--r--test/yarp/snapshots/whitequark/int___LINE__.txt6
-rw-r--r--test/yarp/snapshots/whitequark/interp_digit_var.txt324
-rw-r--r--test/yarp/snapshots/whitequark/ivar.txt6
-rw-r--r--test/yarp/snapshots/whitequark/ivasgn.txt12
-rw-r--r--test/yarp/snapshots/whitequark/keyword_argument_omission.txt44
-rw-r--r--test/yarp/snapshots/whitequark/kwarg.txt22
-rw-r--r--test/yarp/snapshots/whitequark/kwbegin_compstmt.txt20
-rw-r--r--test/yarp/snapshots/whitequark/kwnilarg.txt70
-rw-r--r--test/yarp/snapshots/whitequark/kwoptarg.txt24
-rw-r--r--test/yarp/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt46
-rw-r--r--test/yarp/snapshots/whitequark/kwrestarg_named.txt24
-rw-r--r--test/yarp/snapshots/whitequark/kwrestarg_unnamed.txt22
-rw-r--r--test/yarp/snapshots/whitequark/lbrace_arg_after_command_args.txt42
-rw-r--r--test/yarp/snapshots/whitequark/lparenarg_after_lvar__since_25.txt48
-rw-r--r--test/yarp/snapshots/whitequark/lvar.txt8
-rw-r--r--test/yarp/snapshots/whitequark/lvar_injecting_match.txt30
-rw-r--r--test/yarp/snapshots/whitequark/lvasgn.txt14
-rw-r--r--test/yarp/snapshots/whitequark/masgn.txt52
-rw-r--r--test/yarp/snapshots/whitequark/masgn_attr.txt66
-rw-r--r--test/yarp/snapshots/whitequark/masgn_cmd.txt20
-rw-r--r--test/yarp/snapshots/whitequark/masgn_const.txt34
-rw-r--r--test/yarp/snapshots/whitequark/masgn_nested.txt48
-rw-r--r--test/yarp/snapshots/whitequark/masgn_splat.txt170
-rw-r--r--test/yarp/snapshots/whitequark/method_definition_in_while_cond.txt152
-rw-r--r--test/yarp/snapshots/whitequark/module.txt12
-rw-r--r--test/yarp/snapshots/whitequark/multiple_pattern_matches.txt124
-rw-r--r--test/yarp/snapshots/whitequark/newline_in_hash_argument.txt106
-rw-r--r--test/yarp/snapshots/whitequark/next.txt48
-rw-r--r--test/yarp/snapshots/whitequark/next_block.txt26
-rw-r--r--test/yarp/snapshots/whitequark/nil.txt6
-rw-r--r--test/yarp/snapshots/whitequark/nil_expression.txt16
-rw-r--r--test/yarp/snapshots/whitequark/non_lvar_injecting_match.txt38
-rw-r--r--test/yarp/snapshots/whitequark/not.txt32
-rw-r--r--test/yarp/snapshots/whitequark/not_cmd.txt18
-rw-r--r--test/yarp/snapshots/whitequark/not_masgn__24.txt28
-rw-r--r--test/yarp/snapshots/whitequark/nth_ref.txt6
-rw-r--r--test/yarp/snapshots/whitequark/numbered_args_after_27.txt88
-rw-r--r--test/yarp/snapshots/whitequark/numparam_outside_block.txt72
-rw-r--r--test/yarp/snapshots/whitequark/op_asgn.txt46
-rw-r--r--test/yarp/snapshots/whitequark/op_asgn_cmd.txt94
-rw-r--r--test/yarp/snapshots/whitequark/op_asgn_index.txt26
-rw-r--r--test/yarp/snapshots/whitequark/op_asgn_index_cmd.txt34
-rw-r--r--test/yarp/snapshots/whitequark/optarg.txt52
-rw-r--r--test/yarp/snapshots/whitequark/or.txt28
-rw-r--r--test/yarp/snapshots/whitequark/or_asgn.txt40
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_272.txt28
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_490.txt94
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_507.txt28
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_518.txt16
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_525.txt48
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_604.txt30
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_640.txt12
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_645.txt32
-rw-r--r--test/yarp/snapshots/whitequark/parser_bug_830.txt12
-rw-r--r--test/yarp/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt20
-rw-r--r--test/yarp/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt164
-rw-r--r--test/yarp/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt46
-rw-r--r--test/yarp/snapshots/whitequark/pattern_matching_blank_else.txt28
-rw-r--r--test/yarp/snapshots/whitequark/pattern_matching_else.txt32
-rw-r--r--test/yarp/snapshots/whitequark/pattern_matching_single_line.txt36
-rw-r--r--test/yarp/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt188
-rw-r--r--test/yarp/snapshots/whitequark/postexe.txt16
-rw-r--r--test/yarp/snapshots/whitequark/preexe.txt16
-rw-r--r--test/yarp/snapshots/whitequark/procarg0.txt52
-rw-r--r--test/yarp/snapshots/whitequark/range_exclusive.txt12
-rw-r--r--test/yarp/snapshots/whitequark/range_inclusive.txt12
-rw-r--r--test/yarp/snapshots/whitequark/rational.txt12
-rw-r--r--test/yarp/snapshots/whitequark/redo.txt6
-rw-r--r--test/yarp/snapshots/whitequark/regex_interp.txt30
-rw-r--r--test/yarp/snapshots/whitequark/regex_plain.txt12
-rw-r--r--test/yarp/snapshots/whitequark/resbody_list.txt28
-rw-r--r--test/yarp/snapshots/whitequark/resbody_list_mrhs.txt32
-rw-r--r--test/yarp/snapshots/whitequark/resbody_list_var.txt34
-rw-r--r--test/yarp/snapshots/whitequark/resbody_var.txt56
-rw-r--r--test/yarp/snapshots/whitequark/rescue.txt26
-rw-r--r--test/yarp/snapshots/whitequark/rescue_else.txt38
-rw-r--r--test/yarp/snapshots/whitequark/rescue_else_ensure.txt50
-rw-r--r--test/yarp/snapshots/whitequark/rescue_ensure.txt38
-rw-r--r--test/yarp/snapshots/whitequark/rescue_in_lambda_block.txt20
-rw-r--r--test/yarp/snapshots/whitequark/rescue_mod.txt16
-rw-r--r--test/yarp/snapshots/whitequark/rescue_mod_asgn.txt22
-rw-r--r--test/yarp/snapshots/whitequark/rescue_mod_masgn.txt30
-rw-r--r--test/yarp/snapshots/whitequark/rescue_mod_op_assign.txt22
-rw-r--r--test/yarp/snapshots/whitequark/rescue_without_begin_end.txt34
-rw-r--r--test/yarp/snapshots/whitequark/restarg_named.txt24
-rw-r--r--test/yarp/snapshots/whitequark/restarg_unnamed.txt22
-rw-r--r--test/yarp/snapshots/whitequark/retry.txt6
-rw-r--r--test/yarp/snapshots/whitequark/return.txt48
-rw-r--r--test/yarp/snapshots/whitequark/return_block.txt26
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_10279.txt30
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_10653.txt116
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11107.txt40
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11380.txt44
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11873.txt520
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11873_a.txt776
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11873_b.txt56
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11989.txt18
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_11990.txt28
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_12073.txt66
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_12402.txt396
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_12669.txt100
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_12686.txt28
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_13547.txt22
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_14690.txt44
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_15789.txt90
-rw-r--r--test/yarp/snapshots/whitequark/ruby_bug_9669.txt46
-rw-r--r--test/yarp/snapshots/whitequark/sclass.txt20
-rw-r--r--test/yarp/snapshots/whitequark/self.txt6
-rw-r--r--test/yarp/snapshots/whitequark/send_attr_asgn.txt62
-rw-r--r--test/yarp/snapshots/whitequark/send_attr_asgn_conditional.txt18
-rw-r--r--test/yarp/snapshots/whitequark/send_binary_op.txt256
-rw-r--r--test/yarp/snapshots/whitequark/send_block_chain_cmd.txt210
-rw-r--r--test/yarp/snapshots/whitequark/send_block_conditional.txt20
-rw-r--r--test/yarp/snapshots/whitequark/send_call.txt36
-rw-r--r--test/yarp/snapshots/whitequark/send_conditional.txt14
-rw-r--r--test/yarp/snapshots/whitequark/send_index.txt22
-rw-r--r--test/yarp/snapshots/whitequark/send_index_asgn.txt24
-rw-r--r--test/yarp/snapshots/whitequark/send_index_asgn_legacy.txt24
-rw-r--r--test/yarp/snapshots/whitequark/send_index_cmd.txt28
-rw-r--r--test/yarp/snapshots/whitequark/send_index_legacy.txt22
-rw-r--r--test/yarp/snapshots/whitequark/send_lambda.txt36
-rw-r--r--test/yarp/snapshots/whitequark/send_lambda_args.txt40
-rw-r--r--test/yarp/snapshots/whitequark/send_lambda_args_noparen.txt38
-rw-r--r--test/yarp/snapshots/whitequark/send_lambda_args_shadow.txt26
-rw-r--r--test/yarp/snapshots/whitequark/send_lambda_legacy.txt12
-rw-r--r--test/yarp/snapshots/whitequark/send_op_asgn_conditional.txt18
-rw-r--r--test/yarp/snapshots/whitequark/send_plain.txt38
-rw-r--r--test/yarp/snapshots/whitequark/send_plain_cmd.txt52
-rw-r--r--test/yarp/snapshots/whitequark/send_self.txt24
-rw-r--r--test/yarp/snapshots/whitequark/send_self_block.txt56
-rw-r--r--test/yarp/snapshots/whitequark/send_unary_op.txt28
-rw-r--r--test/yarp/snapshots/whitequark/slash_newline_in_heredocs.txt20
-rw-r--r--test/yarp/snapshots/whitequark/space_args_arg.txt20
-rw-r--r--test/yarp/snapshots/whitequark/space_args_arg_block.txt82
-rw-r--r--test/yarp/snapshots/whitequark/space_args_arg_call.txt26
-rw-r--r--test/yarp/snapshots/whitequark/space_args_arg_newline.txt20
-rw-r--r--test/yarp/snapshots/whitequark/space_args_block.txt22
-rw-r--r--test/yarp/snapshots/whitequark/space_args_cmd.txt28
-rw-r--r--test/yarp/snapshots/whitequark/string___FILE__.txt6
-rw-r--r--test/yarp/snapshots/whitequark/string_concat.txt30
-rw-r--r--test/yarp/snapshots/whitequark/string_dvar.txt36
-rw-r--r--test/yarp/snapshots/whitequark/string_interp.txt30
-rw-r--r--test/yarp/snapshots/whitequark/string_plain.txt20
-rw-r--r--test/yarp/snapshots/whitequark/super.txt36
-rw-r--r--test/yarp/snapshots/whitequark/super_block.txt32
-rw-r--r--test/yarp/snapshots/whitequark/symbol_interp.txt30
-rw-r--r--test/yarp/snapshots/whitequark/symbol_plain.txt18
-rw-r--r--test/yarp/snapshots/whitequark/ternary.txt22
-rw-r--r--test/yarp/snapshots/whitequark/ternary_ambiguous_symbol.txt38
-rw-r--r--test/yarp/snapshots/whitequark/trailing_forward_arg.txt42
-rw-r--r--test/yarp/snapshots/whitequark/true.txt6
-rw-r--r--test/yarp/snapshots/whitequark/unary_num_pow_precedence.txt42
-rw-r--r--test/yarp/snapshots/whitequark/undef.txt38
-rw-r--r--test/yarp/snapshots/whitequark/unless.txt36
-rw-r--r--test/yarp/snapshots/whitequark/unless_else.txt60
-rw-r--r--test/yarp/snapshots/whitequark/unless_mod.txt18
-rw-r--r--test/yarp/snapshots/whitequark/until.txt36
-rw-r--r--test/yarp/snapshots/whitequark/until_mod.txt18
-rw-r--r--test/yarp/snapshots/whitequark/until_post.txt26
-rw-r--r--test/yarp/snapshots/whitequark/var_and_asgn.txt12
-rw-r--r--test/yarp/snapshots/whitequark/var_op_asgn.txt46
-rw-r--r--test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt18
-rw-r--r--test/yarp/snapshots/whitequark/var_or_asgn.txt12
-rw-r--r--test/yarp/snapshots/whitequark/when_multi.txt40
-rw-r--r--test/yarp/snapshots/whitequark/when_splat.txt46
-rw-r--r--test/yarp/snapshots/whitequark/when_then.txt32
-rw-r--r--test/yarp/snapshots/whitequark/while.txt36
-rw-r--r--test/yarp/snapshots/whitequark/while_mod.txt18
-rw-r--r--test/yarp/snapshots/whitequark/while_post.txt26
-rw-r--r--test/yarp/snapshots/whitequark/xstring_interp.txt30
-rw-r--r--test/yarp/snapshots/whitequark/xstring_plain.txt12
-rw-r--r--test/yarp/snapshots/whitequark/yield.txt40
-rw-r--r--test/yarp/snapshots/whitequark/zsuper.txt6
-rw-r--r--test/yarp/snapshots/xstring.txt54
-rw-r--r--test/yarp/snapshots/yield.txt44
911 files changed, 30184 insertions, 30184 deletions
diff --git a/test/yarp/snapshots/alias.txt b/test/yarp/snapshots/alias.txt
index de98c2bb62..732c69b4d1 100644
--- a/test/yarp/snapshots/alias.txt
+++ b/test/yarp/snapshots/alias.txt
@@ -1,173 +1,173 @@
-@ ProgramNode (location: (0...199))
+@ ProgramNode (location: (1,0)-(23,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...199))
+ @ StatementsNode (location: (1,0)-(23,11))
└── body: (length: 12)
- ├── @ AliasMethodNode (location: (0...15))
+ ├── @ AliasMethodNode (location: (1,0)-(1,15))
│ ├── new_name:
- │ │ @ SymbolNode (location: (6...10))
- │ │ ├── opening_loc: (6...7) = ":"
- │ │ ├── value_loc: (7...10) = "foo"
+ │ │ @ SymbolNode (location: (1,6)-(1,10))
+ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ │ ├── value_loc: (1,7)-(1,10) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
- │ │ @ SymbolNode (location: (11...15))
- │ │ ├── opening_loc: (11...12) = ":"
- │ │ ├── value_loc: (12...15) = "bar"
+ │ │ @ SymbolNode (location: (1,11)-(1,15))
+ │ │ ├── opening_loc: (1,11)-(1,12) = ":"
+ │ │ ├── value_loc: (1,12)-(1,15) = "bar"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bar"
- │ └── keyword_loc: (0...5) = "alias"
- ├── @ AliasMethodNode (location: (17...38))
+ │ └── keyword_loc: (1,0)-(1,5) = "alias"
+ ├── @ AliasMethodNode (location: (3,0)-(3,21))
│ ├── new_name:
- │ │ @ SymbolNode (location: (23...30))
- │ │ ├── opening_loc: (23...26) = "%s["
- │ │ ├── value_loc: (26...29) = "abc"
- │ │ ├── closing_loc: (29...30) = "]"
+ │ │ @ SymbolNode (location: (3,6)-(3,13))
+ │ │ ├── opening_loc: (3,6)-(3,9) = "%s["
+ │ │ ├── value_loc: (3,9)-(3,12) = "abc"
+ │ │ ├── closing_loc: (3,12)-(3,13) = "]"
│ │ └── unescaped: "abc"
│ ├── old_name:
- │ │ @ SymbolNode (location: (31...38))
- │ │ ├── opening_loc: (31...34) = "%s["
- │ │ ├── value_loc: (34...37) = "def"
- │ │ ├── closing_loc: (37...38) = "]"
+ │ │ @ SymbolNode (location: (3,14)-(3,21))
+ │ │ ├── opening_loc: (3,14)-(3,17) = "%s["
+ │ │ ├── value_loc: (3,17)-(3,20) = "def"
+ │ │ ├── closing_loc: (3,20)-(3,21) = "]"
│ │ └── unescaped: "def"
- │ └── keyword_loc: (17...22) = "alias"
- ├── @ AliasMethodNode (location: (40...59))
+ │ └── keyword_loc: (3,0)-(3,5) = "alias"
+ ├── @ AliasMethodNode (location: (5,0)-(5,19))
│ ├── new_name:
- │ │ @ SymbolNode (location: (46...52))
- │ │ ├── opening_loc: (46...48) = ":'"
- │ │ ├── value_loc: (48...51) = "abc"
- │ │ ├── closing_loc: (51...52) = "'"
+ │ │ @ SymbolNode (location: (5,6)-(5,12))
+ │ │ ├── opening_loc: (5,6)-(5,8) = ":'"
+ │ │ ├── value_loc: (5,8)-(5,11) = "abc"
+ │ │ ├── closing_loc: (5,11)-(5,12) = "'"
│ │ └── unescaped: "abc"
│ ├── old_name:
- │ │ @ SymbolNode (location: (53...59))
- │ │ ├── opening_loc: (53...55) = ":'"
- │ │ ├── value_loc: (55...58) = "def"
- │ │ ├── closing_loc: (58...59) = "'"
+ │ │ @ SymbolNode (location: (5,13)-(5,19))
+ │ │ ├── opening_loc: (5,13)-(5,15) = ":'"
+ │ │ ├── value_loc: (5,15)-(5,18) = "def"
+ │ │ ├── closing_loc: (5,18)-(5,19) = "'"
│ │ └── unescaped: "def"
- │ └── keyword_loc: (40...45) = "alias"
- ├── @ AliasMethodNode (location: (61...84))
+ │ └── keyword_loc: (5,0)-(5,5) = "alias"
+ ├── @ AliasMethodNode (location: (7,0)-(7,23))
│ ├── new_name:
- │ │ @ InterpolatedSymbolNode (location: (67...77))
- │ │ ├── opening_loc: (67...69) = ":\""
+ │ │ @ InterpolatedSymbolNode (location: (7,6)-(7,16))
+ │ │ ├── opening_loc: (7,6)-(7,8) = ":\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (69...72))
+ │ │ │ ├── @ StringNode (location: (7,8)-(7,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (69...72) = "abc"
+ │ │ │ │ ├── content_loc: (7,8)-(7,11) = "abc"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "abc"
- │ │ │ └── @ EmbeddedStatementsNode (location: (72...76))
- │ │ │ ├── opening_loc: (72...74) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (7,11)-(7,15))
+ │ │ │ ├── opening_loc: (7,11)-(7,13) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (74...75))
+ │ │ │ │ @ StatementsNode (location: (7,13)-(7,14))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (74...75))
+ │ │ │ │ └── @ IntegerNode (location: (7,13)-(7,14))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (75...76) = "}"
- │ │ └── closing_loc: (76...77) = "\""
+ │ │ │ └── closing_loc: (7,14)-(7,15) = "}"
+ │ │ └── closing_loc: (7,15)-(7,16) = "\""
│ ├── old_name:
- │ │ @ SymbolNode (location: (78...84))
- │ │ ├── opening_loc: (78...80) = ":'"
- │ │ ├── value_loc: (80...83) = "def"
- │ │ ├── closing_loc: (83...84) = "'"
+ │ │ @ SymbolNode (location: (7,17)-(7,23))
+ │ │ ├── opening_loc: (7,17)-(7,19) = ":'"
+ │ │ ├── value_loc: (7,19)-(7,22) = "def"
+ │ │ ├── closing_loc: (7,22)-(7,23) = "'"
│ │ └── unescaped: "def"
- │ └── keyword_loc: (61...66) = "alias"
- ├── @ AliasGlobalVariableNode (location: (86...97))
+ │ └── keyword_loc: (7,0)-(7,5) = "alias"
+ ├── @ AliasGlobalVariableNode (location: (9,0)-(9,11))
│ ├── new_name:
- │ │ @ GlobalVariableReadNode (location: (92...94))
+ │ │ @ GlobalVariableReadNode (location: (9,6)-(9,8))
│ │ └── name: :$a
│ ├── old_name:
- │ │ @ BackReferenceReadNode (location: (95...97))
- │ └── keyword_loc: (86...91) = "alias"
- ├── @ AliasMethodNode (location: (99...112))
+ │ │ @ BackReferenceReadNode (location: (9,9)-(9,11))
+ │ └── keyword_loc: (9,0)-(9,5) = "alias"
+ ├── @ AliasMethodNode (location: (11,0)-(11,13))
│ ├── new_name:
- │ │ @ SymbolNode (location: (105...108))
+ │ │ @ SymbolNode (location: (11,6)-(11,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (105...108) = "foo"
+ │ │ ├── value_loc: (11,6)-(11,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
- │ │ @ SymbolNode (location: (109...112))
+ │ │ @ SymbolNode (location: (11,10)-(11,13))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (109...112) = "bar"
+ │ │ ├── value_loc: (11,10)-(11,13) = "bar"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bar"
- │ └── keyword_loc: (99...104) = "alias"
- ├── @ AliasGlobalVariableNode (location: (114...129))
+ │ └── keyword_loc: (11,0)-(11,5) = "alias"
+ ├── @ AliasGlobalVariableNode (location: (13,0)-(13,15))
│ ├── new_name:
- │ │ @ GlobalVariableReadNode (location: (120...124))
+ │ │ @ GlobalVariableReadNode (location: (13,6)-(13,10))
│ │ └── name: :$foo
│ ├── old_name:
- │ │ @ GlobalVariableReadNode (location: (125...129))
+ │ │ @ GlobalVariableReadNode (location: (13,11)-(13,15))
│ │ └── name: :$bar
- │ └── keyword_loc: (114...119) = "alias"
- ├── @ AliasMethodNode (location: (131...143))
+ │ └── keyword_loc: (13,0)-(13,5) = "alias"
+ ├── @ AliasMethodNode (location: (15,0)-(15,12))
│ ├── new_name:
- │ │ @ SymbolNode (location: (137...140))
+ │ │ @ SymbolNode (location: (15,6)-(15,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (137...140) = "foo"
+ │ │ ├── value_loc: (15,6)-(15,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
- │ │ @ SymbolNode (location: (141...143))
+ │ │ @ SymbolNode (location: (15,10)-(15,12))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (141...143) = "if"
+ │ │ ├── value_loc: (15,10)-(15,12) = "if"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "if"
- │ └── keyword_loc: (131...136) = "alias"
- ├── @ AliasMethodNode (location: (145...158))
+ │ └── keyword_loc: (15,0)-(15,5) = "alias"
+ ├── @ AliasMethodNode (location: (17,0)-(17,13))
│ ├── new_name:
- │ │ @ SymbolNode (location: (151...154))
+ │ │ @ SymbolNode (location: (17,6)-(17,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (151...154) = "foo"
+ │ │ ├── value_loc: (17,6)-(17,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
- │ │ @ SymbolNode (location: (155...158))
+ │ │ @ SymbolNode (location: (17,10)-(17,13))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (155...158) = "<=>"
+ │ │ ├── value_loc: (17,10)-(17,13) = "<=>"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "<=>"
- │ └── keyword_loc: (145...150) = "alias"
- ├── @ AliasMethodNode (location: (160...175))
+ │ └── keyword_loc: (17,0)-(17,5) = "alias"
+ ├── @ AliasMethodNode (location: (19,0)-(19,15))
│ ├── new_name:
- │ │ @ SymbolNode (location: (166...169))
- │ │ ├── opening_loc: (166...167) = ":"
- │ │ ├── value_loc: (167...169) = "=="
+ │ │ @ SymbolNode (location: (19,6)-(19,9))
+ │ │ ├── opening_loc: (19,6)-(19,7) = ":"
+ │ │ ├── value_loc: (19,7)-(19,9) = "=="
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "=="
│ ├── old_name:
- │ │ @ SymbolNode (location: (170...175))
- │ │ ├── opening_loc: (170...171) = ":"
- │ │ ├── value_loc: (171...175) = "eql?"
+ │ │ @ SymbolNode (location: (19,10)-(19,15))
+ │ │ ├── opening_loc: (19,10)-(19,11) = ":"
+ │ │ ├── value_loc: (19,11)-(19,15) = "eql?"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "eql?"
- │ └── keyword_loc: (160...165) = "alias"
- ├── @ AliasMethodNode (location: (177...186))
+ │ └── keyword_loc: (19,0)-(19,5) = "alias"
+ ├── @ AliasMethodNode (location: (21,0)-(21,9))
│ ├── new_name:
- │ │ @ SymbolNode (location: (183...184))
+ │ │ @ SymbolNode (location: (21,6)-(21,7))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (183...184) = "A"
+ │ │ ├── value_loc: (21,6)-(21,7) = "A"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "A"
│ ├── old_name:
- │ │ @ SymbolNode (location: (185...186))
+ │ │ @ SymbolNode (location: (21,8)-(21,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (185...186) = "B"
+ │ │ ├── value_loc: (21,8)-(21,9) = "B"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "B"
- │ └── keyword_loc: (177...182) = "alias"
- └── @ AliasMethodNode (location: (188...199))
+ │ └── keyword_loc: (21,0)-(21,5) = "alias"
+ └── @ AliasMethodNode (location: (23,0)-(23,11))
├── new_name:
- │ @ SymbolNode (location: (194...196))
- │ ├── opening_loc: (194...195) = ":"
- │ ├── value_loc: (195...196) = "A"
+ │ @ SymbolNode (location: (23,6)-(23,8))
+ │ ├── opening_loc: (23,6)-(23,7) = ":"
+ │ ├── value_loc: (23,7)-(23,8) = "A"
│ ├── closing_loc: ∅
│ └── unescaped: "A"
├── old_name:
- │ @ SymbolNode (location: (197...199))
- │ ├── opening_loc: (197...198) = ":"
- │ ├── value_loc: (198...199) = "B"
+ │ @ SymbolNode (location: (23,9)-(23,11))
+ │ ├── opening_loc: (23,9)-(23,10) = ":"
+ │ ├── value_loc: (23,10)-(23,11) = "B"
│ ├── closing_loc: ∅
│ └── unescaped: "B"
- └── keyword_loc: (188...193) = "alias"
+ └── keyword_loc: (23,0)-(23,5) = "alias"
diff --git a/test/yarp/snapshots/arithmetic.txt b/test/yarp/snapshots/arithmetic.txt
index 408d4cc7d6..5ff36ffe84 100644
--- a/test/yarp/snapshots/arithmetic.txt
+++ b/test/yarp/snapshots/arithmetic.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...75))
+@ ProgramNode (location: (1,0)-(13,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...75))
+ @ StatementsNode (location: (1,0)-(13,8))
└── body: (length: 7)
- ├── @ CallNode (location: (0...8))
+ ├── @ CallNode (location: (1,0)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...8))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...8))
+ │ │ └── @ CallNode (location: (1,4)-(1,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (5...8))
+ │ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (5...8) = "bar"
+ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -24,7 +24,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "!"
+ │ │ ├── message_loc: (1,4)-(1,5) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -35,14 +35,14 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (10...18))
+ ├── @ CallNode (location: (3,0)-(3,8))
│ ├── receiver:
- │ │ @ CallNode (location: (10...14))
+ │ │ @ CallNode (location: (3,0)-(3,4))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (11...14))
+ │ │ │ @ CallNode (location: (3,1)-(3,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...14) = "foo"
+ │ │ │ ├── message_loc: (3,1)-(3,4) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -50,7 +50,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...11) = "-"
+ │ │ ├── message_loc: (3,0)-(3,1) = "-"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -58,15 +58,15 @@
│ │ ├── flags: ∅
│ │ └── name: "-@"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (14...15) = "*"
+ │ ├── message_loc: (3,4)-(3,5) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (15...18))
+ │ │ @ ArgumentsNode (location: (3,5)-(3,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (15...18))
+ │ │ └── @ CallNode (location: (3,5)-(3,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (15...18) = "bar"
+ │ │ ├── message_loc: (3,5)-(3,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -77,14 +77,14 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- ├── @ CallNode (location: (20...29))
+ ├── @ CallNode (location: (5,0)-(5,9))
│ ├── receiver:
- │ │ @ CallNode (location: (20...24))
+ │ │ @ CallNode (location: (5,0)-(5,4))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (21...24))
+ │ │ │ @ CallNode (location: (5,1)-(5,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (21...24) = "foo"
+ │ │ │ ├── message_loc: (5,1)-(5,4) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -92,7 +92,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...21) = "+"
+ │ │ ├── message_loc: (5,0)-(5,1) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -100,15 +100,15 @@
│ │ ├── flags: ∅
│ │ └── name: "+@"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (24...26) = "**"
+ │ ├── message_loc: (5,4)-(5,6) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (26...29))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (26...29))
+ │ │ └── @ CallNode (location: (5,6)-(5,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (26...29) = "bar"
+ │ │ ├── message_loc: (5,6)-(5,9) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -119,20 +119,20 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
- ├── @ CallNode (location: (31...39))
+ ├── @ CallNode (location: (7,0)-(7,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (31...34) = "foo"
+ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (35...39))
+ │ │ @ ArgumentsNode (location: (7,4)-(7,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (35...39))
+ │ │ └── @ CallNode (location: (7,4)-(7,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (36...39))
+ │ │ │ @ CallNode (location: (7,5)-(7,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (36...39) = "bar"
+ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -140,7 +140,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (35...36) = "~"
+ │ │ ├── message_loc: (7,4)-(7,5) = "~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -151,14 +151,14 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (41...58))
+ ├── @ CallNode (location: (9,0)-(9,17))
│ ├── receiver:
- │ │ @ CallNode (location: (41...51))
+ │ │ @ CallNode (location: (9,0)-(9,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (41...44))
+ │ │ │ @ CallNode (location: (9,0)-(9,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (41...44) = "foo"
+ │ │ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -166,15 +166,15 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (45...47) = "<<"
+ │ │ ├── message_loc: (9,4)-(9,6) = "<<"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (48...51))
+ │ │ │ @ ArgumentsNode (location: (9,7)-(9,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (48...51))
+ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (48...51) = "bar"
+ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -186,15 +186,15 @@
│ │ ├── flags: ∅
│ │ └── name: "<<"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (52...54) = "<<"
+ │ ├── message_loc: (9,11)-(9,13) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (55...58))
+ │ │ @ ArgumentsNode (location: (9,14)-(9,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (55...58))
+ │ │ └── @ CallNode (location: (9,14)-(9,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (55...58) = "baz"
+ │ │ ├── message_loc: (9,14)-(9,17) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -205,38 +205,38 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ CallNode (location: (60...65))
+ ├── @ CallNode (location: (11,0)-(11,5))
│ ├── receiver:
- │ │ @ CallNode (location: (61...65))
+ │ │ @ CallNode (location: (11,1)-(11,5))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (61...62))
+ │ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (62...64) = "**"
+ │ │ ├── message_loc: (11,2)-(11,4) = "**"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (64...65))
+ │ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (64...65))
+ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "**"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...61) = "-"
+ │ ├── message_loc: (11,0)-(11,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-@"
- └── @ CallNode (location: (67...75))
+ └── @ CallNode (location: (13,0)-(13,8))
├── receiver:
- │ @ IntegerNode (location: (67...69))
+ │ @ IntegerNode (location: (13,0)-(13,2))
│ └── flags: decimal
- ├── call_operator_loc: (69...70) = "."
- ├── message_loc: (70...75) = "zero?"
+ ├── call_operator_loc: (13,2)-(13,3) = "."
+ ├── message_loc: (13,3)-(13,8) = "zero?"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/arrays.txt b/test/yarp/snapshots/arrays.txt
index 1a14765c89..8a7c98a839 100644
--- a/test/yarp/snapshots/arrays.txt
+++ b/test/yarp/snapshots/arrays.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...511))
+@ ProgramNode (location: (1,0)-(82,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...511))
+ @ StatementsNode (location: (1,0)-(82,7))
└── body: (length: 30)
- ├── @ ArrayNode (location: (0...4))
+ ├── @ ArrayNode (location: (1,0)-(1,4))
│ ├── elements: (length: 1)
- │ │ └── @ SplatNode (location: (1...3))
- │ │ ├── operator_loc: (1...2) = "*"
+ │ │ └── @ SplatNode (location: (1,1)-(1,3))
+ │ │ ├── operator_loc: (1,1)-(1,2) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (2...3))
+ │ │ @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "a"
+ │ │ ├── message_loc: (1,2)-(1,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (3...4) = "]"
- ├── @ CallNode (location: (6...29))
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (1,3)-(1,4) = "]"
+ ├── @ CallNode (location: (3,0)-(3,23))
│ ├── receiver:
- │ │ @ CallNode (location: (6...9))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -33,136 +33,136 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...19) = "[bar, baz]"
- │ ├── opening_loc: (9...10) = "["
+ │ ├── message_loc: (3,3)-(3,13) = "[bar, baz]"
+ │ ├── opening_loc: (3,3)-(3,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (10...29))
+ │ │ @ ArgumentsNode (location: (3,4)-(3,23))
│ │ └── arguments: (length: 3)
- │ │ ├── @ CallNode (location: (10...13))
+ │ │ ├── @ CallNode (location: (3,4)-(3,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...13) = "bar"
+ │ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── @ CallNode (location: (15...18))
+ │ │ ├── @ CallNode (location: (3,9)-(3,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...18) = "baz"
+ │ │ │ ├── message_loc: (3,9)-(3,12) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ ArrayNode (location: (22...29))
+ │ │ └── @ ArrayNode (location: (3,16)-(3,23))
│ │ ├── elements: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (22...23))
+ │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (25...26))
+ │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (28...29))
+ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ ├── closing_loc: (18...19) = "]"
+ │ ├── closing_loc: (3,12)-(3,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ ArrayNode (location: (31...44))
+ ├── @ ArrayNode (location: (5,0)-(5,13))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (32...43))
+ │ │ └── @ KeywordHashNode (location: (5,1)-(5,12))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (32...43))
+ │ │ └── @ AssocNode (location: (5,1)-(5,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (32...34))
+ │ │ │ @ SymbolNode (location: (5,1)-(5,3))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (32...33) = "a"
- │ │ │ ├── closing_loc: (33...34) = ":"
+ │ │ │ ├── value_loc: (5,1)-(5,2) = "a"
+ │ │ │ ├── closing_loc: (5,2)-(5,3) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ ArrayNode (location: (35...43))
+ │ │ │ @ ArrayNode (location: (5,4)-(5,12))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (36...38))
- │ │ │ │ │ ├── opening_loc: (36...37) = ":"
- │ │ │ │ │ ├── value_loc: (37...38) = "b"
+ │ │ │ │ ├── @ SymbolNode (location: (5,5)-(5,7))
+ │ │ │ │ │ ├── opening_loc: (5,5)-(5,6) = ":"
+ │ │ │ │ │ ├── value_loc: (5,6)-(5,7) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
- │ │ │ │ └── @ SymbolNode (location: (40...42))
- │ │ │ │ ├── opening_loc: (40...41) = ":"
- │ │ │ │ ├── value_loc: (41...42) = "c"
+ │ │ │ │ └── @ SymbolNode (location: (5,9)-(5,11))
+ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
+ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
- │ │ │ ├── opening_loc: (35...36) = "["
- │ │ │ └── closing_loc: (42...43) = "]"
+ │ │ │ ├── opening_loc: (5,4)-(5,5) = "["
+ │ │ │ └── closing_loc: (5,11)-(5,12) = "]"
│ │ └── operator_loc: ∅
- │ ├── opening_loc: (31...32) = "["
- │ └── closing_loc: (43...44) = "]"
- ├── @ ArrayNode (location: (48...71))
+ │ ├── opening_loc: (5,0)-(5,1) = "["
+ │ └── closing_loc: (5,12)-(5,13) = "]"
+ ├── @ ArrayNode (location: (9,0)-(15,1))
│ ├── elements: (length: 5)
- │ │ ├── @ SymbolNode (location: (49...51))
- │ │ │ ├── opening_loc: (49...50) = ":"
- │ │ │ ├── value_loc: (50...51) = "a"
+ │ │ ├── @ SymbolNode (location: (9,1)-(9,3))
+ │ │ │ ├── opening_loc: (9,1)-(9,2) = ":"
+ │ │ │ ├── value_loc: (9,2)-(9,3) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ SymbolNode (location: (53...55))
- │ │ │ ├── opening_loc: (53...54) = ":"
- │ │ │ ├── value_loc: (54...55) = "b"
+ │ │ ├── @ SymbolNode (location: (9,5)-(9,7))
+ │ │ │ ├── opening_loc: (9,5)-(9,6) = ":"
+ │ │ │ ├── value_loc: (9,6)-(9,7) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ ├── @ SymbolNode (location: (57...59))
- │ │ │ ├── opening_loc: (57...58) = ":"
- │ │ │ ├── value_loc: (58...59) = "c"
+ │ │ ├── @ SymbolNode (location: (10,0)-(10,2))
+ │ │ │ ├── opening_loc: (10,0)-(10,1) = ":"
+ │ │ │ ├── value_loc: (10,1)-(10,2) = "c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "c"
- │ │ ├── @ IntegerNode (location: (60...61))
+ │ │ ├── @ IntegerNode (location: (10,3)-(10,4))
│ │ │ └── flags: decimal
- │ │ └── @ SymbolNode (location: (66...68))
- │ │ ├── opening_loc: (66...67) = ":"
- │ │ ├── value_loc: (67...68) = "d"
+ │ │ └── @ SymbolNode (location: (14,0)-(14,2))
+ │ │ ├── opening_loc: (14,0)-(14,1) = ":"
+ │ │ ├── value_loc: (14,1)-(14,2) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── opening_loc: (48...49) = "["
- │ └── closing_loc: (70...71) = "]"
- ├── @ ArrayNode (location: (74...98))
+ │ ├── opening_loc: (9,0)-(9,1) = "["
+ │ └── closing_loc: (15,0)-(15,1) = "]"
+ ├── @ ArrayNode (location: (18,0)-(26,1))
│ ├── elements: (length: 5)
- │ │ ├── @ SymbolNode (location: (75...77))
- │ │ │ ├── opening_loc: (75...76) = ":"
- │ │ │ ├── value_loc: (76...77) = "a"
+ │ │ ├── @ SymbolNode (location: (18,1)-(18,3))
+ │ │ │ ├── opening_loc: (18,1)-(18,2) = ":"
+ │ │ │ ├── value_loc: (18,2)-(18,3) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ SymbolNode (location: (79...81))
- │ │ │ ├── opening_loc: (79...80) = ":"
- │ │ │ ├── value_loc: (80...81) = "b"
+ │ │ ├── @ SymbolNode (location: (18,5)-(18,7))
+ │ │ │ ├── opening_loc: (18,5)-(18,6) = ":"
+ │ │ │ ├── value_loc: (18,6)-(18,7) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ ├── @ SymbolNode (location: (83...85))
- │ │ │ ├── opening_loc: (83...84) = ":"
- │ │ │ ├── value_loc: (84...85) = "c"
+ │ │ ├── @ SymbolNode (location: (19,0)-(19,2))
+ │ │ │ ├── opening_loc: (19,0)-(19,1) = ":"
+ │ │ │ ├── value_loc: (19,1)-(19,2) = "c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "c"
- │ │ ├── @ IntegerNode (location: (86...87))
+ │ │ ├── @ IntegerNode (location: (19,3)-(19,4))
│ │ │ └── flags: decimal
- │ │ └── @ SymbolNode (location: (92...94))
- │ │ ├── opening_loc: (92...93) = ":"
- │ │ ├── value_loc: (93...94) = "d"
+ │ │ └── @ SymbolNode (location: (23,0)-(23,2))
+ │ │ ├── opening_loc: (23,0)-(23,1) = ":"
+ │ │ ├── value_loc: (23,1)-(23,2) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── opening_loc: (74...75) = "["
- │ └── closing_loc: (97...98) = "]"
- ├── @ ArrayNode (location: (100...112))
+ │ ├── opening_loc: (18,0)-(18,1) = "["
+ │ └── closing_loc: (26,0)-(26,1) = "]"
+ ├── @ ArrayNode (location: (28,0)-(28,12))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (101...111))
+ │ │ └── @ KeywordHashNode (location: (28,1)-(28,11))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (101...111))
+ │ │ └── @ AssocNode (location: (28,1)-(28,11))
│ │ ├── key:
- │ │ │ @ CallNode (location: (101...104))
+ │ │ │ @ CallNode (location: (28,1)-(28,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (101...104) = "foo"
+ │ │ │ ├── message_loc: (28,1)-(28,4) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -170,27 +170,27 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (108...111))
+ │ │ │ @ CallNode (location: (28,8)-(28,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (108...111) = "bar"
+ │ │ │ ├── message_loc: (28,8)-(28,11) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (105...107) = "=>"
- │ ├── opening_loc: (100...101) = "["
- │ └── closing_loc: (111...112) = "]"
- ├── @ CallNode (location: (114...133))
+ │ │ └── operator_loc: (28,5)-(28,7) = "=>"
+ │ ├── opening_loc: (28,0)-(28,1) = "["
+ │ └── closing_loc: (28,11)-(28,12) = "]"
+ ├── @ CallNode (location: (30,0)-(30,19))
│ ├── receiver:
- │ │ @ CallNode (location: (114...122))
+ │ │ @ CallNode (location: (30,0)-(30,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (114...117))
+ │ │ │ @ CallNode (location: (30,0)-(30,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (114...117) = "foo"
+ │ │ │ ├── message_loc: (30,0)-(30,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -198,63 +198,63 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (117...122) = "[bar]"
- │ │ ├── opening_loc: (117...118) = "["
+ │ │ ├── message_loc: (30,3)-(30,8) = "[bar]"
+ │ │ ├── opening_loc: (30,3)-(30,4) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (118...121))
+ │ │ │ @ ArgumentsNode (location: (30,4)-(30,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (118...121))
+ │ │ │ └── @ CallNode (location: (30,4)-(30,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (118...121) = "bar"
+ │ │ │ ├── message_loc: (30,4)-(30,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (121...122) = "]"
+ │ │ ├── closing_loc: (30,7)-(30,8) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (122...127) = "[baz]"
- │ ├── opening_loc: (122...123) = "["
+ │ ├── message_loc: (30,8)-(30,13) = "[baz]"
+ │ ├── opening_loc: (30,8)-(30,9) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (123...133))
+ │ │ @ ArgumentsNode (location: (30,9)-(30,19))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (123...126))
+ │ │ ├── @ CallNode (location: (30,9)-(30,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (123...126) = "baz"
+ │ │ │ ├── message_loc: (30,9)-(30,12) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ CallNode (location: (130...133))
+ │ │ └── @ CallNode (location: (30,16)-(30,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (130...133) = "qux"
+ │ │ ├── message_loc: (30,16)-(30,19) = "qux"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "qux"
- │ ├── closing_loc: (126...127) = "]"
+ │ ├── closing_loc: (30,12)-(30,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (135...148))
+ ├── @ CallNode (location: (32,0)-(32,13))
│ ├── receiver:
- │ │ @ CallNode (location: (135...143))
+ │ │ @ CallNode (location: (32,0)-(32,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (135...138))
+ │ │ │ @ CallNode (location: (32,0)-(32,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (135...138) = "foo"
+ │ │ │ ├── message_loc: (32,0)-(32,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -262,55 +262,55 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (138...143) = "[bar]"
- │ │ ├── opening_loc: (138...139) = "["
+ │ │ ├── message_loc: (32,3)-(32,8) = "[bar]"
+ │ │ ├── opening_loc: (32,3)-(32,4) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (139...142))
+ │ │ │ @ ArgumentsNode (location: (32,4)-(32,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (139...142))
+ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (139...142) = "bar"
+ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (142...143) = "]"
+ │ │ ├── closing_loc: (32,7)-(32,8) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (143...148) = "[baz]"
- │ ├── opening_loc: (143...144) = "["
+ │ ├── message_loc: (32,8)-(32,13) = "[baz]"
+ │ ├── opening_loc: (32,8)-(32,9) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (144...147))
+ │ │ @ ArgumentsNode (location: (32,9)-(32,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (144...147))
+ │ │ └── @ CallNode (location: (32,9)-(32,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (144...147) = "baz"
+ │ │ ├── message_loc: (32,9)-(32,12) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── closing_loc: (147...148) = "]"
+ │ ├── closing_loc: (32,12)-(32,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ ArrayNode (location: (150...153))
+ ├── @ ArrayNode (location: (34,0)-(35,1))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (150...151) = "["
- │ └── closing_loc: (152...153) = "]"
- ├── @ CallNode (location: (155...168))
+ │ ├── opening_loc: (34,0)-(34,1) = "["
+ │ └── closing_loc: (35,0)-(35,1) = "]"
+ ├── @ CallNode (location: (37,0)-(37,13))
│ ├── receiver:
- │ │ @ CallNode (location: (155...158))
+ │ │ @ CallNode (location: (37,0)-(37,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (155...158) = "foo"
+ │ │ ├── message_loc: (37,0)-(37,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -318,41 +318,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (158...168) = "[bar, baz]"
- │ ├── opening_loc: (158...159) = "["
+ │ ├── message_loc: (37,3)-(37,13) = "[bar, baz]"
+ │ ├── opening_loc: (37,3)-(37,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (159...167))
+ │ │ @ ArgumentsNode (location: (37,4)-(37,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (159...162))
+ │ │ ├── @ CallNode (location: (37,4)-(37,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (159...162) = "bar"
+ │ │ │ ├── message_loc: (37,4)-(37,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ CallNode (location: (164...167))
+ │ │ └── @ CallNode (location: (37,9)-(37,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (164...167) = "baz"
+ │ │ ├── message_loc: (37,9)-(37,12) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── closing_loc: (167...168) = "]"
+ │ ├── closing_loc: (37,12)-(37,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (170...189))
+ ├── @ CallNode (location: (39,0)-(39,19))
│ ├── receiver:
- │ │ @ CallNode (location: (170...173))
+ │ │ @ CallNode (location: (39,0)-(39,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (170...173) = "foo"
+ │ │ ├── message_loc: (39,0)-(39,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -360,53 +360,53 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (173...183) = "[bar, baz]"
- │ ├── opening_loc: (173...174) = "["
+ │ ├── message_loc: (39,3)-(39,13) = "[bar, baz]"
+ │ ├── opening_loc: (39,3)-(39,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (174...189))
+ │ │ @ ArgumentsNode (location: (39,4)-(39,19))
│ │ └── arguments: (length: 3)
- │ │ ├── @ CallNode (location: (174...177))
+ │ │ ├── @ CallNode (location: (39,4)-(39,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (174...177) = "bar"
+ │ │ │ ├── message_loc: (39,4)-(39,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── @ CallNode (location: (179...182))
+ │ │ ├── @ CallNode (location: (39,9)-(39,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (179...182) = "baz"
+ │ │ │ ├── message_loc: (39,9)-(39,12) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ CallNode (location: (186...189))
+ │ │ └── @ CallNode (location: (39,16)-(39,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (186...189) = "qux"
+ │ │ ├── message_loc: (39,16)-(39,19) = "qux"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "qux"
- │ ├── closing_loc: (182...183) = "]"
+ │ ├── closing_loc: (39,12)-(39,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ MultiWriteNode (location: (191...212))
+ ├── @ MultiWriteNode (location: (41,0)-(41,21))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (191...197))
+ │ │ ├── @ CallNode (location: (41,0)-(41,6))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (191...194))
+ │ │ │ │ @ CallNode (location: (41,0)-(41,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (191...194) = "foo"
+ │ │ │ │ ├── message_loc: (41,0)-(41,3) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -414,23 +414,23 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (194...197) = "[0]"
- │ │ │ ├── opening_loc: (194...195) = "["
+ │ │ │ ├── message_loc: (41,3)-(41,6) = "[0]"
+ │ │ │ ├── opening_loc: (41,3)-(41,4) = "["
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (195...196))
+ │ │ │ │ @ ArgumentsNode (location: (41,4)-(41,5))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (195...196))
+ │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5))
│ │ │ │ └── flags: decimal
- │ │ │ ├── closing_loc: (196...197) = "]"
+ │ │ │ ├── closing_loc: (41,5)-(41,6) = "]"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "[]="
- │ │ └── @ CallNode (location: (199...205))
+ │ │ └── @ CallNode (location: (41,8)-(41,14))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (199...202))
+ │ │ │ @ CallNode (location: (41,8)-(41,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (199...202) = "bar"
+ │ │ │ ├── message_loc: (41,8)-(41,11) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -438,35 +438,35 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (202...205) = "[0]"
- │ │ ├── opening_loc: (202...203) = "["
+ │ │ ├── message_loc: (41,11)-(41,14) = "[0]"
+ │ │ ├── opening_loc: (41,11)-(41,12) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (203...204))
+ │ │ │ @ ArgumentsNode (location: (41,12)-(41,13))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (203...204))
+ │ │ │ └── @ IntegerNode (location: (41,12)-(41,13))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (204...205) = "]"
+ │ │ ├── closing_loc: (41,13)-(41,14) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]="
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (206...207) = "="
+ │ ├── operator_loc: (41,15)-(41,16) = "="
│ └── value:
- │ @ ArrayNode (location: (208...212))
+ │ @ ArrayNode (location: (41,17)-(41,21))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (208...209))
+ │ │ ├── @ IntegerNode (location: (41,17)-(41,18))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (211...212))
+ │ │ └── @ IntegerNode (location: (41,20)-(41,21))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ CallNode (location: (214...233))
+ ├── @ CallNode (location: (43,0)-(43,19))
│ ├── receiver:
- │ │ @ CallNode (location: (214...217))
+ │ │ @ CallNode (location: (43,0)-(43,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (214...217) = "foo"
+ │ │ ├── message_loc: (43,0)-(43,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -474,17 +474,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (217...233) = "[bar[baz] = qux]"
- │ ├── opening_loc: (217...218) = "["
+ │ ├── message_loc: (43,3)-(43,19) = "[bar[baz] = qux]"
+ │ ├── opening_loc: (43,3)-(43,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (218...232))
+ │ │ @ ArgumentsNode (location: (43,4)-(43,18))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (218...232))
+ │ │ └── @ CallNode (location: (43,4)-(43,18))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (218...221))
+ │ │ │ @ CallNode (location: (43,4)-(43,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (218...221) = "bar"
+ │ │ │ ├── message_loc: (43,4)-(43,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -492,45 +492,45 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (221...226) = "[baz]"
- │ │ ├── opening_loc: (221...222) = "["
+ │ │ ├── message_loc: (43,7)-(43,12) = "[baz]"
+ │ │ ├── opening_loc: (43,7)-(43,8) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (222...232))
+ │ │ │ @ ArgumentsNode (location: (43,8)-(43,18))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (222...225))
+ │ │ │ ├── @ CallNode (location: (43,8)-(43,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (222...225) = "baz"
+ │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
- │ │ │ └── @ CallNode (location: (229...232))
+ │ │ │ └── @ CallNode (location: (43,15)-(43,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (229...232) = "qux"
+ │ │ │ ├── message_loc: (43,15)-(43,18) = "qux"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "qux"
- │ │ ├── closing_loc: (225...226) = "]"
+ │ │ ├── closing_loc: (43,11)-(43,12) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]="
- │ ├── closing_loc: (232...233) = "]"
+ │ ├── closing_loc: (43,18)-(43,19) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (235...243))
+ ├── @ CallNode (location: (45,0)-(45,8))
│ ├── receiver:
- │ │ @ CallNode (location: (235...238))
+ │ │ @ CallNode (location: (45,0)-(45,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (235...238) = "foo"
+ │ │ ├── message_loc: (45,0)-(45,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -538,31 +538,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (238...243) = "[bar]"
- │ ├── opening_loc: (238...239) = "["
+ │ ├── message_loc: (45,3)-(45,8) = "[bar]"
+ │ ├── opening_loc: (45,3)-(45,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (239...242))
+ │ │ @ ArgumentsNode (location: (45,4)-(45,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (239...242))
+ │ │ └── @ CallNode (location: (45,4)-(45,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (239...242) = "bar"
+ │ │ ├── message_loc: (45,4)-(45,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (242...243) = "]"
+ │ ├── closing_loc: (45,7)-(45,8) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (245...259))
+ ├── @ CallNode (location: (47,0)-(47,14))
│ ├── receiver:
- │ │ @ CallNode (location: (245...248))
+ │ │ @ CallNode (location: (47,0)-(47,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (245...248) = "foo"
+ │ │ ├── message_loc: (47,0)-(47,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -570,139 +570,139 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (248...253) = "[bar]"
- │ ├── opening_loc: (248...249) = "["
+ │ ├── message_loc: (47,3)-(47,8) = "[bar]"
+ │ ├── opening_loc: (47,3)-(47,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (249...259))
+ │ │ @ ArgumentsNode (location: (47,4)-(47,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (249...252))
+ │ │ ├── @ CallNode (location: (47,4)-(47,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (249...252) = "bar"
+ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ CallNode (location: (256...259))
+ │ │ └── @ CallNode (location: (47,11)-(47,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (256...259) = "baz"
+ │ │ ├── message_loc: (47,11)-(47,14) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── closing_loc: (252...253) = "]"
+ │ ├── closing_loc: (47,7)-(47,8) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ ArrayNode (location: (261...267))
+ ├── @ ArrayNode (location: (49,0)-(49,6))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (262...266))
+ │ │ └── @ KeywordHashNode (location: (49,1)-(49,5))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (262...266))
+ │ │ └── @ AssocSplatNode (location: (49,1)-(49,5))
│ │ ├── value:
- │ │ │ @ HashNode (location: (264...266))
- │ │ │ ├── opening_loc: (264...265) = "{"
+ │ │ │ @ HashNode (location: (49,3)-(49,5))
+ │ │ │ ├── opening_loc: (49,3)-(49,4) = "{"
│ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (265...266) = "}"
- │ │ └── operator_loc: (262...264) = "**"
- │ ├── opening_loc: (261...262) = "["
- │ └── closing_loc: (266...267) = "]"
- ├── @ ArrayNode (location: (269...275))
+ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
+ │ │ └── operator_loc: (49,1)-(49,3) = "**"
+ │ ├── opening_loc: (49,0)-(49,1) = "["
+ │ └── closing_loc: (49,5)-(49,6) = "]"
+ ├── @ ArrayNode (location: (51,0)-(51,6))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (270...274))
+ │ │ └── @ KeywordHashNode (location: (51,1)-(51,5))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (270...274))
+ │ │ └── @ AssocSplatNode (location: (51,1)-(51,5))
│ │ ├── value:
- │ │ │ @ CallNode (location: (272...274))
+ │ │ │ @ CallNode (location: (51,3)-(51,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (272...274) = "kw"
+ │ │ │ ├── message_loc: (51,3)-(51,5) = "kw"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "kw"
- │ │ └── operator_loc: (270...272) = "**"
- │ ├── opening_loc: (269...270) = "["
- │ └── closing_loc: (274...275) = "]"
- ├── @ ArrayNode (location: (277...286))
+ │ │ └── operator_loc: (51,1)-(51,3) = "**"
+ │ ├── opening_loc: (51,0)-(51,1) = "["
+ │ └── closing_loc: (51,5)-(51,6) = "]"
+ ├── @ ArrayNode (location: (53,0)-(53,9))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (278...279))
+ │ │ ├── @ IntegerNode (location: (53,1)-(53,2))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (281...285))
+ │ │ └── @ KeywordHashNode (location: (53,4)-(53,8))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (281...285))
+ │ │ └── @ AssocSplatNode (location: (53,4)-(53,8))
│ │ ├── value:
- │ │ │ @ CallNode (location: (283...285))
+ │ │ │ @ CallNode (location: (53,6)-(53,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (283...285) = "kw"
+ │ │ │ ├── message_loc: (53,6)-(53,8) = "kw"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "kw"
- │ │ └── operator_loc: (281...283) = "**"
- │ ├── opening_loc: (277...278) = "["
- │ └── closing_loc: (285...286) = "]"
- ├── @ ArrayNode (location: (288...309))
+ │ │ └── operator_loc: (53,4)-(53,6) = "**"
+ │ ├── opening_loc: (53,0)-(53,1) = "["
+ │ └── closing_loc: (53,8)-(53,9) = "]"
+ ├── @ ArrayNode (location: (55,0)-(55,21))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (289...290))
+ │ │ ├── @ IntegerNode (location: (55,1)-(55,2))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (292...308))
+ │ │ └── @ KeywordHashNode (location: (55,4)-(55,20))
│ │ └── elements: (length: 3)
- │ │ ├── @ AssocSplatNode (location: (292...296))
+ │ │ ├── @ AssocSplatNode (location: (55,4)-(55,8))
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (294...296))
+ │ │ │ │ @ CallNode (location: (55,6)-(55,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (294...296) = "kw"
+ │ │ │ │ ├── message_loc: (55,6)-(55,8) = "kw"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "kw"
- │ │ │ └── operator_loc: (292...294) = "**"
- │ │ ├── @ AssocSplatNode (location: (298...302))
+ │ │ │ └── operator_loc: (55,4)-(55,6) = "**"
+ │ │ ├── @ AssocSplatNode (location: (55,10)-(55,14))
│ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (300...302))
- │ │ │ │ ├── opening_loc: (300...301) = "{"
+ │ │ │ │ @ HashNode (location: (55,12)-(55,14))
+ │ │ │ │ ├── opening_loc: (55,12)-(55,13) = "{"
│ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (301...302) = "}"
- │ │ │ └── operator_loc: (298...300) = "**"
- │ │ └── @ AssocSplatNode (location: (304...308))
+ │ │ │ │ └── closing_loc: (55,13)-(55,14) = "}"
+ │ │ │ └── operator_loc: (55,10)-(55,12) = "**"
+ │ │ └── @ AssocSplatNode (location: (55,16)-(55,20))
│ │ ├── value:
- │ │ │ @ CallNode (location: (306...308))
+ │ │ │ @ CallNode (location: (55,18)-(55,20))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (306...308) = "kw"
+ │ │ │ ├── message_loc: (55,18)-(55,20) = "kw"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "kw"
- │ │ └── operator_loc: (304...306) = "**"
- │ ├── opening_loc: (288...289) = "["
- │ └── closing_loc: (308...309) = "]"
- ├── @ ArrayNode (location: (311...328))
+ │ │ └── operator_loc: (55,16)-(55,18) = "**"
+ │ ├── opening_loc: (55,0)-(55,1) = "["
+ │ └── closing_loc: (55,20)-(55,21) = "]"
+ ├── @ ArrayNode (location: (57,0)-(59,1))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (315...325))
+ │ │ └── @ KeywordHashNode (location: (58,2)-(58,12))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (315...325))
+ │ │ └── @ AssocNode (location: (58,2)-(58,12))
│ │ ├── key:
- │ │ │ @ CallNode (location: (315...318))
+ │ │ │ @ CallNode (location: (58,2)-(58,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (315...318) = "foo"
+ │ │ │ ├── message_loc: (58,2)-(58,5) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -710,164 +710,164 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (322...325))
+ │ │ │ @ CallNode (location: (58,9)-(58,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (322...325) = "bar"
+ │ │ │ ├── message_loc: (58,9)-(58,12) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (319...321) = "=>"
- │ ├── opening_loc: (311...312) = "["
- │ └── closing_loc: (327...328) = "]"
- ├── @ ArrayNode (location: (331...348))
+ │ │ └── operator_loc: (58,6)-(58,8) = "=>"
+ │ ├── opening_loc: (57,0)-(57,1) = "["
+ │ └── closing_loc: (59,0)-(59,1) = "]"
+ ├── @ ArrayNode (location: (62,0)-(62,17))
│ ├── elements: (length: 3)
- │ │ ├── @ SymbolNode (location: (334...337))
+ │ │ ├── @ SymbolNode (location: (62,3)-(62,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (334...337) = "one"
+ │ │ │ ├── value_loc: (62,3)-(62,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ SymbolNode (location: (338...341))
+ │ │ ├── @ SymbolNode (location: (62,7)-(62,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (338...341) = "two"
+ │ │ │ ├── value_loc: (62,7)-(62,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ SymbolNode (location: (342...347))
+ │ │ └── @ SymbolNode (location: (62,11)-(62,16))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (342...347) = "three"
+ │ │ ├── value_loc: (62,11)-(62,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (331...334) = "%i#"
- │ └── closing_loc: (347...348) = "#"
- ├── @ ArrayNode (location: (350...367))
+ │ ├── opening_loc: (62,0)-(62,3) = "%i#"
+ │ └── closing_loc: (62,16)-(62,17) = "#"
+ ├── @ ArrayNode (location: (64,0)-(64,17))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (353...356))
+ │ │ ├── @ StringNode (location: (64,3)-(64,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (353...356) = "one"
+ │ │ │ ├── content_loc: (64,3)-(64,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ StringNode (location: (357...360))
+ │ │ ├── @ StringNode (location: (64,7)-(64,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (357...360) = "two"
+ │ │ │ ├── content_loc: (64,7)-(64,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ StringNode (location: (361...366))
+ │ │ └── @ StringNode (location: (64,11)-(64,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (361...366) = "three"
+ │ │ ├── content_loc: (64,11)-(64,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (350...353) = "%w#"
- │ └── closing_loc: (366...367) = "#"
- ├── @ XStringNode (location: (369...386))
- │ ├── opening_loc: (369...372) = "%x#"
- │ ├── content_loc: (372...385) = "one two three"
- │ ├── closing_loc: (385...386) = "#"
+ │ ├── opening_loc: (64,0)-(64,3) = "%w#"
+ │ └── closing_loc: (64,16)-(64,17) = "#"
+ ├── @ XStringNode (location: (66,0)-(66,17))
+ │ ├── opening_loc: (66,0)-(66,3) = "%x#"
+ │ ├── content_loc: (66,3)-(66,16) = "one two three"
+ │ ├── closing_loc: (66,16)-(66,17) = "#"
│ └── unescaped: "one two three"
- ├── @ ArrayNode (location: (389...406))
+ ├── @ ArrayNode (location: (69,0)-(69,17))
│ ├── elements: (length: 3)
- │ │ ├── @ SymbolNode (location: (392...395))
+ │ │ ├── @ SymbolNode (location: (69,3)-(69,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (392...395) = "one"
+ │ │ │ ├── value_loc: (69,3)-(69,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ SymbolNode (location: (396...399))
+ │ │ ├── @ SymbolNode (location: (69,7)-(69,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (396...399) = "two"
+ │ │ │ ├── value_loc: (69,7)-(69,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ SymbolNode (location: (400...405))
+ │ │ └── @ SymbolNode (location: (69,11)-(69,16))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (400...405) = "three"
+ │ │ ├── value_loc: (69,11)-(69,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (389...392) = "%i@"
- │ └── closing_loc: (405...406) = "@"
- ├── @ ArrayNode (location: (408...425))
+ │ ├── opening_loc: (69,0)-(69,3) = "%i@"
+ │ └── closing_loc: (69,16)-(69,17) = "@"
+ ├── @ ArrayNode (location: (71,0)-(71,17))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (411...414))
+ │ │ ├── @ StringNode (location: (71,3)-(71,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (411...414) = "one"
+ │ │ │ ├── content_loc: (71,3)-(71,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ StringNode (location: (415...418))
+ │ │ ├── @ StringNode (location: (71,7)-(71,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (415...418) = "two"
+ │ │ │ ├── content_loc: (71,7)-(71,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ StringNode (location: (419...424))
+ │ │ └── @ StringNode (location: (71,11)-(71,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (419...424) = "three"
+ │ │ ├── content_loc: (71,11)-(71,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (408...411) = "%w@"
- │ └── closing_loc: (424...425) = "@"
- ├── @ XStringNode (location: (427...444))
- │ ├── opening_loc: (427...430) = "%x@"
- │ ├── content_loc: (430...443) = "one two three"
- │ ├── closing_loc: (443...444) = "@"
+ │ ├── opening_loc: (71,0)-(71,3) = "%w@"
+ │ └── closing_loc: (71,16)-(71,17) = "@"
+ ├── @ XStringNode (location: (73,0)-(73,17))
+ │ ├── opening_loc: (73,0)-(73,3) = "%x@"
+ │ ├── content_loc: (73,3)-(73,16) = "one two three"
+ │ ├── closing_loc: (73,16)-(73,17) = "@"
│ └── unescaped: "one two three"
- ├── @ ArrayNode (location: (447...464))
+ ├── @ ArrayNode (location: (76,0)-(76,17))
│ ├── elements: (length: 3)
- │ │ ├── @ SymbolNode (location: (450...453))
+ │ │ ├── @ SymbolNode (location: (76,3)-(76,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (450...453) = "one"
+ │ │ │ ├── value_loc: (76,3)-(76,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ SymbolNode (location: (454...457))
+ │ │ ├── @ SymbolNode (location: (76,7)-(76,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (454...457) = "two"
+ │ │ │ ├── value_loc: (76,7)-(76,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ SymbolNode (location: (458...463))
+ │ │ └── @ SymbolNode (location: (76,11)-(76,16))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (458...463) = "three"
+ │ │ ├── value_loc: (76,11)-(76,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (447...450) = "%i{"
- │ └── closing_loc: (463...464) = "}"
- ├── @ ArrayNode (location: (466...483))
+ │ ├── opening_loc: (76,0)-(76,3) = "%i{"
+ │ └── closing_loc: (76,16)-(76,17) = "}"
+ ├── @ ArrayNode (location: (78,0)-(78,17))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (469...472))
+ │ │ ├── @ StringNode (location: (78,3)-(78,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (469...472) = "one"
+ │ │ │ ├── content_loc: (78,3)-(78,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
- │ │ ├── @ StringNode (location: (473...476))
+ │ │ ├── @ StringNode (location: (78,7)-(78,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (473...476) = "two"
+ │ │ │ ├── content_loc: (78,7)-(78,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
- │ │ └── @ StringNode (location: (477...482))
+ │ │ └── @ StringNode (location: (78,11)-(78,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (477...482) = "three"
+ │ │ ├── content_loc: (78,11)-(78,16) = "three"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "three"
- │ ├── opening_loc: (466...469) = "%w{"
- │ └── closing_loc: (482...483) = "}"
- ├── @ XStringNode (location: (485...502))
- │ ├── opening_loc: (485...488) = "%x{"
- │ ├── content_loc: (488...501) = "one two three"
- │ ├── closing_loc: (501...502) = "}"
+ │ ├── opening_loc: (78,0)-(78,3) = "%w{"
+ │ └── closing_loc: (78,16)-(78,17) = "}"
+ ├── @ XStringNode (location: (80,0)-(80,17))
+ │ ├── opening_loc: (80,0)-(80,3) = "%x{"
+ │ ├── content_loc: (80,3)-(80,16) = "one two three"
+ │ ├── closing_loc: (80,16)-(80,17) = "}"
│ └── unescaped: "one two three"
- └── @ ArrayNode (location: (504...511))
+ └── @ ArrayNode (location: (82,0)-(82,7))
├── elements: (length: 1)
- │ └── @ StringNode (location: (507...510))
+ │ └── @ StringNode (location: (82,3)-(82,6))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (507...510) = "\\C:"
+ │ ├── content_loc: (82,3)-(82,6) = "\\C:"
│ ├── closing_loc: ∅
│ └── unescaped: "\\C:"
- ├── opening_loc: (504...507) = "%w["
- └── closing_loc: (510...511) = "]"
+ ├── opening_loc: (82,0)-(82,3) = "%w["
+ └── closing_loc: (82,6)-(82,7) = "]"
diff --git a/test/yarp/snapshots/begin_ensure.txt b/test/yarp/snapshots/begin_ensure.txt
index 0c9f49ad55..42b97cd609 100644
--- a/test/yarp/snapshots/begin_ensure.txt
+++ b/test/yarp/snapshots/begin_ensure.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...211))
+@ ProgramNode (location: (1,0)-(21,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...211))
+ @ StatementsNode (location: (1,0)-(21,15))
└── body: (length: 5)
- ├── @ BeginNode (location: (0...20))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ ├── @ BeginNode (location: (1,0)-(5,3))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (6...7))
+ │ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (6...7))
+ │ │ └── @ CallNode (location: (2,0)-(2,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "a"
+ │ │ ├── message_loc: (2,0)-(2,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -21,32 +21,32 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (8...20))
- │ │ ├── ensure_keyword_loc: (8...14) = "ensure"
+ │ │ @ EnsureNode (location: (3,0)-(5,3))
+ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (15...16))
+ │ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (15...16))
+ │ │ │ └── @ CallNode (location: (4,0)-(4,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...16) = "b"
+ │ │ │ ├── message_loc: (4,0)-(4,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── end_keyword_loc: (17...20) = "end"
- │ └── end_keyword_loc: (17...20) = "end"
- ├── @ BeginNode (location: (22...46))
- │ ├── begin_keyword_loc: (22...27) = "begin"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ BeginNode (location: (7,0)-(7,24))
+ │ ├── begin_keyword_loc: (7,0)-(7,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (29...30))
+ │ │ @ StatementsNode (location: (7,7)-(7,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (29...30))
+ │ │ └── @ CallNode (location: (7,7)-(7,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (29...30) = "a"
+ │ │ ├── message_loc: (7,7)-(7,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -56,32 +56,32 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (32...46))
- │ │ ├── ensure_keyword_loc: (32...38) = "ensure"
+ │ │ @ EnsureNode (location: (7,10)-(7,24))
+ │ │ ├── ensure_keyword_loc: (7,10)-(7,16) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (40...41))
+ │ │ │ @ StatementsNode (location: (7,18)-(7,19))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (40...41))
+ │ │ │ └── @ CallNode (location: (7,18)-(7,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (40...41) = "b"
+ │ │ │ ├── message_loc: (7,18)-(7,19) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── end_keyword_loc: (43...46) = "end"
- │ └── end_keyword_loc: (43...46) = "end"
- ├── @ BeginNode (location: (48...70))
- │ ├── begin_keyword_loc: (48...53) = "begin"
+ │ │ └── end_keyword_loc: (7,21)-(7,24) = "end"
+ │ └── end_keyword_loc: (7,21)-(7,24) = "end"
+ ├── @ BeginNode (location: (9,0)-(11,4))
+ │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (54...55))
+ │ │ @ StatementsNode (location: (9,6)-(9,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (54...55))
+ │ │ └── @ CallNode (location: (9,6)-(9,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (54...55) = "a"
+ │ │ ├── message_loc: (9,6)-(9,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -91,32 +91,32 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (57...70))
- │ │ ├── ensure_keyword_loc: (57...63) = "ensure"
+ │ │ @ EnsureNode (location: (10,1)-(11,4))
+ │ │ ├── ensure_keyword_loc: (10,1)-(10,7) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (64...65))
+ │ │ │ @ StatementsNode (location: (10,8)-(10,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (64...65))
+ │ │ │ └── @ CallNode (location: (10,8)-(10,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (64...65) = "b"
+ │ │ │ ├── message_loc: (10,8)-(10,9) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── end_keyword_loc: (67...70) = "end"
- │ └── end_keyword_loc: (67...70) = "end"
- ├── @ BeginNode (location: (72...94))
- │ ├── begin_keyword_loc: (72...77) = "begin"
+ │ │ └── end_keyword_loc: (11,1)-(11,4) = "end"
+ │ └── end_keyword_loc: (11,1)-(11,4) = "end"
+ ├── @ BeginNode (location: (13,0)-(13,22))
+ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (78...79))
+ │ │ @ StatementsNode (location: (13,6)-(13,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (78...79))
+ │ │ └── @ CallNode (location: (13,6)-(13,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (78...79) = "a"
+ │ │ ├── message_loc: (13,6)-(13,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -126,115 +126,115 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (81...94))
- │ │ ├── ensure_keyword_loc: (81...87) = "ensure"
+ │ │ @ EnsureNode (location: (13,9)-(13,22))
+ │ │ ├── ensure_keyword_loc: (13,9)-(13,15) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (88...89))
+ │ │ │ @ StatementsNode (location: (13,16)-(13,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (88...89))
+ │ │ │ └── @ CallNode (location: (13,16)-(13,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (88...89) = "b"
+ │ │ │ ├── message_loc: (13,16)-(13,17) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── end_keyword_loc: (91...94) = "end"
- │ └── end_keyword_loc: (91...94) = "end"
- └── @ BeginNode (location: (96...211))
- ├── begin_keyword_loc: (96...101) = "begin"
+ │ │ └── end_keyword_loc: (13,19)-(13,22) = "end"
+ │ └── end_keyword_loc: (13,19)-(13,22) = "end"
+ └── @ BeginNode (location: (15,0)-(21,15))
+ ├── begin_keyword_loc: (15,0)-(15,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (102...207))
+ │ @ StatementsNode (location: (15,6)-(21,11))
│ └── body: (length: 1)
- │ └── @ BeginNode (location: (102...207))
- │ ├── begin_keyword_loc: (102...107) = "begin"
+ │ └── @ BeginNode (location: (15,6)-(21,11))
+ │ ├── begin_keyword_loc: (15,6)-(15,11) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (107...203))
+ │ │ @ StatementsNode (location: (15,11)-(21,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (107...203))
+ │ │ └── @ CallNode (location: (15,11)-(21,7))
│ │ ├── receiver:
- │ │ │ @ SymbolNode (location: (107...109))
- │ │ │ ├── opening_loc: (107...108) = ":"
- │ │ │ ├── value_loc: (108...109) = "s"
+ │ │ │ @ SymbolNode (location: (15,11)-(15,13))
+ │ │ │ ├── opening_loc: (15,11)-(15,12) = ":"
+ │ │ │ ├── value_loc: (15,12)-(15,13) = "s"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "s"
- │ │ ├── call_operator_loc: (109...110) = "."
- │ │ ├── message_loc: (110...111) = "l"
+ │ │ ├── call_operator_loc: (15,13)-(15,14) = "."
+ │ │ ├── message_loc: (15,14)-(15,15) = "l"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (112...203))
+ │ │ │ @ ArgumentsNode (location: (15,16)-(21,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ BeginNode (location: (112...203))
- │ │ │ ├── begin_keyword_loc: (112...117) = "begin"
+ │ │ │ └── @ BeginNode (location: (15,16)-(21,7))
+ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin"
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (118...203))
- │ │ │ │ ├── ensure_keyword_loc: (118...124) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (15,22)-(21,7))
+ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (125...199))
+ │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (125...199))
+ │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3))
│ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ ConstantReadNode (location: (125...131))
+ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35))
│ │ │ │ │ │ └── name: :Module
- │ │ │ │ │ ├── call_operator_loc: (131...132) = "."
- │ │ │ │ │ ├── message_loc: (132...135) = "new"
+ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "."
+ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (136...199))
+ │ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body:
- │ │ │ │ │ │ │ @ StatementsNode (location: (141...195))
+ │ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
│ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ BeginNode (location: (141...195))
- │ │ │ │ │ │ │ ├── begin_keyword_loc: (141...146) = "begin"
+ │ │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5))
+ │ │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin"
│ │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ │ @ StatementsNode (location: (151...156))
+ │ │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ │ └── @ BreakNode (location: (151...156))
+ │ │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ │ │ └── keyword_loc: (151...156) = "break"
+ │ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break"
│ │ │ │ │ │ │ ├── rescue_clause: ∅
│ │ │ │ │ │ │ ├── else_clause: ∅
│ │ │ │ │ │ │ ├── ensure_clause:
- │ │ │ │ │ │ │ │ @ EnsureNode (location: (161...195))
- │ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (161...167) = "ensure"
+ │ │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5))
+ │ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure"
│ │ │ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (168...189))
+ │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ │ │ └── @ CallNode (location: (168...189))
+ │ │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (168...174))
+ │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17))
│ │ │ │ │ │ │ │ │ │ └── name: :Module
- │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (174...175) = "."
- │ │ │ │ │ │ │ │ │ ├── message_loc: (175...178) = "new"
+ │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "."
+ │ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new"
│ │ │ │ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ │ │ │ ├── block:
- │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (179...189))
+ │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
│ │ │ │ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (179...181) = "do"
- │ │ │ │ │ │ │ │ │ │ └── closing_loc: (186...189) = "end"
+ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"
+ │ │ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end"
│ │ │ │ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ │ │ │ └── name: "new"
- │ │ │ │ │ │ │ │ └── end_keyword_loc: (192...195) = "end"
- │ │ │ │ │ │ │ └── end_keyword_loc: (192...195) = "end"
- │ │ │ │ │ │ ├── opening_loc: (136...138) = "do"
- │ │ │ │ │ │ └── closing_loc: (196...199) = "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"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "new"
- │ │ │ │ └── end_keyword_loc: (200...203) = "end"
- │ │ │ └── end_keyword_loc: (200...203) = "end"
+ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
+ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
@@ -242,8 +242,8 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (204...207) = "end"
+ │ └── end_keyword_loc: (21,8)-(21,11) = "end"
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (208...211) = "end"
+ └── end_keyword_loc: (21,12)-(21,15) = "end"
diff --git a/test/yarp/snapshots/begin_rescue.txt b/test/yarp/snapshots/begin_rescue.txt
index 2958b890c8..3812134fd1 100644
--- a/test/yarp/snapshots/begin_rescue.txt
+++ b/test/yarp/snapshots/begin_rescue.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...578))
+@ ProgramNode (location: (1,0)-(78,3))
├── locals: [:ex]
└── statements:
- @ StatementsNode (location: (0...578))
+ @ StatementsNode (location: (1,0)-(78,3))
└── body: (length: 17)
- ├── @ BeginNode (location: (0...33))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ ├── @ BeginNode (location: (1,0)-(1,33))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (7...8))
+ │ │ @ StatementsNode (location: (1,7)-(1,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (7...8))
+ │ │ └── @ CallNode (location: (1,7)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...8) = "a"
+ │ │ ├── message_loc: (1,7)-(1,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (10...19))
- │ │ ├── keyword_loc: (10...16) = "rescue"
+ │ │ @ RescueNode (location: (1,10)-(1,19))
+ │ │ ├── keyword_loc: (1,10)-(1,16) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (18...19))
+ │ │ │ @ StatementsNode (location: (1,18)-(1,19))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (18...19))
+ │ │ │ └── @ CallNode (location: (1,18)-(1,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (18...19) = "b"
+ │ │ │ ├── message_loc: (1,18)-(1,19) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -39,33 +39,33 @@
│ │ │ └── name: "b"
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (21...33))
- │ │ ├── else_keyword_loc: (21...25) = "else"
+ │ │ @ ElseNode (location: (1,21)-(1,33))
+ │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (27...28))
+ │ │ │ @ StatementsNode (location: (1,27)-(1,28))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (27...28))
+ │ │ │ └── @ CallNode (location: (1,27)-(1,28))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (27...28) = "c"
+ │ │ │ ├── message_loc: (1,27)-(1,28) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── end_keyword_loc: (30...33) = "end"
+ │ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (30...33) = "end"
- ├── @ BeginNode (location: (35...79))
- │ ├── begin_keyword_loc: (35...40) = "begin"
+ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
+ ├── @ BeginNode (location: (3,0)-(3,44))
+ │ ├── begin_keyword_loc: (3,0)-(3,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (42...43))
+ │ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (42...43))
+ │ │ └── @ CallNode (location: (3,7)-(3,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...43) = "a"
+ │ │ ├── message_loc: (3,7)-(3,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -73,18 +73,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (45...54))
- │ │ ├── keyword_loc: (45...51) = "rescue"
+ │ │ @ RescueNode (location: (3,10)-(3,19))
+ │ │ ├── keyword_loc: (3,10)-(3,16) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (53...54))
+ │ │ │ @ StatementsNode (location: (3,18)-(3,19))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (53...54))
+ │ │ │ └── @ CallNode (location: (3,18)-(3,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (53...54) = "b"
+ │ │ │ ├── message_loc: (3,18)-(3,19) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -93,49 +93,49 @@
│ │ │ └── name: "b"
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (56...71))
- │ │ ├── else_keyword_loc: (56...60) = "else"
+ │ │ @ ElseNode (location: (3,21)-(3,36))
+ │ │ ├── else_keyword_loc: (3,21)-(3,25) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (62...63))
+ │ │ │ @ StatementsNode (location: (3,27)-(3,28))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (62...63))
+ │ │ │ └── @ CallNode (location: (3,27)-(3,28))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (62...63) = "c"
+ │ │ │ ├── message_loc: (3,27)-(3,28) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── end_keyword_loc: (65...71) = "ensure"
+ │ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure"
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (65...79))
- │ │ ├── ensure_keyword_loc: (65...71) = "ensure"
+ │ │ @ EnsureNode (location: (3,30)-(3,44))
+ │ │ ├── ensure_keyword_loc: (3,30)-(3,36) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (73...74))
+ │ │ │ @ StatementsNode (location: (3,38)-(3,39))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (73...74))
+ │ │ │ └── @ CallNode (location: (3,38)-(3,39))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (73...74) = "d"
+ │ │ │ ├── message_loc: (3,38)-(3,39) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ └── end_keyword_loc: (76...79) = "end"
- │ └── end_keyword_loc: (76...79) = "end"
- ├── @ BeginNode (location: (81...92))
- │ ├── begin_keyword_loc: (81...86) = "begin"
+ │ │ └── end_keyword_loc: (3,41)-(3,44) = "end"
+ │ └── end_keyword_loc: (3,41)-(3,44) = "end"
+ ├── @ BeginNode (location: (5,0)-(7,3))
+ │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (87...88))
+ │ │ @ StatementsNode (location: (6,0)-(6,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (87...88))
+ │ │ └── @ CallNode (location: (6,0)-(6,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (87...88) = "a"
+ │ │ ├── message_loc: (6,0)-(6,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -145,16 +145,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (89...92) = "end"
- ├── @ BeginNode (location: (94...107))
- │ ├── begin_keyword_loc: (94...99) = "begin"
+ │ └── end_keyword_loc: (7,0)-(7,3) = "end"
+ ├── @ BeginNode (location: (9,0)-(9,13))
+ │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (101...102))
+ │ │ @ StatementsNode (location: (9,7)-(9,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (101...102))
+ │ │ └── @ CallNode (location: (9,7)-(9,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (101...102) = "a"
+ │ │ ├── message_loc: (9,7)-(9,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -164,16 +164,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (104...107) = "end"
- ├── @ BeginNode (location: (109...121))
- │ ├── begin_keyword_loc: (109...114) = "begin"
+ │ └── end_keyword_loc: (9,10)-(9,13) = "end"
+ ├── @ BeginNode (location: (11,0)-(12,4))
+ │ ├── begin_keyword_loc: (11,0)-(11,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (115...116))
+ │ │ @ StatementsNode (location: (11,6)-(11,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (115...116))
+ │ │ └── @ CallNode (location: (11,6)-(11,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (115...116) = "a"
+ │ │ ├── message_loc: (11,6)-(11,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -183,16 +183,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (118...121) = "end"
- ├── @ BeginNode (location: (123...135))
- │ ├── begin_keyword_loc: (123...128) = "begin"
+ │ └── end_keyword_loc: (12,1)-(12,4) = "end"
+ ├── @ BeginNode (location: (14,0)-(14,12))
+ │ ├── begin_keyword_loc: (14,0)-(14,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (129...130))
+ │ │ @ StatementsNode (location: (14,6)-(14,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (129...130))
+ │ │ └── @ CallNode (location: (14,6)-(14,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (129...130) = "a"
+ │ │ ├── message_loc: (14,6)-(14,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -202,16 +202,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (132...135) = "end"
- ├── @ BeginNode (location: (137...175))
- │ ├── begin_keyword_loc: (137...142) = "begin"
+ │ └── end_keyword_loc: (14,9)-(14,12) = "end"
+ ├── @ BeginNode (location: (16,0)-(24,3))
+ │ ├── begin_keyword_loc: (16,0)-(16,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (143...144))
+ │ │ @ StatementsNode (location: (17,0)-(17,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (143...144))
+ │ │ └── @ CallNode (location: (17,0)-(17,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (143...144) = "a"
+ │ │ ├── message_loc: (17,0)-(17,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -219,18 +219,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (145...171))
- │ │ ├── keyword_loc: (145...151) = "rescue"
+ │ │ @ RescueNode (location: (18,0)-(23,1))
+ │ │ ├── keyword_loc: (18,0)-(18,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (152...153))
+ │ │ │ @ StatementsNode (location: (19,0)-(19,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (152...153))
+ │ │ │ └── @ CallNode (location: (19,0)-(19,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (152...153) = "b"
+ │ │ │ ├── message_loc: (19,0)-(19,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -238,18 +238,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ └── consequent:
- │ │ @ RescueNode (location: (154...171))
- │ │ ├── keyword_loc: (154...160) = "rescue"
+ │ │ @ RescueNode (location: (20,0)-(23,1))
+ │ │ ├── keyword_loc: (20,0)-(20,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (161...162))
+ │ │ │ @ StatementsNode (location: (21,0)-(21,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (161...162))
+ │ │ │ └── @ CallNode (location: (21,0)-(21,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (161...162) = "c"
+ │ │ │ ├── message_loc: (21,0)-(21,1) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -257,18 +257,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
│ │ └── consequent:
- │ │ @ RescueNode (location: (163...171))
- │ │ ├── keyword_loc: (163...169) = "rescue"
+ │ │ @ RescueNode (location: (22,0)-(23,1))
+ │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (170...171))
+ │ │ │ @ StatementsNode (location: (23,0)-(23,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (170...171))
+ │ │ │ └── @ CallNode (location: (23,0)-(23,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (170...171) = "d"
+ │ │ │ ├── message_loc: (23,0)-(23,1) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -278,16 +278,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (172...175) = "end"
- ├── @ BeginNode (location: (177...269))
- │ ├── begin_keyword_loc: (177...182) = "begin"
+ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ ├── @ BeginNode (location: (26,0)-(32,3))
+ │ ├── begin_keyword_loc: (26,0)-(26,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (185...186))
+ │ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (185...186))
+ │ │ └── @ CallNode (location: (27,2)-(27,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (185...186) = "a"
+ │ │ ├── message_loc: (27,2)-(27,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -295,23 +295,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (187...265))
- │ │ ├── keyword_loc: (187...193) = "rescue"
+ │ │ @ RescueNode (location: (28,0)-(31,3))
+ │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (194...203))
+ │ │ │ └── @ ConstantReadNode (location: (28,7)-(28,16))
│ │ │ └── name: :Exception
- │ │ ├── operator_loc: (204...206) = "=>"
+ │ │ ├── operator_loc: (28,17)-(28,19) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (207...209))
+ │ │ │ @ LocalVariableTargetNode (location: (28,20)-(28,22))
│ │ │ ├── name: :ex
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (212...213))
+ │ │ │ @ StatementsNode (location: (29,2)-(29,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (212...213))
+ │ │ │ └── @ CallNode (location: (29,2)-(29,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (212...213) = "b"
+ │ │ │ ├── message_loc: (29,2)-(29,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -319,25 +319,25 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ └── consequent:
- │ │ @ RescueNode (location: (214...265))
- │ │ ├── keyword_loc: (214...220) = "rescue"
+ │ │ @ RescueNode (location: (30,0)-(31,3))
+ │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"
│ │ ├── exceptions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (221...237))
+ │ │ │ ├── @ ConstantReadNode (location: (30,7)-(30,23))
│ │ │ │ └── name: :AnotherException
- │ │ │ └── @ ConstantReadNode (location: (239...255))
+ │ │ │ └── @ ConstantReadNode (location: (30,25)-(30,41))
│ │ │ └── name: :OneMoreException
- │ │ ├── operator_loc: (256...258) = "=>"
+ │ │ ├── operator_loc: (30,42)-(30,44) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (259...261))
+ │ │ │ @ LocalVariableTargetNode (location: (30,45)-(30,47))
│ │ │ ├── name: :ex
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (264...265))
+ │ │ │ @ StatementsNode (location: (31,2)-(31,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (264...265))
+ │ │ │ └── @ CallNode (location: (31,2)-(31,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (264...265) = "c"
+ │ │ │ ├── message_loc: (31,2)-(31,3) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -347,16 +347,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (266...269) = "end"
- ├── @ BeginNode (location: (271...322))
- │ ├── begin_keyword_loc: (271...276) = "begin"
+ │ └── end_keyword_loc: (32,0)-(32,3) = "end"
+ ├── @ BeginNode (location: (34,0)-(40,3))
+ │ ├── begin_keyword_loc: (34,0)-(34,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (279...280))
+ │ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (279...280))
+ │ │ └── @ CallNode (location: (35,2)-(35,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (279...280) = "a"
+ │ │ ├── message_loc: (35,2)-(35,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -364,23 +364,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (281...307))
- │ │ ├── keyword_loc: (281...287) = "rescue"
+ │ │ @ RescueNode (location: (36,0)-(37,3))
+ │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (288...297))
+ │ │ │ └── @ ConstantReadNode (location: (36,7)-(36,16))
│ │ │ └── name: :Exception
- │ │ ├── operator_loc: (298...300) = "=>"
+ │ │ ├── operator_loc: (36,17)-(36,19) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (301...303))
+ │ │ │ @ LocalVariableTargetNode (location: (36,20)-(36,22))
│ │ │ ├── name: :ex
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (306...307))
+ │ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (306...307))
+ │ │ │ └── @ CallNode (location: (37,2)-(37,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (306...307) = "b"
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -390,38 +390,38 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (308...322))
- │ │ ├── ensure_keyword_loc: (308...314) = "ensure"
+ │ │ @ EnsureNode (location: (38,0)-(40,3))
+ │ │ ├── ensure_keyword_loc: (38,0)-(38,6) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (317...318))
+ │ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (317...318))
+ │ │ │ └── @ CallNode (location: (39,2)-(39,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (317...318) = "b"
+ │ │ │ ├── message_loc: (39,2)-(39,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── end_keyword_loc: (319...322) = "end"
- │ └── end_keyword_loc: (319...322) = "end"
- ├── @ StringNode (location: (324...330))
+ │ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
+ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
+ ├── @ StringNode (location: (42,0)-(42,6))
│ ├── flags: ∅
- │ ├── opening_loc: (324...326) = "%!"
- │ ├── content_loc: (326...329) = "abc"
- │ ├── closing_loc: (329...330) = "!"
+ │ ├── opening_loc: (42,0)-(42,2) = "%!"
+ │ ├── content_loc: (42,2)-(42,5) = "abc"
+ │ ├── closing_loc: (42,5)-(42,6) = "!"
│ └── unescaped: "abc"
- ├── @ BeginNode (location: (332...352))
- │ ├── begin_keyword_loc: (332...337) = "begin"
+ ├── @ BeginNode (location: (44,0)-(48,3))
+ │ ├── begin_keyword_loc: (44,0)-(44,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (338...339))
+ │ │ @ StatementsNode (location: (45,0)-(45,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (338...339))
+ │ │ └── @ CallNode (location: (45,0)-(45,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (338...339) = "a"
+ │ │ ├── message_loc: (45,0)-(45,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -429,18 +429,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (340...348))
- │ │ ├── keyword_loc: (340...346) = "rescue"
+ │ │ @ RescueNode (location: (46,0)-(47,1))
+ │ │ ├── keyword_loc: (46,0)-(46,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (347...348))
+ │ │ │ @ StatementsNode (location: (47,0)-(47,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (347...348))
+ │ │ │ └── @ CallNode (location: (47,0)-(47,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (347...348) = "b"
+ │ │ │ ├── message_loc: (47,0)-(47,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -450,16 +450,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (349...352) = "end"
- ├── @ BeginNode (location: (354...374))
- │ ├── begin_keyword_loc: (354...359) = "begin"
+ │ └── end_keyword_loc: (48,0)-(48,3) = "end"
+ ├── @ BeginNode (location: (50,0)-(50,20))
+ │ ├── begin_keyword_loc: (50,0)-(50,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (360...361))
+ │ │ @ StatementsNode (location: (50,6)-(50,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (360...361))
+ │ │ └── @ CallNode (location: (50,6)-(50,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (360...361) = "a"
+ │ │ ├── message_loc: (50,6)-(50,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -467,18 +467,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (362...370))
- │ │ ├── keyword_loc: (362...368) = "rescue"
+ │ │ @ RescueNode (location: (50,8)-(50,16))
+ │ │ ├── keyword_loc: (50,8)-(50,14) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (369...370))
+ │ │ │ @ StatementsNode (location: (50,15)-(50,16))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (369...370))
+ │ │ │ └── @ CallNode (location: (50,15)-(50,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (369...370) = "b"
+ │ │ │ ├── message_loc: (50,15)-(50,16) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -488,16 +488,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (371...374) = "end"
- ├── @ BeginNode (location: (376...396))
- │ ├── begin_keyword_loc: (376...381) = "begin"
+ │ └── end_keyword_loc: (50,17)-(50,20) = "end"
+ ├── @ BeginNode (location: (52,0)-(54,5))
+ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (382...383))
+ │ │ @ StatementsNode (location: (53,0)-(53,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (382...383))
+ │ │ └── @ CallNode (location: (53,0)-(53,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (382...383) = "a"
+ │ │ ├── message_loc: (53,0)-(53,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -505,18 +505,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (384...392))
- │ │ ├── keyword_loc: (384...390) = "rescue"
+ │ │ @ RescueNode (location: (53,2)-(54,1))
+ │ │ ├── keyword_loc: (53,2)-(53,8) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (391...392))
+ │ │ │ @ StatementsNode (location: (54,0)-(54,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (391...392))
+ │ │ │ └── @ CallNode (location: (54,0)-(54,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (391...392) = "b"
+ │ │ │ ├── message_loc: (54,0)-(54,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -526,16 +526,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (393...396) = "end"
- ├── @ BeginNode (location: (398...428))
- │ ├── begin_keyword_loc: (398...403) = "begin"
+ │ └── end_keyword_loc: (54,2)-(54,5) = "end"
+ ├── @ BeginNode (location: (56,0)-(60,3))
+ │ ├── begin_keyword_loc: (56,0)-(56,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (404...405))
+ │ │ @ StatementsNode (location: (57,0)-(57,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (404...405))
+ │ │ └── @ CallNode (location: (57,0)-(57,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (404...405) = "a"
+ │ │ ├── message_loc: (57,0)-(57,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -543,20 +543,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (406...424))
- │ │ ├── keyword_loc: (406...412) = "rescue"
+ │ │ @ RescueNode (location: (58,0)-(59,1))
+ │ │ ├── keyword_loc: (58,0)-(58,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (413...422))
+ │ │ │ └── @ ConstantReadNode (location: (58,7)-(58,16))
│ │ │ └── name: :Exception
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (423...424))
+ │ │ │ @ StatementsNode (location: (59,0)-(59,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (423...424))
+ │ │ │ └── @ CallNode (location: (59,0)-(59,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (423...424) = "b"
+ │ │ │ ├── message_loc: (59,0)-(59,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -566,16 +566,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (425...428) = "end"
- ├── @ BeginNode (location: (430...477))
- │ ├── begin_keyword_loc: (430...435) = "begin"
+ │ └── end_keyword_loc: (60,0)-(60,3) = "end"
+ ├── @ BeginNode (location: (62,0)-(66,3))
+ │ ├── begin_keyword_loc: (62,0)-(62,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (436...437))
+ │ │ @ StatementsNode (location: (63,0)-(63,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (436...437))
+ │ │ └── @ CallNode (location: (63,0)-(63,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (436...437) = "a"
+ │ │ ├── message_loc: (63,0)-(63,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -583,22 +583,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (438...473))
- │ │ ├── keyword_loc: (438...444) = "rescue"
+ │ │ @ RescueNode (location: (64,0)-(65,1))
+ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
│ │ ├── exceptions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (445...454))
+ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
│ │ │ │ └── name: :Exception
- │ │ │ └── @ ConstantReadNode (location: (456...471))
+ │ │ │ └── @ ConstantReadNode (location: (64,18)-(64,33))
│ │ │ └── name: :CustomException
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (472...473))
+ │ │ │ @ StatementsNode (location: (65,0)-(65,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (472...473))
+ │ │ │ └── @ CallNode (location: (65,0)-(65,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (472...473) = "b"
+ │ │ │ ├── message_loc: (65,0)-(65,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -608,16 +608,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (474...477) = "end"
- ├── @ BeginNode (location: (479...536))
- │ ├── begin_keyword_loc: (479...484) = "begin"
+ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ ├── @ BeginNode (location: (68,0)-(72,3))
+ │ ├── begin_keyword_loc: (68,0)-(68,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (487...488))
+ │ │ @ StatementsNode (location: (69,2)-(69,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (487...488))
+ │ │ └── @ CallNode (location: (69,2)-(69,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (487...488) = "a"
+ │ │ ├── message_loc: (69,2)-(69,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -625,25 +625,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (489...532))
- │ │ ├── keyword_loc: (489...495) = "rescue"
+ │ │ @ RescueNode (location: (70,0)-(71,3))
+ │ │ ├── keyword_loc: (70,0)-(70,6) = "rescue"
│ │ ├── exceptions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (496...505))
+ │ │ │ ├── @ ConstantReadNode (location: (70,7)-(70,16))
│ │ │ │ └── name: :Exception
- │ │ │ └── @ ConstantReadNode (location: (507...522))
+ │ │ │ └── @ ConstantReadNode (location: (70,18)-(70,33))
│ │ │ └── name: :CustomException
- │ │ ├── operator_loc: (523...525) = "=>"
+ │ │ ├── operator_loc: (70,34)-(70,36) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (526...528))
+ │ │ │ @ LocalVariableTargetNode (location: (70,37)-(70,39))
│ │ │ ├── name: :ex
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (531...532))
+ │ │ │ @ StatementsNode (location: (71,2)-(71,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (531...532))
+ │ │ │ └── @ CallNode (location: (71,2)-(71,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (531...532) = "b"
+ │ │ │ ├── message_loc: (71,2)-(71,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -653,16 +653,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (533...536) = "end"
- └── @ BeginNode (location: (538...578))
- ├── begin_keyword_loc: (538...543) = "begin"
+ │ └── end_keyword_loc: (72,0)-(72,3) = "end"
+ └── @ BeginNode (location: (74,0)-(78,3))
+ ├── begin_keyword_loc: (74,0)-(74,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (546...547))
+ │ @ StatementsNode (location: (75,2)-(75,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (546...547))
+ │ └── @ CallNode (location: (75,2)-(75,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (546...547) = "a"
+ │ ├── message_loc: (75,2)-(75,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -670,23 +670,23 @@
│ ├── flags: variable_call
│ └── name: "a"
├── rescue_clause:
- │ @ RescueNode (location: (548...574))
- │ ├── keyword_loc: (548...554) = "rescue"
+ │ @ RescueNode (location: (76,0)-(77,3))
+ │ ├── keyword_loc: (76,0)-(76,6) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ ConstantReadNode (location: (555...564))
+ │ │ └── @ ConstantReadNode (location: (76,7)-(76,16))
│ │ └── name: :Exception
- │ ├── operator_loc: (565...567) = "=>"
+ │ ├── operator_loc: (76,17)-(76,19) = "=>"
│ ├── reference:
- │ │ @ LocalVariableTargetNode (location: (568...570))
+ │ │ @ LocalVariableTargetNode (location: (76,20)-(76,22))
│ │ ├── name: :ex
│ │ └── depth: 0
│ ├── statements:
- │ │ @ StatementsNode (location: (573...574))
+ │ │ @ StatementsNode (location: (77,2)-(77,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (573...574))
+ │ │ └── @ CallNode (location: (77,2)-(77,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (573...574) = "b"
+ │ │ ├── message_loc: (77,2)-(77,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -696,4 +696,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (575...578) = "end"
+ └── end_keyword_loc: (78,0)-(78,3) = "end"
diff --git a/test/yarp/snapshots/blocks.txt b/test/yarp/snapshots/blocks.txt
index 2115dc05d7..9a6fbbb925 100644
--- a/test/yarp/snapshots/blocks.txt
+++ b/test/yarp/snapshots/blocks.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...402))
+@ ProgramNode (location: (1,0)-(54,17))
├── locals: [:fork]
└── statements:
- @ StatementsNode (location: (0...402))
+ @ StatementsNode (location: (1,0)-(54,17))
└── body: (length: 20)
- ├── @ CallNode (location: (0...16))
+ ├── @ CallNode (location: (1,0)-(1,16))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,49 +16,49 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...8) = "[bar]"
- │ ├── opening_loc: (3...4) = "["
+ │ ├── message_loc: (1,3)-(1,8) = "[bar]"
+ │ ├── opening_loc: (1,3)-(1,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...7))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...7))
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...7) = "bar"
+ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (7...8) = "]"
+ │ ├── closing_loc: (1,7)-(1,8) = "]"
│ ├── block:
- │ │ @ BlockNode (location: (9...16))
+ │ │ @ BlockNode (location: (1,9)-(1,16))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...14))
+ │ │ │ @ StatementsNode (location: (1,11)-(1,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (11...14))
+ │ │ │ └── @ CallNode (location: (1,11)-(1,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...14) = "baz"
+ │ │ │ ├── message_loc: (1,11)-(1,14) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (9...10) = "{"
- │ │ └── closing_loc: (15...16) = "}"
+ │ │ ├── opening_loc: (1,9)-(1,10) = "{"
+ │ │ └── closing_loc: (1,15)-(1,16) = "}"
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (18...37))
+ ├── @ CallNode (location: (3,0)-(5,3))
│ ├── receiver:
- │ │ @ CallNode (location: (18...21))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (18...21) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -66,75 +66,75 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...26) = "[bar]"
- │ ├── opening_loc: (21...22) = "["
+ │ ├── message_loc: (3,3)-(3,8) = "[bar]"
+ │ ├── opening_loc: (3,3)-(3,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (22...25))
+ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (22...25))
+ │ │ └── @ CallNode (location: (3,4)-(3,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (22...25) = "bar"
+ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (25...26) = "]"
+ │ ├── closing_loc: (3,7)-(3,8) = "]"
│ ├── block:
- │ │ @ BlockNode (location: (27...37))
+ │ │ @ BlockNode (location: (3,9)-(5,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (30...33))
+ │ │ │ @ StatementsNode (location: (4,0)-(4,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (30...33))
+ │ │ │ └── @ CallNode (location: (4,0)-(4,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (30...33) = "baz"
+ │ │ │ ├── message_loc: (4,0)-(4,3) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (27...29) = "do"
- │ │ └── closing_loc: (34...37) = "end"
+ │ │ ├── opening_loc: (3,9)-(3,11) = "do"
+ │ │ └── closing_loc: (5,0)-(5,3) = "end"
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (39...74))
+ ├── @ CallNode (location: (7,0)-(7,35))
│ ├── receiver:
- │ │ @ CallNode (location: (39...40))
+ │ │ @ CallNode (location: (7,0)-(7,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (39...40) = "x"
+ │ │ ├── message_loc: (7,0)-(7,1) = "x"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "x"
- │ ├── call_operator_loc: (40...41) = "."
- │ ├── message_loc: (41...47) = "reduce"
- │ ├── opening_loc: (47...48) = "("
+ │ ├── call_operator_loc: (7,1)-(7,2) = "."
+ │ ├── message_loc: (7,2)-(7,8) = "reduce"
+ │ ├── opening_loc: (7,8)-(7,9) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (48...49))
+ │ │ @ ArgumentsNode (location: (7,9)-(7,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (48...49))
+ │ │ └── @ IntegerNode (location: (7,9)-(7,10))
│ │ └── flags: decimal
- │ ├── closing_loc: (49...50) = ")"
+ │ ├── closing_loc: (7,10)-(7,11) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (51...74))
+ │ │ @ BlockNode (location: (7,12)-(7,35))
│ │ ├── locals: [:x, :memo]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (53...62))
+ │ │ │ @ BlockParametersNode (location: (7,14)-(7,23))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (54...61))
+ │ │ │ │ @ ParametersNode (location: (7,15)-(7,22))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (54...55))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16))
│ │ │ │ │ │ └── name: :x
- │ │ │ │ │ └── @ RequiredParameterNode (location: (57...61))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (7,18)-(7,22))
│ │ │ │ │ └── name: :memo
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -143,97 +143,97 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (53...54) = "|"
- │ │ │ └── closing_loc: (61...62) = "|"
+ │ │ │ ├── opening_loc: (7,14)-(7,15) = "|"
+ │ │ │ └── closing_loc: (7,22)-(7,23) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (63...72))
+ │ │ │ @ StatementsNode (location: (7,24)-(7,33))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableOperatorWriteNode (location: (63...72))
- │ │ │ ├── name_loc: (63...67) = "memo"
- │ │ │ ├── operator_loc: (68...70) = "+="
+ │ │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33))
+ │ │ │ ├── name_loc: (7,24)-(7,28) = "memo"
+ │ │ │ ├── operator_loc: (7,29)-(7,31) = "+="
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableReadNode (location: (71...72))
+ │ │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33))
│ │ │ │ ├── name: :x
│ │ │ │ └── depth: 0
│ │ │ ├── name: :memo
│ │ │ ├── operator: :+
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (51...52) = "{"
- │ │ └── closing_loc: (73...74) = "}"
+ │ │ ├── opening_loc: (7,12)-(7,13) = "{"
+ │ │ └── closing_loc: (7,34)-(7,35) = "}"
│ ├── flags: ∅
│ └── name: "reduce"
- ├── @ CallNode (location: (76...86))
+ ├── @ CallNode (location: (9,0)-(9,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (76...79) = "foo"
+ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (80...86))
+ │ │ @ BlockNode (location: (9,4)-(9,10))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (80...82) = "do"
- │ │ └── closing_loc: (83...86) = "end"
+ │ │ ├── opening_loc: (9,4)-(9,6) = "do"
+ │ │ └── closing_loc: (9,7)-(9,10) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (88...109))
+ ├── @ CallNode (location: (11,0)-(11,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (88...91) = "foo"
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (92...109))
+ │ │ @ ArgumentsNode (location: (11,4)-(11,21))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (92...95))
+ │ │ ├── @ CallNode (location: (11,4)-(11,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (92...95) = "bar"
+ │ │ │ ├── message_loc: (11,4)-(11,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ ParenthesesNode (location: (97...109))
+ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (98...108))
+ │ │ │ @ StatementsNode (location: (11,10)-(11,20))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (98...108))
+ │ │ │ └── @ CallNode (location: (11,10)-(11,20))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (98...101) = "baz"
+ │ │ │ ├── message_loc: (11,10)-(11,13) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (102...108))
+ │ │ │ │ @ BlockNode (location: (11,14)-(11,20))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (102...104) = "do"
- │ │ │ │ └── closing_loc: (105...108) = "end"
+ │ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do"
+ │ │ │ │ └── closing_loc: (11,17)-(11,20) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (97...98) = "("
- │ │ └── closing_loc: (108...109) = ")"
+ │ │ ├── opening_loc: (11,9)-(11,10) = "("
+ │ │ └── closing_loc: (11,20)-(11,21) = ")"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (111...125))
+ ├── @ CallNode (location: (13,0)-(13,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (111...114) = "foo"
+ │ ├── message_loc: (13,0)-(13,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (115...118))
+ │ │ @ ArgumentsNode (location: (13,4)-(13,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (115...118))
+ │ │ └── @ CallNode (location: (13,4)-(13,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (115...118) = "bar"
+ │ │ ├── message_loc: (13,4)-(13,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -242,34 +242,34 @@
│ │ └── name: "bar"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (119...125))
+ │ │ @ BlockNode (location: (13,8)-(13,14))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (119...121) = "do"
- │ │ └── closing_loc: (122...125) = "end"
+ │ │ ├── opening_loc: (13,8)-(13,10) = "do"
+ │ │ └── closing_loc: (13,11)-(13,14) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (127...145))
+ ├── @ CallNode (location: (15,0)-(15,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (127...130) = "foo"
+ │ ├── message_loc: (15,0)-(15,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (131...138))
+ │ │ @ ArgumentsNode (location: (15,4)-(15,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (131...138))
+ │ │ └── @ CallNode (location: (15,4)-(15,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (131...134) = "bar"
+ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (135...138))
+ │ │ │ @ ArgumentsNode (location: (15,8)-(15,11))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (135...138))
+ │ │ │ └── @ CallNode (location: (15,8)-(15,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (135...138) = "baz"
+ │ │ │ ├── message_loc: (15,8)-(15,11) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -282,41 +282,41 @@
│ │ └── name: "bar"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (139...145))
+ │ │ @ BlockNode (location: (15,12)-(15,18))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (139...141) = "do"
- │ │ └── closing_loc: (142...145) = "end"
+ │ │ ├── opening_loc: (15,12)-(15,14) = "do"
+ │ │ └── closing_loc: (15,15)-(15,18) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (147...168))
+ ├── @ CallNode (location: (17,0)-(18,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (147...150) = "foo"
+ │ ├── message_loc: (17,0)-(17,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (151...168))
+ │ │ @ BlockNode (location: (17,4)-(18,3))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (154...164))
+ │ │ │ @ BlockParametersNode (location: (17,7)-(17,17))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (155...163))
+ │ │ │ │ @ ParametersNode (location: (17,8)-(17,16))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (155...163))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16))
│ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (155...156) = "a"
- │ │ │ │ │ ├── operator_loc: (157...158) = "="
+ │ │ │ │ │ ├── name_loc: (17,8)-(17,9) = "a"
+ │ │ │ │ │ ├── operator_loc: (17,10)-(17,11) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (159...163))
+ │ │ │ │ │ @ CallNode (location: (17,12)-(17,16))
│ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ CallNode (location: (159...160))
+ │ │ │ │ │ │ @ CallNode (location: (17,12)-(17,13))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (159...160) = "b"
+ │ │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -324,14 +324,14 @@
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "b"
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (160...163) = "[1]"
- │ │ │ │ │ ├── opening_loc: (160...161) = "["
+ │ │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]"
+ │ │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "["
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (161...162))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (17,14)-(17,15))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (161...162))
+ │ │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ ├── closing_loc: (162...163) = "]"
+ │ │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "[]"
@@ -341,31 +341,31 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (154...155) = "|"
- │ │ │ └── closing_loc: (163...164) = "|"
+ │ │ │ ├── opening_loc: (17,7)-(17,8) = "|"
+ │ │ │ └── closing_loc: (17,16)-(17,17) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (151...153) = "do"
- │ │ └── closing_loc: (165...168) = "end"
+ │ │ ├── opening_loc: (17,4)-(17,6) = "do"
+ │ │ └── closing_loc: (18,0)-(18,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (170...187))
+ ├── @ CallNode (location: (20,0)-(22,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (170...173) = "foo"
+ │ ├── message_loc: (20,0)-(20,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (174...187))
+ │ │ @ BlockNode (location: (20,4)-(22,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (177...187))
+ │ │ │ @ BeginNode (location: (21,0)-(22,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (177...183))
- │ │ │ │ ├── keyword_loc: (177...183) = "rescue"
+ │ │ │ │ @ RescueNode (location: (21,0)-(21,6))
+ │ │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 0)
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
@@ -373,69 +373,69 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (184...187) = "end"
- │ │ ├── opening_loc: (174...176) = "do"
- │ │ └── closing_loc: (184...187) = "end"
+ │ │ │ └── end_keyword_loc: (22,0)-(22,3) = "end"
+ │ │ ├── opening_loc: (20,4)-(20,6) = "do"
+ │ │ └── closing_loc: (22,0)-(22,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (189...233))
+ ├── @ CallNode (location: (24,0)-(29,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (189...192) = "foo"
+ │ ├── message_loc: (24,0)-(24,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (193...233))
+ │ │ @ BlockNode (location: (24,4)-(29,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (198...229))
+ │ │ │ @ StatementsNode (location: (25,2)-(28,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (198...229))
+ │ │ │ └── @ CallNode (location: (25,2)-(28,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (198...201) = "bar"
+ │ │ │ ├── message_loc: (25,2)-(25,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (202...229))
+ │ │ │ │ @ BlockNode (location: (25,6)-(28,5))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (209...223))
+ │ │ │ │ │ @ StatementsNode (location: (26,4)-(27,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (209...223))
+ │ │ │ │ │ └── @ CallNode (location: (26,4)-(27,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (209...212) = "baz"
+ │ │ │ │ │ ├── message_loc: (26,4)-(26,7) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (213...223))
+ │ │ │ │ │ │ @ BlockNode (location: (26,8)-(27,7))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (213...215) = "do"
- │ │ │ │ │ │ └── closing_loc: (220...223) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do"
+ │ │ │ │ │ │ └── closing_loc: (27,4)-(27,7) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "baz"
- │ │ │ │ ├── opening_loc: (202...204) = "do"
- │ │ │ │ └── closing_loc: (226...229) = "end"
+ │ │ │ │ ├── opening_loc: (25,6)-(25,8) = "do"
+ │ │ │ │ └── closing_loc: (28,2)-(28,5) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
- │ │ ├── opening_loc: (193...195) = "do"
- │ │ └── closing_loc: (230...233) = "end"
+ │ │ ├── opening_loc: (24,4)-(24,6) = "do"
+ │ │ └── closing_loc: (29,0)-(29,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (235...251))
+ ├── @ CallNode (location: (31,0)-(31,16))
│ ├── receiver:
- │ │ @ CallNode (location: (235...238))
+ │ │ @ CallNode (location: (31,0)-(31,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (235...238) = "foo"
+ │ │ ├── message_loc: (31,0)-(31,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -443,106 +443,106 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (238...243) = "[bar]"
- │ ├── opening_loc: (238...239) = "["
+ │ ├── message_loc: (31,3)-(31,8) = "[bar]"
+ │ ├── opening_loc: (31,3)-(31,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (239...242))
+ │ │ @ ArgumentsNode (location: (31,4)-(31,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (239...242))
+ │ │ └── @ CallNode (location: (31,4)-(31,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (239...242) = "bar"
+ │ │ ├── message_loc: (31,4)-(31,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (242...243) = "]"
+ │ ├── closing_loc: (31,7)-(31,8) = "]"
│ ├── block:
- │ │ @ BlockNode (location: (244...251))
+ │ │ @ BlockNode (location: (31,9)-(31,16))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (246...249))
+ │ │ │ @ StatementsNode (location: (31,11)-(31,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (246...249))
+ │ │ │ └── @ CallNode (location: (31,11)-(31,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (246...249) = "baz"
+ │ │ │ ├── message_loc: (31,11)-(31,14) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (244...245) = "{"
- │ │ └── closing_loc: (250...251) = "}"
+ │ │ ├── opening_loc: (31,9)-(31,10) = "{"
+ │ │ └── closing_loc: (31,15)-(31,16) = "}"
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (253...277))
+ ├── @ CallNode (location: (33,0)-(33,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (253...256) = "foo"
+ │ ├── message_loc: (33,0)-(33,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (257...277))
+ │ │ @ BlockNode (location: (33,4)-(33,24))
│ │ ├── locals: [:x, :y, :z]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (259...273))
+ │ │ │ @ BlockParametersNode (location: (33,6)-(33,20))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (260...272))
+ │ │ │ │ @ ParametersNode (location: (33,7)-(33,19))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (260...261))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8))
│ │ │ │ │ └── name: :x
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (263...268))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (33,10)-(33,15))
│ │ │ │ │ ├── name: :y
- │ │ │ │ │ ├── name_loc: (263...264) = "y"
- │ │ │ │ │ ├── operator_loc: (265...266) = "="
+ │ │ │ │ │ ├── name_loc: (33,10)-(33,11) = "y"
+ │ │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (267...268))
+ │ │ │ │ │ @ IntegerNode (location: (33,14)-(33,15))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ KeywordParameterNode (location: (270...272))
+ │ │ │ │ │ └── @ KeywordParameterNode (location: (33,17)-(33,19))
│ │ │ │ │ ├── name: :z
- │ │ │ │ │ ├── name_loc: (270...272) = "z:"
+ │ │ │ │ │ ├── name_loc: (33,17)-(33,19) = "z:"
│ │ │ │ │ └── value: ∅
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (259...260) = "|"
- │ │ │ └── closing_loc: (272...273) = "|"
+ │ │ │ ├── opening_loc: (33,6)-(33,7) = "|"
+ │ │ │ └── closing_loc: (33,19)-(33,20) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (274...275))
+ │ │ │ @ StatementsNode (location: (33,21)-(33,22))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (274...275))
+ │ │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (257...258) = "{"
- │ │ └── closing_loc: (276...277) = "}"
+ │ │ ├── opening_loc: (33,4)-(33,5) = "{"
+ │ │ └── closing_loc: (33,23)-(33,24) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (279...290))
+ ├── @ CallNode (location: (35,0)-(35,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (279...282) = "foo"
+ │ ├── message_loc: (35,0)-(35,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (283...290))
+ │ │ @ BlockNode (location: (35,4)-(35,11))
│ │ ├── locals: [:x]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (285...288))
+ │ │ │ @ BlockParametersNode (location: (35,6)-(35,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (286...287))
+ │ │ │ │ @ ParametersNode (location: (35,7)-(35,8))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (286...287))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8))
│ │ │ │ │ └── name: :x
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -551,37 +551,37 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (285...286) = "|"
- │ │ │ └── closing_loc: (287...288) = "|"
+ │ │ │ ├── opening_loc: (35,6)-(35,7) = "|"
+ │ │ │ └── closing_loc: (35,8)-(35,9) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (283...284) = "{"
- │ │ └── closing_loc: (289...290) = "}"
+ │ │ ├── opening_loc: (35,4)-(35,5) = "{"
+ │ │ └── closing_loc: (35,10)-(35,11) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ LocalVariableWriteNode (location: (292...300))
+ ├── @ LocalVariableWriteNode (location: (37,0)-(37,8))
│ ├── name: :fork
│ ├── depth: 0
- │ ├── name_loc: (292...296) = "fork"
+ │ ├── name_loc: (37,0)-(37,4) = "fork"
│ ├── value:
- │ │ @ IntegerNode (location: (299...300))
+ │ │ @ IntegerNode (location: (37,7)-(37,8))
│ │ └── flags: decimal
- │ └── operator_loc: (297...298) = "="
- ├── @ CallNode (location: (301...316))
+ │ └── operator_loc: (37,5)-(37,6) = "="
+ ├── @ CallNode (location: (38,0)-(39,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (301...305) = "fork"
+ │ ├── message_loc: (38,0)-(38,4) = "fork"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (306...316))
+ │ │ @ BlockNode (location: (38,5)-(39,3))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (309...312))
+ │ │ │ @ BlockParametersNode (location: (38,8)-(38,11))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (310...311))
+ │ │ │ │ @ ParametersNode (location: (38,9)-(38,10))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (310...311))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -590,29 +590,29 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (309...310) = "|"
- │ │ │ └── closing_loc: (311...312) = "|"
+ │ │ │ ├── opening_loc: (38,8)-(38,9) = "|"
+ │ │ │ └── closing_loc: (38,10)-(38,11) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (306...308) = "do"
- │ │ └── closing_loc: (313...316) = "end"
+ │ │ ├── opening_loc: (38,5)-(38,7) = "do"
+ │ │ └── closing_loc: (39,0)-(39,3) = "end"
│ ├── flags: ∅
│ └── name: "fork"
- ├── @ CallNode (location: (318...330))
+ ├── @ CallNode (location: (41,0)-(41,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (318...322) = "fork"
+ │ ├── message_loc: (41,0)-(41,4) = "fork"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (323...330))
+ │ │ @ BlockNode (location: (41,5)-(41,12))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (325...328))
+ │ │ │ @ BlockParametersNode (location: (41,7)-(41,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (326...327))
+ │ │ │ │ @ ParametersNode (location: (41,8)-(41,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (326...327))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -621,130 +621,130 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (325...326) = "|"
- │ │ │ └── closing_loc: (327...328) = "|"
+ │ │ │ ├── opening_loc: (41,7)-(41,8) = "|"
+ │ │ │ └── closing_loc: (41,9)-(41,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (323...324) = "{"
- │ │ └── closing_loc: (329...330) = "}"
+ │ │ ├── opening_loc: (41,5)-(41,6) = "{"
+ │ │ └── closing_loc: (41,11)-(41,12) = "}"
│ ├── flags: ∅
│ └── name: "fork"
- ├── @ CallNode (location: (332...340))
+ ├── @ CallNode (location: (43,0)-(44,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (332...333) = "C"
+ │ ├── message_loc: (43,0)-(43,1) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (334...340))
+ │ │ @ BlockNode (location: (43,2)-(44,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (334...336) = "do"
- │ │ └── closing_loc: (337...340) = "end"
+ │ │ ├── opening_loc: (43,2)-(43,4) = "do"
+ │ │ └── closing_loc: (44,0)-(44,3) = "end"
│ ├── flags: ∅
│ └── name: "C"
- ├── @ CallNode (location: (342...346))
+ ├── @ CallNode (location: (46,0)-(46,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (342...343) = "C"
+ │ ├── message_loc: (46,0)-(46,1) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (344...346))
+ │ │ @ BlockNode (location: (46,2)-(46,4))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (344...345) = "{"
- │ │ └── closing_loc: (345...346) = "}"
+ │ │ ├── opening_loc: (46,2)-(46,3) = "{"
+ │ │ └── closing_loc: (46,3)-(46,4) = "}"
│ ├── flags: ∅
│ └── name: "C"
- ├── @ CallNode (location: (348...383))
+ ├── @ CallNode (location: (48,0)-(52,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (348...351) = "foo"
+ │ ├── message_loc: (48,0)-(48,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (352...383))
+ │ │ @ ArgumentsNode (location: (48,4)-(52,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (352...383))
+ │ │ └── @ CallNode (location: (48,4)-(52,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (352...358) = "lambda"
+ │ │ ├── message_loc: (48,4)-(48,10) = "lambda"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (359...383))
+ │ │ │ @ BlockNode (location: (48,11)-(52,1))
│ │ │ ├── locals: [:a, :b]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (361...381))
+ │ │ │ │ @ BlockParametersNode (location: (48,13)-(51,3))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (365...377))
+ │ │ │ │ │ @ ParametersNode (location: (49,2)-(50,6))
│ │ │ │ │ ├── requireds: (length: 0)
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
│ │ │ │ │ ├── posts: (length: 0)
│ │ │ │ │ ├── keywords: (length: 2)
- │ │ │ │ │ │ ├── @ KeywordParameterNode (location: (365...369))
+ │ │ │ │ │ │ ├── @ KeywordParameterNode (location: (49,2)-(49,6))
│ │ │ │ │ │ │ ├── name: :a
- │ │ │ │ │ │ │ ├── name_loc: (365...367) = "a:"
+ │ │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:"
│ │ │ │ │ │ │ └── value:
- │ │ │ │ │ │ │ @ IntegerNode (location: (368...369))
+ │ │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6))
│ │ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ │ └── @ KeywordParameterNode (location: (373...377))
+ │ │ │ │ │ │ └── @ KeywordParameterNode (location: (50,2)-(50,6))
│ │ │ │ │ │ ├── name: :b
- │ │ │ │ │ │ ├── name_loc: (373...375) = "b:"
+ │ │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:"
│ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ IntegerNode (location: (376...377))
+ │ │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (361...362) = "|"
- │ │ │ │ └── closing_loc: (380...381) = "|"
+ │ │ │ │ ├── opening_loc: (48,13)-(48,14) = "|"
+ │ │ │ │ └── closing_loc: (51,2)-(51,3) = "|"
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (359...360) = "{"
- │ │ │ └── closing_loc: (382...383) = "}"
+ │ │ │ ├── opening_loc: (48,11)-(48,12) = "{"
+ │ │ │ └── closing_loc: (52,0)-(52,1) = "}"
│ │ ├── flags: ∅
│ │ └── name: "lambda"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- └── @ CallNode (location: (385...402))
+ └── @ CallNode (location: (54,0)-(54,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (385...388) = "foo"
+ ├── message_loc: (54,0)-(54,3) = "foo"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (389...402))
+ │ @ BlockNode (location: (54,4)-(54,17))
│ ├── locals: [:bar]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (392...398))
+ │ │ @ BlockParametersNode (location: (54,7)-(54,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (393...397))
+ │ │ │ @ ParametersNode (location: (54,8)-(54,12))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (393...396))
+ │ │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11))
│ │ │ │ └── name: :bar
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (396...397))
+ │ │ │ │ @ RestParameterNode (location: (54,11)-(54,12))
│ │ │ │ ├── name: nil
│ │ │ │ ├── name_loc: ∅
- │ │ │ │ └── operator_loc: (396...397) = ","
+ │ │ │ │ └── operator_loc: (54,11)-(54,12) = ","
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (392...393) = "|"
- │ │ └── closing_loc: (397...398) = "|"
+ │ │ ├── opening_loc: (54,7)-(54,8) = "|"
+ │ │ └── closing_loc: (54,12)-(54,13) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (389...391) = "do"
- │ └── closing_loc: (399...402) = "end"
+ │ ├── opening_loc: (54,4)-(54,6) = "do"
+ │ └── closing_loc: (54,14)-(54,17) = "end"
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/boolean_operators.txt b/test/yarp/snapshots/boolean_operators.txt
index fcb3337a78..4ed94c368d 100644
--- a/test/yarp/snapshots/boolean_operators.txt
+++ b/test/yarp/snapshots/boolean_operators.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(5,7))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(5,7))
└── body: (length: 3)
- ├── @ LocalVariableAndWriteNode (location: (0...7))
- │ ├── name_loc: (0...1) = "a"
- │ ├── operator_loc: (2...5) = "&&="
+ ├── @ LocalVariableAndWriteNode (location: (1,0)-(1,7))
+ │ ├── name_loc: (1,0)-(1,1) = "a"
+ │ ├── operator_loc: (1,2)-(1,5) = "&&="
│ ├── value:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (1,6)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "b"
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -19,14 +19,14 @@
│ │ └── name: "b"
│ ├── name: :a
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (9...15))
- │ ├── name_loc: (9...10) = "a"
- │ ├── operator_loc: (11...13) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6))
+ │ ├── name_loc: (3,0)-(3,1) = "a"
+ │ ├── operator_loc: (3,2)-(3,4) = "+="
│ ├── value:
- │ │ @ CallNode (location: (14...15))
+ │ │ @ CallNode (location: (3,5)-(3,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (14...15) = "b"
+ │ │ ├── message_loc: (3,5)-(3,6) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -36,14 +36,14 @@
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
- └── @ LocalVariableOrWriteNode (location: (17...24))
- ├── name_loc: (17...18) = "a"
- ├── operator_loc: (19...22) = "||="
+ └── @ LocalVariableOrWriteNode (location: (5,0)-(5,7))
+ ├── name_loc: (5,0)-(5,1) = "a"
+ ├── operator_loc: (5,2)-(5,5) = "||="
├── value:
- │ @ CallNode (location: (23...24))
+ │ @ CallNode (location: (5,6)-(5,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (23...24) = "b"
+ │ ├── message_loc: (5,6)-(5,7) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/booleans.txt b/test/yarp/snapshots/booleans.txt
index a380121bee..4731966243 100644
--- a/test/yarp/snapshots/booleans.txt
+++ b/test/yarp/snapshots/booleans.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ FalseNode (location: (0...5))
- └── @ TrueNode (location: (7...11))
+ ├── @ FalseNode (location: (1,0)-(1,5))
+ └── @ TrueNode (location: (3,0)-(3,4))
diff --git a/test/yarp/snapshots/break.txt b/test/yarp/snapshots/break.txt
index d4bfa1761c..49e74d0904 100644
--- a/test/yarp/snapshots/break.txt
+++ b/test/yarp/snapshots/break.txt
@@ -1,178 +1,178 @@
-@ ProgramNode (location: (0...168))
+@ ProgramNode (location: (1,0)-(25,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...168))
+ @ StatementsNode (location: (1,0)-(25,23))
└── body: (length: 11)
- ├── @ BreakNode (location: (0...5))
+ ├── @ BreakNode (location: (1,0)-(1,5))
│ ├── arguments: ∅
- │ └── keyword_loc: (0...5) = "break"
- ├── @ BreakNode (location: (7...26))
+ │ └── keyword_loc: (1,0)-(1,5) = "break"
+ ├── @ BreakNode (location: (3,0)-(3,19))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...26))
+ │ │ @ ArgumentsNode (location: (3,6)-(3,19))
│ │ └── arguments: (length: 3)
- │ │ ├── @ ParenthesesNode (location: (13...16))
+ │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (14...15))
+ │ │ │ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (14...15))
+ │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (13...14) = "("
- │ │ │ └── closing_loc: (15...16) = ")"
- │ │ ├── @ ParenthesesNode (location: (18...21))
+ │ │ │ ├── opening_loc: (3,6)-(3,7) = "("
+ │ │ │ └── closing_loc: (3,8)-(3,9) = ")"
+ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (19...20))
+ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (19...20))
+ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (18...19) = "("
- │ │ │ └── closing_loc: (20...21) = ")"
- │ │ └── @ ParenthesesNode (location: (23...26))
+ │ │ │ ├── opening_loc: (3,11)-(3,12) = "("
+ │ │ │ └── closing_loc: (3,13)-(3,14) = ")"
+ │ │ └── @ ParenthesesNode (location: (3,16)-(3,19))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (24...25))
+ │ │ │ @ StatementsNode (location: (3,17)-(3,18))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (24...25))
+ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (23...24) = "("
- │ │ └── closing_loc: (25...26) = ")"
- │ └── keyword_loc: (7...12) = "break"
- ├── @ BreakNode (location: (28...35))
+ │ │ ├── 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: (34...35))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (34...35))
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ └── flags: decimal
- │ └── keyword_loc: (28...33) = "break"
- ├── @ BreakNode (location: (37...50))
+ │ └── keyword_loc: (5,0)-(5,5) = "break"
+ ├── @ BreakNode (location: (7,0)-(8,1))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (43...50))
+ │ │ @ ArgumentsNode (location: (7,6)-(8,1))
│ │ └── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (43...44))
+ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (46...47))
+ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (49...50))
+ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ └── flags: decimal
- │ └── keyword_loc: (37...42) = "break"
- ├── @ BreakNode (location: (52...65))
+ │ └── keyword_loc: (7,0)-(7,5) = "break"
+ ├── @ BreakNode (location: (10,0)-(10,13))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (58...65))
+ │ │ @ ArgumentsNode (location: (10,6)-(10,13))
│ │ └── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (58...59))
+ │ │ ├── @ IntegerNode (location: (10,6)-(10,7))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (61...62))
+ │ │ ├── @ IntegerNode (location: (10,9)-(10,10))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (64...65))
+ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
│ │ └── flags: decimal
- │ └── keyword_loc: (52...57) = "break"
- ├── @ BreakNode (location: (67...82))
+ │ └── keyword_loc: (10,0)-(10,5) = "break"
+ ├── @ BreakNode (location: (12,0)-(12,15))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (73...82))
+ │ │ @ ArgumentsNode (location: (12,6)-(12,15))
│ │ └── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (73...82))
+ │ │ └── @ ArrayNode (location: (12,6)-(12,15))
│ │ ├── elements: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (74...75))
+ │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (77...78))
+ │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (80...81))
+ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (73...74) = "["
- │ │ └── closing_loc: (81...82) = "]"
- │ └── keyword_loc: (67...72) = "break"
- ├── @ BreakNode (location: (84...100))
+ │ │ ├── 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: (89...100))
+ │ │ @ ArgumentsNode (location: (14,5)-(17,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (89...100))
+ │ │ └── @ ParenthesesNode (location: (14,5)-(17,1))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (93...98))
+ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (93...94))
+ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (97...98))
+ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (89...90) = "("
- │ │ └── closing_loc: (99...100) = ")"
- │ └── keyword_loc: (84...89) = "break"
- ├── @ BreakNode (location: (102...109))
+ │ │ ├── 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: (107...109))
+ │ │ @ ArgumentsNode (location: (19,5)-(19,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (107...109))
+ │ │ └── @ ParenthesesNode (location: (19,5)-(19,7))
│ │ ├── body: ∅
- │ │ ├── opening_loc: (107...108) = "("
- │ │ └── closing_loc: (108...109) = ")"
- │ └── keyword_loc: (102...107) = "break"
- ├── @ BreakNode (location: (111...119))
+ │ │ ├── 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: (116...119))
+ │ │ @ ArgumentsNode (location: (21,5)-(21,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (116...119))
+ │ │ └── @ ParenthesesNode (location: (21,5)-(21,8))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (117...118))
+ │ │ │ @ StatementsNode (location: (21,6)-(21,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (117...118))
+ │ │ │ └── @ IntegerNode (location: (21,6)-(21,7))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (116...117) = "("
- │ │ └── closing_loc: (118...119) = ")"
- │ └── keyword_loc: (111...116) = "break"
- ├── @ CallNode (location: (121...143))
+ │ │ ├── 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))
│ ├── receiver:
- │ │ @ CallNode (location: (121...137))
+ │ │ @ CallNode (location: (23,0)-(23,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (121...124) = "foo"
+ │ │ ├── message_loc: (23,0)-(23,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (125...137))
+ │ │ │ @ BlockNode (location: (23,4)-(23,16))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (127...135))
+ │ │ │ │ @ StatementsNode (location: (23,6)-(23,14))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (127...135))
+ │ │ │ │ └── @ BreakNode (location: (23,6)-(23,14))
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (133...135))
+ │ │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (133...135))
+ │ │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── keyword_loc: (127...132) = "break"
- │ │ │ ├── opening_loc: (125...126) = "{"
- │ │ │ └── closing_loc: (136...137) = "}"
+ │ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break"
+ │ │ │ ├── opening_loc: (23,4)-(23,5) = "{"
+ │ │ │ └── closing_loc: (23,15)-(23,16) = "}"
│ │ ├── flags: ∅
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (138...140) = "=="
+ │ ├── message_loc: (23,17)-(23,19) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (141...143))
+ │ │ @ ArgumentsNode (location: (23,20)-(23,22))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (141...143))
+ │ │ └── @ IntegerNode (location: (23,20)-(23,22))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=="
- └── @ CallNode (location: (145...168))
+ └── @ CallNode (location: (25,0)-(25,23))
├── receiver:
- │ @ CallNode (location: (145...162))
+ │ @ CallNode (location: (25,0)-(25,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (145...148) = "foo"
+ │ ├── message_loc: (25,0)-(25,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (149...162))
+ │ │ @ BlockNode (location: (25,4)-(25,17))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (151...154))
+ │ │ │ @ BlockParametersNode (location: (25,6)-(25,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (152...153))
+ │ │ │ │ @ ParametersNode (location: (25,7)-(25,8))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (152...153))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -181,25 +181,25 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (151...152) = "|"
- │ │ │ └── closing_loc: (153...154) = "|"
+ │ │ │ ├── opening_loc: (25,6)-(25,7) = "|"
+ │ │ │ └── closing_loc: (25,8)-(25,9) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (155...160))
+ │ │ │ @ StatementsNode (location: (25,10)-(25,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ BreakNode (location: (155...160))
+ │ │ │ └── @ BreakNode (location: (25,10)-(25,15))
│ │ │ ├── arguments: ∅
- │ │ │ └── keyword_loc: (155...160) = "break"
- │ │ ├── opening_loc: (149...150) = "{"
- │ │ └── closing_loc: (161...162) = "}"
+ │ │ │ └── keyword_loc: (25,10)-(25,15) = "break"
+ │ │ ├── opening_loc: (25,4)-(25,5) = "{"
+ │ │ └── closing_loc: (25,16)-(25,17) = "}"
│ ├── flags: ∅
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (163...165) = "=="
+ ├── message_loc: (25,18)-(25,20) = "=="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (166...168))
+ │ @ ArgumentsNode (location: (25,21)-(25,23))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (166...168))
+ │ └── @ IntegerNode (location: (25,21)-(25,23))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/case.txt b/test/yarp/snapshots/case.txt
index 9e5b20aac8..15386a794f 100644
--- a/test/yarp/snapshots/case.txt
+++ b/test/yarp/snapshots/case.txt
@@ -1,74 +1,74 @@
-@ ProgramNode (location: (0...299))
+@ ProgramNode (location: (1,0)-(32,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...299))
+ @ StatementsNode (location: (1,0)-(32,25))
└── body: (length: 9)
- ├── @ CaseNode (location: (0...21))
+ ├── @ CaseNode (location: (1,0)-(3,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (5...8))
- │ │ ├── opening_loc: (5...6) = ":"
- │ │ ├── value_loc: (6...8) = "hi"
+ │ │ @ SymbolNode (location: (1,5)-(1,8))
+ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ │ ├── value_loc: (1,6)-(1,8) = "hi"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "hi"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (9...17))
- │ │ ├── keyword_loc: (9...13) = "when"
+ │ │ └── @ WhenNode (location: (2,0)-(2,8))
+ │ │ ├── keyword_loc: (2,0)-(2,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SymbolNode (location: (14...17))
- │ │ │ ├── opening_loc: (14...15) = ":"
- │ │ │ ├── value_loc: (15...17) = "hi"
+ │ │ │ └── @ SymbolNode (location: (2,5)-(2,8))
+ │ │ │ ├── opening_loc: (2,5)-(2,6) = ":"
+ │ │ │ ├── value_loc: (2,6)-(2,8) = "hi"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "hi"
│ │ └── statements: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (0...4) = "case"
- │ └── end_keyword_loc: (18...21) = "end"
- ├── @ CaseNode (location: (23...81))
+ │ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ CaseNode (location: (5,0)-(5,58))
│ ├── predicate:
- │ │ @ TrueNode (location: (28...32))
+ │ │ @ TrueNode (location: (5,5)-(5,9))
│ ├── conditions: (length: 2)
- │ │ ├── @ WhenNode (location: (34...53))
- │ │ │ ├── keyword_loc: (34...38) = "when"
+ │ │ ├── @ WhenNode (location: (5,11)-(5,30))
+ │ │ │ ├── keyword_loc: (5,11)-(5,15) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (39...43))
+ │ │ │ │ └── @ TrueNode (location: (5,16)-(5,20))
│ │ │ └── statements:
- │ │ │ @ StatementsNode (location: (45...53))
+ │ │ │ @ StatementsNode (location: (5,22)-(5,30))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (45...53))
+ │ │ │ └── @ CallNode (location: (5,22)-(5,30))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (45...49) = "puts"
+ │ │ │ ├── message_loc: (5,22)-(5,26) = "puts"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (50...53))
+ │ │ │ │ @ ArgumentsNode (location: (5,27)-(5,30))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (50...53))
- │ │ │ │ ├── opening_loc: (50...51) = ":"
- │ │ │ │ ├── value_loc: (51...53) = "hi"
+ │ │ │ │ └── @ 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: ∅
│ │ │ └── name: "puts"
- │ │ └── @ WhenNode (location: (55...76))
- │ │ ├── keyword_loc: (55...59) = "when"
+ │ │ └── @ WhenNode (location: (5,32)-(5,53))
+ │ │ ├── keyword_loc: (5,32)-(5,36) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ FalseNode (location: (60...65))
+ │ │ │ └── @ FalseNode (location: (5,37)-(5,42))
│ │ └── statements:
- │ │ @ StatementsNode (location: (67...76))
+ │ │ @ StatementsNode (location: (5,44)-(5,53))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (67...76))
+ │ │ └── @ CallNode (location: (5,44)-(5,53))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (67...71) = "puts"
+ │ │ ├── message_loc: (5,44)-(5,48) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (72...76))
+ │ │ │ @ ArgumentsNode (location: (5,49)-(5,53))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (72...76))
- │ │ │ ├── opening_loc: (72...73) = ":"
- │ │ │ ├── value_loc: (73...76) = "bye"
+ │ │ │ └── @ 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: ∅
@@ -76,21 +76,21 @@
│ │ ├── flags: ∅
│ │ └── name: "puts"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (23...27) = "case"
- │ └── end_keyword_loc: (78...81) = "end"
- ├── @ CaseNode (location: (83...103))
+ │ ├── case_keyword_loc: (5,0)-(5,4) = "case"
+ │ └── end_keyword_loc: (5,55)-(5,58) = "end"
+ ├── @ CaseNode (location: (7,0)-(7,20))
│ ├── predicate: ∅
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (89...98))
- │ │ ├── keyword_loc: (89...93) = "when"
+ │ │ └── @ WhenNode (location: (7,6)-(7,15))
+ │ │ ├── keyword_loc: (7,6)-(7,10) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SplatNode (location: (94...98))
- │ │ │ ├── operator_loc: (94...95) = "*"
+ │ │ │ └── @ SplatNode (location: (7,11)-(7,15))
+ │ │ │ ├── operator_loc: (7,11)-(7,12) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (95...98))
+ │ │ │ @ CallNode (location: (7,12)-(7,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (95...98) = "foo"
+ │ │ │ ├── message_loc: (7,12)-(7,15) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -99,45 +99,45 @@
│ │ │ └── name: "foo"
│ │ └── statements: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (83...87) = "case"
- │ └── end_keyword_loc: (100...103) = "end"
- ├── @ CaseNode (location: (105...134))
+ │ ├── case_keyword_loc: (7,0)-(7,4) = "case"
+ │ └── end_keyword_loc: (7,17)-(7,20) = "end"
+ ├── @ CaseNode (location: (9,0)-(13,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (110...113))
- │ │ ├── opening_loc: (110...111) = ":"
- │ │ ├── value_loc: (111...113) = "hi"
+ │ │ @ SymbolNode (location: (9,5)-(9,8))
+ │ │ ├── opening_loc: (9,5)-(9,6) = ":"
+ │ │ ├── value_loc: (9,6)-(9,8) = "hi"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "hi"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (114...122))
- │ │ ├── keyword_loc: (114...118) = "when"
+ │ │ └── @ WhenNode (location: (10,0)-(10,8))
+ │ │ ├── keyword_loc: (10,0)-(10,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SymbolNode (location: (119...122))
- │ │ │ ├── opening_loc: (119...120) = ":"
- │ │ │ ├── value_loc: (120...122) = "hi"
+ │ │ │ └── @ SymbolNode (location: (10,5)-(10,8))
+ │ │ │ ├── opening_loc: (10,5)-(10,6) = ":"
+ │ │ │ ├── value_loc: (10,6)-(10,8) = "hi"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "hi"
│ │ └── statements: ∅
│ ├── consequent:
- │ │ @ ElseNode (location: (123...134))
- │ │ ├── else_keyword_loc: (123...127) = "else"
+ │ │ @ ElseNode (location: (11,0)-(13,3))
+ │ │ ├── else_keyword_loc: (11,0)-(11,4) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (128...130))
+ │ │ │ @ StatementsNode (location: (12,0)-(12,2))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (128...130))
- │ │ │ ├── opening_loc: (128...129) = ":"
- │ │ │ ├── value_loc: (129...130) = "b"
+ │ │ │ └── @ SymbolNode (location: (12,0)-(12,2))
+ │ │ │ ├── opening_loc: (12,0)-(12,1) = ":"
+ │ │ │ ├── value_loc: (12,1)-(12,2) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── end_keyword_loc: (131...134) = "end"
- │ ├── case_keyword_loc: (105...109) = "case"
- │ └── end_keyword_loc: (131...134) = "end"
- ├── @ CaseNode (location: (136...172))
+ │ │ └── end_keyword_loc: (13,0)-(13,3) = "end"
+ │ ├── case_keyword_loc: (9,0)-(9,4) = "case"
+ │ └── end_keyword_loc: (13,0)-(13,3) = "end"
+ ├── @ CaseNode (location: (15,0)-(15,36))
│ ├── predicate:
- │ │ @ CallNode (location: (141...145))
+ │ │ @ CallNode (location: (15,5)-(15,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (141...145) = "this"
+ │ │ ├── message_loc: (15,5)-(15,9) = "this"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -145,29 +145,29 @@
│ │ ├── flags: variable_call
│ │ └── name: "this"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (147...167))
- │ │ ├── keyword_loc: (147...151) = "when"
+ │ │ └── @ WhenNode (location: (15,11)-(15,31))
+ │ │ ├── keyword_loc: (15,11)-(15,15) = "when"
│ │ ├── conditions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (152...158))
+ │ │ │ ├── @ ConstantReadNode (location: (15,16)-(15,22))
│ │ │ │ └── name: :FooBar
- │ │ │ └── @ ConstantReadNode (location: (160...167))
+ │ │ │ └── @ ConstantReadNode (location: (15,24)-(15,31))
│ │ │ └── name: :BazBonk
│ │ └── statements: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (136...140) = "case"
- │ └── end_keyword_loc: (169...172) = "end"
- ├── @ CaseNode (location: (174...198))
+ │ ├── case_keyword_loc: (15,0)-(15,4) = "case"
+ │ └── end_keyword_loc: (15,33)-(15,36) = "end"
+ ├── @ CaseNode (location: (17,0)-(19,3))
│ ├── predicate: ∅
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (179...194))
- │ │ ├── keyword_loc: (179...183) = "when"
+ │ │ └── @ WhenNode (location: (18,0)-(18,15))
+ │ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (184...194))
+ │ │ │ └── @ CallNode (location: (18,5)-(18,15))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (184...187))
+ │ │ │ │ @ CallNode (location: (18,5)-(18,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (184...187) = "foo"
+ │ │ │ │ ├── message_loc: (18,5)-(18,8) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -175,15 +175,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (188...190) = "=="
+ │ │ │ ├── message_loc: (18,9)-(18,11) = "=="
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (191...194))
+ │ │ │ │ @ ArgumentsNode (location: (18,12)-(18,15))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (191...194))
+ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (191...194) = "bar"
+ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -196,18 +196,18 @@
│ │ │ └── name: "=="
│ │ └── statements: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (174...178) = "case"
- │ └── end_keyword_loc: (195...198) = "end"
- ├── @ CaseNode (location: (200...230))
+ │ ├── case_keyword_loc: (17,0)-(17,4) = "case"
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ CaseNode (location: (21,0)-(25,3))
│ ├── predicate: ∅
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (205...211))
- │ │ ├── keyword_loc: (205...209) = "when"
+ │ │ └── @ WhenNode (location: (22,0)-(22,6))
+ │ │ ├── keyword_loc: (22,0)-(22,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (210...211))
+ │ │ │ └── @ CallNode (location: (22,5)-(22,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (210...211) = "a"
+ │ │ │ ├── message_loc: (22,5)-(22,6) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -216,18 +216,18 @@
│ │ │ └── name: "a"
│ │ └── statements: ∅
│ ├── consequent:
- │ │ @ ElseNode (location: (212...230))
- │ │ ├── else_keyword_loc: (212...216) = "else"
+ │ │ @ ElseNode (location: (23,0)-(25,3))
+ │ │ ├── else_keyword_loc: (23,0)-(23,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (227...230) = "end"
- │ ├── case_keyword_loc: (200...204) = "case"
- │ └── end_keyword_loc: (227...230) = "end"
- ├── @ CaseNode (location: (232...272))
+ │ │ └── end_keyword_loc: (25,0)-(25,3) = "end"
+ │ ├── case_keyword_loc: (21,0)-(21,4) = "case"
+ │ └── end_keyword_loc: (25,0)-(25,3) = "end"
+ ├── @ CaseNode (location: (27,0)-(30,6))
│ ├── predicate:
- │ │ @ CallNode (location: (237...241))
+ │ │ @ CallNode (location: (27,5)-(27,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (237...241) = "type"
+ │ │ ├── message_loc: (27,5)-(27,9) = "type"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -235,31 +235,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "type"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (246...253))
- │ │ ├── keyword_loc: (246...250) = "when"
+ │ │ └── @ WhenNode (location: (28,3)-(28,10))
+ │ │ ├── keyword_loc: (28,3)-(28,7) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SymbolNode (location: (251...253))
- │ │ │ ├── opening_loc: (251...252) = ":"
- │ │ │ ├── value_loc: (252...253) = "b"
+ │ │ │ └── @ SymbolNode (location: (28,8)-(28,10))
+ │ │ │ ├── opening_loc: (28,8)-(28,9) = ":"
+ │ │ │ ├── value_loc: (28,9)-(28,10) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── statements: ∅
│ ├── consequent:
- │ │ @ ElseNode (location: (260...272))
- │ │ ├── else_keyword_loc: (260...264) = "else"
+ │ │ @ ElseNode (location: (29,5)-(30,6))
+ │ │ ├── else_keyword_loc: (29,5)-(29,9) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (269...272) = "end"
- │ ├── case_keyword_loc: (232...236) = "case"
- │ └── end_keyword_loc: (269...272) = "end"
- └── @ CaseNode (location: (274...299))
+ │ │ └── end_keyword_loc: (30,3)-(30,6) = "end"
+ │ ├── case_keyword_loc: (27,0)-(27,4) = "case"
+ │ └── end_keyword_loc: (30,3)-(30,6) = "end"
+ └── @ CaseNode (location: (32,0)-(32,25))
├── predicate: ∅
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (288...294))
- │ ├── keyword_loc: (288...292) = "when"
+ │ └── @ WhenNode (location: (32,14)-(32,20))
+ │ ├── keyword_loc: (32,14)-(32,18) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ IntegerNode (location: (293...294))
+ │ │ └── @ IntegerNode (location: (32,19)-(32,20))
│ │ └── flags: decimal
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (274...278) = "case"
- └── end_keyword_loc: (296...299) = "end"
+ ├── case_keyword_loc: (32,0)-(32,4) = "case"
+ └── end_keyword_loc: (32,22)-(32,25) = "end"
diff --git a/test/yarp/snapshots/classes.txt b/test/yarp/snapshots/classes.txt
index 217efb5664..e349da627d 100644
--- a/test/yarp/snapshots/classes.txt
+++ b/test/yarp/snapshots/classes.txt
@@ -1,118 +1,118 @@
-@ ProgramNode (location: (0...370))
+@ ProgramNode (location: (1,0)-(35,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...370))
+ @ StatementsNode (location: (1,0)-(35,3))
└── body: (length: 14)
- ├── @ ClassNode (location: (0...17))
+ ├── @ ClassNode (location: (1,0)-(1,17))
│ ├── locals: [:a]
- │ ├── class_keyword_loc: (0...5) = "class"
+ │ ├── class_keyword_loc: (1,0)-(1,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (6...7))
+ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (8...13))
+ │ │ @ StatementsNode (location: (1,8)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (8...13))
+ │ │ └── @ LocalVariableWriteNode (location: (1,8)-(1,13))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (8...9) = "a"
+ │ │ ├── name_loc: (1,8)-(1,9) = "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (10...11) = "="
- │ ├── end_keyword_loc: (14...17) = "end"
+ │ │ └── operator_loc: (1,10)-(1,11) = "="
+ │ ├── end_keyword_loc: (1,14)-(1,17) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (19...39))
+ ├── @ ClassNode (location: (3,0)-(3,20))
│ ├── locals: []
- │ ├── class_keyword_loc: (19...24) = "class"
+ │ ├── class_keyword_loc: (3,0)-(3,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (25...26))
+ │ │ @ ConstantReadNode (location: (3,6)-(3,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ BeginNode (location: (28...39))
+ │ │ @ BeginNode (location: (3,9)-(3,20))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (28...39))
- │ │ │ ├── ensure_keyword_loc: (28...34) = "ensure"
+ │ │ │ @ EnsureNode (location: (3,9)-(3,20))
+ │ │ │ ├── ensure_keyword_loc: (3,9)-(3,15) = "ensure"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (36...39) = "end"
- │ │ └── end_keyword_loc: (36...39) = "end"
- │ ├── end_keyword_loc: (36...39) = "end"
+ │ │ │ └── end_keyword_loc: (3,17)-(3,20) = "end"
+ │ │ └── end_keyword_loc: (3,17)-(3,20) = "end"
+ │ ├── end_keyword_loc: (3,17)-(3,20) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (41...75))
+ ├── @ ClassNode (location: (5,0)-(5,34))
│ ├── locals: []
- │ ├── class_keyword_loc: (41...46) = "class"
+ │ ├── class_keyword_loc: (5,0)-(5,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (47...48))
+ │ │ @ ConstantReadNode (location: (5,6)-(5,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ BeginNode (location: (50...75))
+ │ │ @ BeginNode (location: (5,9)-(5,34))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (50...56))
- │ │ │ ├── keyword_loc: (50...56) = "rescue"
+ │ │ │ @ RescueNode (location: (5,9)-(5,15))
+ │ │ │ ├── keyword_loc: (5,9)-(5,15) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (58...70))
- │ │ │ ├── else_keyword_loc: (58...62) = "else"
+ │ │ │ @ ElseNode (location: (5,17)-(5,29))
+ │ │ │ ├── else_keyword_loc: (5,17)-(5,21) = "else"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (64...70) = "ensure"
+ │ │ │ └── end_keyword_loc: (5,23)-(5,29) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (64...75))
- │ │ │ ├── ensure_keyword_loc: (64...70) = "ensure"
+ │ │ │ @ EnsureNode (location: (5,23)-(5,34))
+ │ │ │ ├── ensure_keyword_loc: (5,23)-(5,29) = "ensure"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (72...75) = "end"
- │ │ └── end_keyword_loc: (72...75) = "end"
- │ ├── end_keyword_loc: (72...75) = "end"
+ │ │ │ └── end_keyword_loc: (5,31)-(5,34) = "end"
+ │ │ └── end_keyword_loc: (5,31)-(5,34) = "end"
+ │ ├── end_keyword_loc: (5,31)-(5,34) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (77...98))
+ ├── @ ClassNode (location: (7,0)-(9,3))
│ ├── locals: [:a]
- │ ├── class_keyword_loc: (77...82) = "class"
+ │ ├── class_keyword_loc: (7,0)-(7,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (83...84))
+ │ │ @ ConstantReadNode (location: (7,6)-(7,7))
│ │ └── name: :A
- │ ├── inheritance_operator_loc: (85...86) = "<"
+ │ ├── inheritance_operator_loc: (7,8)-(7,9) = "<"
│ ├── superclass:
- │ │ @ ConstantReadNode (location: (87...88))
+ │ │ @ ConstantReadNode (location: (7,10)-(7,11))
│ │ └── name: :B
│ ├── body:
- │ │ @ StatementsNode (location: (89...94))
+ │ │ @ StatementsNode (location: (8,0)-(8,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (89...94))
+ │ │ └── @ LocalVariableWriteNode (location: (8,0)-(8,5))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (89...90) = "a"
+ │ │ ├── name_loc: (8,0)-(8,1) = "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (93...94))
+ │ │ │ @ IntegerNode (location: (8,4)-(8,5))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (91...92) = "="
- │ ├── end_keyword_loc: (95...98) = "end"
+ │ │ └── operator_loc: (8,2)-(8,3) = "="
+ │ ├── end_keyword_loc: (9,0)-(9,3) = "end"
│ └── name: :A
- ├── @ SingletonClassNode (location: (100...120))
+ ├── @ SingletonClassNode (location: (11,0)-(12,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (100...105) = "class"
- │ ├── operator_loc: (106...108) = "<<"
+ │ ├── class_keyword_loc: (11,0)-(11,5) = "class"
+ │ ├── operator_loc: (11,6)-(11,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (109...116))
+ │ │ @ CallNode (location: (11,9)-(11,16))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (113...116))
+ │ │ │ @ CallNode (location: (11,13)-(11,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (113...116) = "foo"
+ │ │ │ ├── message_loc: (11,13)-(11,16) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -120,7 +120,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (109...112) = "not"
+ │ │ ├── message_loc: (11,9)-(11,12) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -128,101 +128,101 @@
│ │ ├── flags: ∅
│ │ └── name: "!"
│ ├── body: ∅
- │ └── end_keyword_loc: (117...120) = "end"
- ├── @ ClassNode (location: (122...162))
+ │ └── end_keyword_loc: (12,0)-(12,3) = "end"
+ ├── @ ClassNode (location: (14,0)-(14,40))
│ ├── locals: []
- │ ├── class_keyword_loc: (122...127) = "class"
+ │ ├── class_keyword_loc: (14,0)-(14,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (128...129))
+ │ │ @ ConstantReadNode (location: (14,6)-(14,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (131...157))
+ │ │ @ StatementsNode (location: (14,9)-(14,35))
│ │ └── body: (length: 1)
- │ │ └── @ SingletonClassNode (location: (131...157))
+ │ │ └── @ SingletonClassNode (location: (14,9)-(14,35))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (131...136) = "class"
- │ │ ├── operator_loc: (137...139) = "<<"
+ │ │ ├── class_keyword_loc: (14,9)-(14,14) = "class"
+ │ │ ├── operator_loc: (14,15)-(14,17) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (140...144))
+ │ │ │ @ SelfNode (location: (14,18)-(14,22))
│ │ ├── body:
- │ │ │ @ BeginNode (location: (146...157))
+ │ │ │ @ BeginNode (location: (14,24)-(14,35))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (146...157))
- │ │ │ │ ├── ensure_keyword_loc: (146...152) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (14,24)-(14,35))
+ │ │ │ │ ├── ensure_keyword_loc: (14,24)-(14,30) = "ensure"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (154...157) = "end"
- │ │ │ └── end_keyword_loc: (154...157) = "end"
- │ │ └── end_keyword_loc: (154...157) = "end"
- │ ├── end_keyword_loc: (159...162) = "end"
+ │ │ │ │ └── end_keyword_loc: (14,32)-(14,35) = "end"
+ │ │ │ └── end_keyword_loc: (14,32)-(14,35) = "end"
+ │ │ └── end_keyword_loc: (14,32)-(14,35) = "end"
+ │ ├── end_keyword_loc: (14,37)-(14,40) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (164...218))
+ ├── @ ClassNode (location: (16,0)-(16,54))
│ ├── locals: []
- │ ├── class_keyword_loc: (164...169) = "class"
+ │ ├── class_keyword_loc: (16,0)-(16,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (170...171))
+ │ │ @ ConstantReadNode (location: (16,6)-(16,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (173...213))
+ │ │ @ StatementsNode (location: (16,9)-(16,49))
│ │ └── body: (length: 1)
- │ │ └── @ SingletonClassNode (location: (173...213))
+ │ │ └── @ SingletonClassNode (location: (16,9)-(16,49))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (173...178) = "class"
- │ │ ├── operator_loc: (179...181) = "<<"
+ │ │ ├── class_keyword_loc: (16,9)-(16,14) = "class"
+ │ │ ├── operator_loc: (16,15)-(16,17) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (182...186))
+ │ │ │ @ SelfNode (location: (16,18)-(16,22))
│ │ ├── body:
- │ │ │ @ BeginNode (location: (188...213))
+ │ │ │ @ BeginNode (location: (16,24)-(16,49))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (188...194))
- │ │ │ │ ├── keyword_loc: (188...194) = "rescue"
+ │ │ │ │ @ RescueNode (location: (16,24)-(16,30))
+ │ │ │ │ ├── keyword_loc: (16,24)-(16,30) = "rescue"
│ │ │ │ ├── exceptions: (length: 0)
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
│ │ │ │ ├── statements: ∅
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause:
- │ │ │ │ @ ElseNode (location: (196...208))
- │ │ │ │ ├── else_keyword_loc: (196...200) = "else"
+ │ │ │ │ @ ElseNode (location: (16,32)-(16,44))
+ │ │ │ │ ├── else_keyword_loc: (16,32)-(16,36) = "else"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (202...208) = "ensure"
+ │ │ │ │ └── end_keyword_loc: (16,38)-(16,44) = "ensure"
│ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (202...213))
- │ │ │ │ ├── ensure_keyword_loc: (202...208) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (16,38)-(16,49))
+ │ │ │ │ ├── ensure_keyword_loc: (16,38)-(16,44) = "ensure"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (210...213) = "end"
- │ │ │ └── end_keyword_loc: (210...213) = "end"
- │ │ └── end_keyword_loc: (210...213) = "end"
- │ ├── end_keyword_loc: (215...218) = "end"
+ │ │ │ │ └── end_keyword_loc: (16,46)-(16,49) = "end"
+ │ │ │ └── end_keyword_loc: (16,46)-(16,49) = "end"
+ │ │ └── end_keyword_loc: (16,46)-(16,49) = "end"
+ │ ├── end_keyword_loc: (16,51)-(16,54) = "end"
│ └── name: :A
- ├── @ SingletonClassNode (location: (220...240))
+ ├── @ SingletonClassNode (location: (18,0)-(19,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (220...225) = "class"
- │ ├── operator_loc: (226...228) = "<<"
+ │ ├── class_keyword_loc: (18,0)-(18,5) = "class"
+ │ ├── operator_loc: (18,6)-(18,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (229...236))
+ │ │ @ CallNode (location: (18,9)-(18,16))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (229...232))
+ │ │ │ @ CallNode (location: (18,9)-(18,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (229...232) = "foo"
+ │ │ │ ├── message_loc: (18,9)-(18,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── call_operator_loc: (232...233) = "."
- │ │ ├── message_loc: (233...236) = "bar"
+ │ │ ├── call_operator_loc: (18,12)-(18,13) = "."
+ │ │ ├── message_loc: (18,13)-(18,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -230,26 +230,26 @@
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── body: ∅
- │ └── end_keyword_loc: (237...240) = "end"
- ├── @ SingletonClassNode (location: (242...262))
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ SingletonClassNode (location: (21,0)-(21,20))
│ ├── locals: []
- │ ├── class_keyword_loc: (242...247) = "class"
- │ ├── operator_loc: (248...250) = "<<"
+ │ ├── class_keyword_loc: (21,0)-(21,5) = "class"
+ │ ├── operator_loc: (21,6)-(21,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (251...258))
+ │ │ @ CallNode (location: (21,9)-(21,16))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (251...254))
+ │ │ │ @ CallNode (location: (21,9)-(21,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (251...254) = "foo"
+ │ │ │ ├── message_loc: (21,9)-(21,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── call_operator_loc: (254...255) = "."
- │ │ ├── message_loc: (255...258) = "bar"
+ │ │ ├── call_operator_loc: (21,12)-(21,13) = "."
+ │ │ ├── message_loc: (21,13)-(21,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -257,99 +257,99 @@
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── body: ∅
- │ └── end_keyword_loc: (259...262) = "end"
- ├── @ SingletonClassNode (location: (264...281))
+ │ └── end_keyword_loc: (21,17)-(21,20) = "end"
+ ├── @ SingletonClassNode (location: (23,0)-(24,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (264...269) = "class"
- │ ├── operator_loc: (270...272) = "<<"
+ │ ├── class_keyword_loc: (23,0)-(23,5) = "class"
+ │ ├── operator_loc: (23,6)-(23,8) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (273...277))
+ │ │ @ SelfNode (location: (23,9)-(23,13))
│ ├── body: ∅
- │ └── end_keyword_loc: (278...281) = "end"
- ├── @ SingletonClassNode (location: (283...300))
+ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ ├── @ SingletonClassNode (location: (26,0)-(26,17))
│ ├── locals: []
- │ ├── class_keyword_loc: (283...288) = "class"
- │ ├── operator_loc: (289...291) = "<<"
+ │ ├── class_keyword_loc: (26,0)-(26,5) = "class"
+ │ ├── operator_loc: (26,6)-(26,8) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (292...296))
+ │ │ @ SelfNode (location: (26,9)-(26,13))
│ ├── body: ∅
- │ └── end_keyword_loc: (297...300) = "end"
- ├── @ SingletonClassNode (location: (302...325))
+ │ └── end_keyword_loc: (26,14)-(26,17) = "end"
+ ├── @ SingletonClassNode (location: (28,0)-(30,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (302...307) = "class"
- │ ├── operator_loc: (308...310) = "<<"
+ │ ├── class_keyword_loc: (28,0)-(28,5) = "class"
+ │ ├── operator_loc: (28,6)-(28,8) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (311...315))
+ │ │ @ SelfNode (location: (28,9)-(28,13))
│ ├── body:
- │ │ @ StatementsNode (location: (316...321))
+ │ │ @ StatementsNode (location: (29,0)-(29,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (316...321))
+ │ │ └── @ CallNode (location: (29,0)-(29,5))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (316...317))
+ │ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (318...319) = "+"
+ │ │ ├── message_loc: (29,2)-(29,3) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (320...321))
+ │ │ │ @ ArgumentsNode (location: (29,4)-(29,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (320...321))
+ │ │ │ └── @ IntegerNode (location: (29,4)-(29,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ └── end_keyword_loc: (322...325) = "end"
- ├── @ SingletonClassNode (location: (327...350))
+ │ └── end_keyword_loc: (30,0)-(30,3) = "end"
+ ├── @ SingletonClassNode (location: (32,0)-(32,23))
│ ├── locals: []
- │ ├── class_keyword_loc: (327...332) = "class"
- │ ├── operator_loc: (333...335) = "<<"
+ │ ├── class_keyword_loc: (32,0)-(32,5) = "class"
+ │ ├── operator_loc: (32,6)-(32,8) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (336...340))
+ │ │ @ SelfNode (location: (32,9)-(32,13))
│ ├── body:
- │ │ @ StatementsNode (location: (341...346))
+ │ │ @ StatementsNode (location: (32,14)-(32,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (341...346))
+ │ │ └── @ CallNode (location: (32,14)-(32,19))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (341...342))
+ │ │ │ @ IntegerNode (location: (32,14)-(32,15))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (343...344) = "+"
+ │ │ ├── message_loc: (32,16)-(32,17) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (345...346))
+ │ │ │ @ ArgumentsNode (location: (32,18)-(32,19))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (345...346))
+ │ │ │ └── @ IntegerNode (location: (32,18)-(32,19))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ └── end_keyword_loc: (347...350) = "end"
- └── @ ClassNode (location: (352...370))
+ │ └── end_keyword_loc: (32,20)-(32,23) = "end"
+ └── @ ClassNode (location: (34,0)-(35,3))
├── locals: []
- ├── class_keyword_loc: (352...357) = "class"
+ ├── class_keyword_loc: (34,0)-(34,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (358...359))
+ │ @ ConstantReadNode (location: (34,6)-(34,7))
│ └── name: :A
- ├── inheritance_operator_loc: (360...361) = "<"
+ ├── inheritance_operator_loc: (34,8)-(34,9) = "<"
├── superclass:
- │ @ CallNode (location: (362...366))
+ │ @ CallNode (location: (34,10)-(34,14))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (362...363))
+ │ │ @ ConstantReadNode (location: (34,10)-(34,11))
│ │ └── name: :B
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (363...366) = "[1]"
- │ ├── opening_loc: (363...364) = "["
+ │ ├── message_loc: (34,11)-(34,14) = "[1]"
+ │ ├── opening_loc: (34,11)-(34,12) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (364...365))
+ │ │ @ ArgumentsNode (location: (34,12)-(34,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (364...365))
+ │ │ └── @ IntegerNode (location: (34,12)-(34,13))
│ │ └── flags: decimal
- │ ├── closing_loc: (365...366) = "]"
+ │ ├── closing_loc: (34,13)-(34,14) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
├── body: ∅
- ├── end_keyword_loc: (367...370) = "end"
+ ├── end_keyword_loc: (35,0)-(35,3) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/comments.txt b/test/yarp/snapshots/comments.txt
index aa399a6171..84cd210bb9 100644
--- a/test/yarp/snapshots/comments.txt
+++ b/test/yarp/snapshots/comments.txt
@@ -1,142 +1,142 @@
-@ ProgramNode (location: (0...118))
+@ ProgramNode (location: (1,0)-(24,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...118))
+ @ StatementsNode (location: (1,0)-(24,5))
└── body: (length: 9)
- ├── @ CallNode (location: (0...1))
+ ├── @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ CallNode (location: (13...14))
+ ├── @ CallNode (location: (3,0)-(3,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...14) = "b"
+ │ ├── message_loc: (3,0)-(3,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── @ CallNode (location: (16...17))
+ ├── @ CallNode (location: (5,0)-(5,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...17) = "c"
+ │ ├── message_loc: (5,0)-(5,1) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "c"
- ├── @ CallNode (location: (28...29))
+ ├── @ CallNode (location: (6,0)-(6,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (28...29) = "d"
+ │ ├── message_loc: (6,0)-(6,1) = "d"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "d"
- ├── @ CallNode (location: (31...47))
+ ├── @ CallNode (location: (8,0)-(10,4))
│ ├── receiver:
- │ │ @ CallNode (location: (31...32))
+ │ │ @ CallNode (location: (8,0)-(8,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...32) = "e"
+ │ │ ├── message_loc: (8,0)-(8,1) = "e"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "e"
- │ ├── call_operator_loc: (45...46) = "."
- │ ├── message_loc: (46...47) = "f"
+ │ ├── call_operator_loc: (10,2)-(10,3) = "."
+ │ ├── message_loc: (10,3)-(10,4) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (49...64))
+ ├── @ CallNode (location: (12,0)-(14,2))
│ ├── receiver:
- │ │ @ CallNode (location: (49...50))
+ │ │ @ CallNode (location: (12,0)-(12,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (49...50) = "g"
+ │ │ ├── message_loc: (12,0)-(12,1) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "g"
- │ ├── call_operator_loc: (62...63) = "."
- │ ├── message_loc: (63...64) = "h"
+ │ ├── call_operator_loc: (14,0)-(14,1) = "."
+ │ ├── message_loc: (14,1)-(14,2) = "h"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "h"
- ├── @ CallNode (location: (66...80))
+ ├── @ CallNode (location: (16,0)-(17,2))
│ ├── receiver:
- │ │ @ CallNode (location: (66...67))
+ │ │ @ CallNode (location: (16,0)-(16,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (66...67) = "i"
+ │ │ ├── message_loc: (16,0)-(16,1) = "i"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "i"
- │ ├── call_operator_loc: (78...79) = "."
- │ ├── message_loc: (79...80) = "j"
+ │ ├── call_operator_loc: (17,0)-(17,1) = "."
+ │ ├── message_loc: (17,1)-(17,2) = "j"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "j"
- ├── @ CallNode (location: (82...98))
+ ├── @ CallNode (location: (19,0)-(20,4))
│ ├── receiver:
- │ │ @ CallNode (location: (82...83))
+ │ │ @ CallNode (location: (19,0)-(19,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (82...83) = "k"
+ │ │ ├── message_loc: (19,0)-(19,1) = "k"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "k"
- │ ├── call_operator_loc: (96...97) = "."
- │ ├── message_loc: (97...98) = "l"
+ │ ├── call_operator_loc: (20,2)-(20,3) = "."
+ │ ├── message_loc: (20,3)-(20,4) = "l"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "l"
- └── @ CallNode (location: (100...118))
+ └── @ CallNode (location: (22,0)-(24,5))
├── receiver:
- │ @ CallNode (location: (100...101))
+ │ @ CallNode (location: (22,0)-(22,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (100...101) = "m"
+ │ ├── message_loc: (22,0)-(22,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "m"
- ├── call_operator_loc: (115...117) = "&."
- ├── message_loc: (117...118) = "n"
+ ├── call_operator_loc: (24,2)-(24,4) = "&."
+ ├── message_loc: (24,4)-(24,5) = "n"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/constants.txt b/test/yarp/snapshots/constants.txt
index 3238f9e93e..9b3105880b 100644
--- a/test/yarp/snapshots/constants.txt
+++ b/test/yarp/snapshots/constants.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...792))
+@ ProgramNode (location: (1,0)-(184,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...792))
+ @ StatementsNode (location: (1,0)-(184,10))
└── body: (length: 90)
- ├── @ ConstantPathNode (location: (0...4))
+ ├── @ ConstantPathNode (location: (1,0)-(1,4))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (0...1))
+ │ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ │ └── name: :A
│ ├── child:
- │ │ @ ConstantReadNode (location: (3...4))
+ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
│ │ └── name: :B
- │ └── delimiter_loc: (1...3) = "::"
- ├── @ ConstantPathNode (location: (6...13))
+ │ └── delimiter_loc: (1,1)-(1,3) = "::"
+ ├── @ ConstantPathNode (location: (3,0)-(3,7))
│ ├── parent:
- │ │ @ ConstantPathNode (location: (6...10))
+ │ │ @ ConstantPathNode (location: (3,0)-(3,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (6...7))
+ │ │ │ @ ConstantReadNode (location: (3,0)-(3,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (9...10))
+ │ │ │ @ ConstantReadNode (location: (3,3)-(3,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (7...9) = "::"
+ │ │ └── delimiter_loc: (3,1)-(3,3) = "::"
│ ├── child:
- │ │ @ ConstantReadNode (location: (12...13))
+ │ │ @ ConstantReadNode (location: (3,6)-(3,7))
│ │ └── name: :C
- │ └── delimiter_loc: (10...12) = "::"
- ├── @ ConstantPathNode (location: (15...19))
+ │ └── delimiter_loc: (3,4)-(3,6) = "::"
+ ├── @ ConstantPathNode (location: (5,0)-(5,4))
│ ├── parent:
- │ │ @ CallNode (location: (15...16))
+ │ │ @ CallNode (location: (5,0)-(5,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (15...16) = "a"
+ │ │ ├── message_loc: (5,0)-(5,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -38,61 +38,61 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── child:
- │ │ @ ConstantReadNode (location: (18...19))
+ │ │ @ ConstantReadNode (location: (5,3)-(5,4))
│ │ └── name: :B
- │ └── delimiter_loc: (16...18) = "::"
- ├── @ ConstantPathWriteNode (location: (21...29))
+ │ └── delimiter_loc: (5,1)-(5,3) = "::"
+ ├── @ ConstantPathWriteNode (location: (7,0)-(7,8))
│ ├── target:
- │ │ @ ConstantPathNode (location: (21...25))
+ │ │ @ ConstantPathNode (location: (7,0)-(7,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (21...22))
+ │ │ │ @ ConstantReadNode (location: (7,0)-(7,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (24...25))
+ │ │ │ @ ConstantReadNode (location: (7,3)-(7,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (22...24) = "::"
- │ ├── operator_loc: (26...27) = "="
+ │ │ └── delimiter_loc: (7,1)-(7,3) = "::"
+ │ ├── operator_loc: (7,5)-(7,6) = "="
│ └── value:
- │ @ IntegerNode (location: (28...29))
+ │ @ IntegerNode (location: (7,7)-(7,8))
│ └── flags: decimal
- ├── @ ConstantWriteNode (location: (31...36))
+ ├── @ ConstantWriteNode (location: (9,0)-(9,5))
│ ├── name: :A
- │ ├── name_loc: (31...32) = "A"
+ │ ├── name_loc: (9,0)-(9,1) = "A"
│ ├── value:
- │ │ @ IntegerNode (location: (35...36))
+ │ │ @ IntegerNode (location: (9,4)-(9,5))
│ │ └── flags: decimal
- │ └── operator_loc: (33...34) = "="
- ├── @ ConstantReadNode (location: (38...41))
+ │ └── operator_loc: (9,2)-(9,3) = "="
+ ├── @ ConstantReadNode (location: (11,0)-(11,3))
│ └── name: :ABC
- ├── @ CallNode (location: (43...48))
+ ├── @ CallNode (location: (13,0)-(13,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (43...46) = "Foo"
+ │ ├── message_loc: (13,0)-(13,3) = "Foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (47...48))
+ │ │ @ ArgumentsNode (location: (13,4)-(13,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (47...48))
+ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Foo"
- ├── @ CallNode (location: (50...58))
+ ├── @ CallNode (location: (15,0)-(15,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (50...53) = "Foo"
+ │ ├── message_loc: (15,0)-(15,3) = "Foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (54...58))
+ │ │ @ ArgumentsNode (location: (15,4)-(15,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (54...58))
- │ │ ├── operator_loc: (54...55) = "*"
+ │ │ └── @ SplatNode (location: (15,4)-(15,8))
+ │ │ ├── operator_loc: (15,4)-(15,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (55...58))
+ │ │ @ CallNode (location: (15,5)-(15,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (55...58) = "bar"
+ │ │ ├── message_loc: (15,5)-(15,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -103,73 +103,73 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Foo"
- ├── @ CallNode (location: (60...69))
+ ├── @ CallNode (location: (17,0)-(17,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...63) = "Foo"
+ │ ├── message_loc: (17,0)-(17,3) = "Foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (64...69))
+ │ │ @ ArgumentsNode (location: (17,4)-(17,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (64...69))
+ │ │ └── @ KeywordHashNode (location: (17,4)-(17,9))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (64...69))
+ │ │ └── @ AssocSplatNode (location: (17,4)-(17,9))
│ │ ├── value:
- │ │ │ @ CallNode (location: (66...69))
+ │ │ │ @ CallNode (location: (17,6)-(17,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (66...69) = "bar"
+ │ │ │ ├── message_loc: (17,6)-(17,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (64...66) = "**"
+ │ │ └── operator_loc: (17,4)-(17,6) = "**"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Foo"
- ├── @ CallNode (location: (71...79))
+ ├── @ CallNode (location: (19,0)-(19,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (71...74) = "Foo"
+ │ ├── message_loc: (19,0)-(19,3) = "Foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockArgumentNode (location: (75...79))
+ │ │ @ BlockArgumentNode (location: (19,4)-(19,8))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (76...79))
+ │ │ │ @ CallNode (location: (19,5)-(19,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (76...79) = "bar"
+ │ │ │ ├── message_loc: (19,5)-(19,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (75...76) = "&"
+ │ │ └── operator_loc: (19,4)-(19,5) = "&"
│ ├── flags: ∅
│ └── name: "Foo"
- ├── @ CallNode (location: (81...94))
+ ├── @ CallNode (location: (21,0)-(21,13))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (81...84))
+ │ │ @ ConstantReadNode (location: (21,0)-(21,3))
│ │ └── name: :Foo
- │ ├── call_operator_loc: (84...86) = "::"
- │ ├── message_loc: (86...89) = "Bar"
+ │ ├── call_operator_loc: (21,3)-(21,5) = "::"
+ │ ├── message_loc: (21,5)-(21,8) = "Bar"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (90...94))
+ │ │ @ ArgumentsNode (location: (21,9)-(21,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (90...94))
- │ │ ├── operator_loc: (90...91) = "*"
+ │ │ └── @ SplatNode (location: (21,9)-(21,13))
+ │ │ ├── operator_loc: (21,9)-(21,10) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (91...94))
+ │ │ @ CallNode (location: (21,10)-(21,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (91...94) = "baz"
+ │ │ ├── message_loc: (21,10)-(21,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -180,840 +180,840 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Bar"
- ├── @ CallNode (location: (96...110))
+ ├── @ CallNode (location: (23,0)-(23,14))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (96...99))
+ │ │ @ ConstantReadNode (location: (23,0)-(23,3))
│ │ └── name: :Foo
- │ ├── call_operator_loc: (99...101) = "::"
- │ ├── message_loc: (101...104) = "Bar"
+ │ ├── call_operator_loc: (23,3)-(23,5) = "::"
+ │ ├── message_loc: (23,5)-(23,8) = "Bar"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (105...110))
+ │ │ @ ArgumentsNode (location: (23,9)-(23,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (105...110))
+ │ │ └── @ KeywordHashNode (location: (23,9)-(23,14))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (105...110))
+ │ │ └── @ AssocSplatNode (location: (23,9)-(23,14))
│ │ ├── value:
- │ │ │ @ CallNode (location: (107...110))
+ │ │ │ @ CallNode (location: (23,11)-(23,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (107...110) = "baz"
+ │ │ │ ├── message_loc: (23,11)-(23,14) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (105...107) = "**"
+ │ │ └── operator_loc: (23,9)-(23,11) = "**"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Bar"
- ├── @ CallNode (location: (112...125))
+ ├── @ CallNode (location: (25,0)-(25,13))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (112...115))
+ │ │ @ ConstantReadNode (location: (25,0)-(25,3))
│ │ └── name: :Foo
- │ ├── call_operator_loc: (115...117) = "::"
- │ ├── message_loc: (117...120) = "Bar"
+ │ ├── call_operator_loc: (25,3)-(25,5) = "::"
+ │ ├── message_loc: (25,5)-(25,8) = "Bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockArgumentNode (location: (121...125))
+ │ │ @ BlockArgumentNode (location: (25,9)-(25,13))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (122...125))
+ │ │ │ @ CallNode (location: (25,10)-(25,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (122...125) = "baz"
+ │ │ │ ├── message_loc: (25,10)-(25,13) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (121...122) = "&"
+ │ │ └── operator_loc: (25,9)-(25,10) = "&"
│ ├── flags: ∅
│ └── name: "Bar"
- ├── @ CallNode (location: (127...135))
+ ├── @ CallNode (location: (27,0)-(27,8))
│ ├── receiver:
- │ │ @ ConstantPathNode (location: (127...130))
+ │ │ @ ConstantPathNode (location: (27,0)-(27,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (129...130))
+ │ │ │ @ ConstantReadNode (location: (27,2)-(27,3))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (127...129) = "::"
- │ ├── call_operator_loc: (130...132) = "::"
- │ ├── message_loc: (132...135) = "foo"
+ │ │ └── delimiter_loc: (27,0)-(27,2) = "::"
+ │ ├── call_operator_loc: (27,3)-(27,5) = "::"
+ │ ├── message_loc: (27,5)-(27,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ ConstantPathWriteNode (location: (137...144))
+ ├── @ ConstantPathWriteNode (location: (29,0)-(29,7))
│ ├── target:
- │ │ @ ConstantPathNode (location: (137...140))
+ │ │ @ ConstantPathNode (location: (29,0)-(29,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (139...140))
+ │ │ │ @ ConstantReadNode (location: (29,2)-(29,3))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (137...139) = "::"
- │ ├── operator_loc: (141...142) = "="
+ │ │ └── delimiter_loc: (29,0)-(29,2) = "::"
+ │ ├── operator_loc: (29,4)-(29,5) = "="
│ └── value:
- │ @ IntegerNode (location: (143...144))
+ │ @ IntegerNode (location: (29,6)-(29,7))
│ └── flags: decimal
- ├── @ ConstantPathWriteNode (location: (146...156))
+ ├── @ ConstantPathWriteNode (location: (31,0)-(31,10))
│ ├── target:
- │ │ @ ConstantPathNode (location: (146...152))
+ │ │ @ ConstantPathNode (location: (31,0)-(31,6))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (146...149))
+ │ │ │ @ ConstantPathNode (location: (31,0)-(31,3))
│ │ │ ├── parent: ∅
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (148...149))
+ │ │ │ │ @ ConstantReadNode (location: (31,2)-(31,3))
│ │ │ │ └── name: :A
- │ │ │ └── delimiter_loc: (146...148) = "::"
+ │ │ │ └── delimiter_loc: (31,0)-(31,2) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (151...152))
+ │ │ │ @ ConstantReadNode (location: (31,5)-(31,6))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (149...151) = "::"
- │ ├── operator_loc: (153...154) = "="
+ │ │ └── delimiter_loc: (31,3)-(31,5) = "::"
+ │ ├── operator_loc: (31,7)-(31,8) = "="
│ └── value:
- │ @ IntegerNode (location: (155...156))
+ │ @ IntegerNode (location: (31,9)-(31,10))
│ └── flags: decimal
- ├── @ ConstantPathNode (location: (158...164))
+ ├── @ ConstantPathNode (location: (33,0)-(33,6))
│ ├── parent:
- │ │ @ ConstantPathNode (location: (158...161))
+ │ │ @ ConstantPathNode (location: (33,0)-(33,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (160...161))
+ │ │ │ @ ConstantReadNode (location: (33,2)-(33,3))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (158...160) = "::"
+ │ │ └── delimiter_loc: (33,0)-(33,2) = "::"
│ ├── child:
- │ │ @ ConstantReadNode (location: (163...164))
+ │ │ @ ConstantReadNode (location: (33,5)-(33,6))
│ │ └── name: :B
- │ └── delimiter_loc: (161...163) = "::"
- ├── @ ConstantPathNode (location: (166...169))
+ │ └── delimiter_loc: (33,3)-(33,5) = "::"
+ ├── @ ConstantPathNode (location: (35,0)-(35,3))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (168...169))
+ │ │ @ ConstantReadNode (location: (35,2)-(35,3))
│ │ └── name: :A
- │ └── delimiter_loc: (166...168) = "::"
- ├── @ CallNode (location: (171...179))
+ │ └── delimiter_loc: (35,0)-(35,2) = "::"
+ ├── @ CallNode (location: (37,0)-(37,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (171...172))
+ │ │ @ ConstantReadNode (location: (37,0)-(37,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (172...174) = "::"
- │ ├── message_loc: (174...179) = "false"
+ │ ├── call_operator_loc: (37,1)-(37,3) = "::"
+ │ ├── message_loc: (37,3)-(37,8) = "false"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "false"
- ├── @ CallNode (location: (181...191))
+ ├── @ CallNode (location: (39,0)-(39,10))
│ ├── receiver:
- │ │ @ ConstantPathNode (location: (181...185))
+ │ │ @ ConstantPathNode (location: (39,0)-(39,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (181...182))
+ │ │ │ @ ConstantReadNode (location: (39,0)-(39,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (184...185))
+ │ │ │ @ ConstantReadNode (location: (39,3)-(39,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (182...184) = "::"
- │ ├── call_operator_loc: (185...187) = "::"
- │ ├── message_loc: (187...191) = "true"
+ │ │ └── delimiter_loc: (39,1)-(39,3) = "::"
+ │ ├── call_operator_loc: (39,4)-(39,6) = "::"
+ │ ├── message_loc: (39,6)-(39,10) = "true"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "true"
- ├── @ CallNode (location: (193...197))
+ ├── @ CallNode (location: (41,0)-(41,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (193...194))
+ │ │ @ ConstantReadNode (location: (41,0)-(41,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (194...196) = "::"
- │ ├── message_loc: (196...197) = "&"
+ │ ├── call_operator_loc: (41,1)-(41,3) = "::"
+ │ ├── message_loc: (41,3)-(41,4) = "&"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
- ├── @ CallNode (location: (199...203))
+ ├── @ CallNode (location: (43,0)-(43,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (199...200))
+ │ │ @ ConstantReadNode (location: (43,0)-(43,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (200...202) = "::"
- │ ├── message_loc: (202...203) = "`"
+ │ ├── call_operator_loc: (43,1)-(43,3) = "::"
+ │ ├── message_loc: (43,3)-(43,4) = "`"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "`"
- ├── @ CallNode (location: (205...209))
+ ├── @ CallNode (location: (45,0)-(45,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (205...206))
+ │ │ @ ConstantReadNode (location: (45,0)-(45,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (206...208) = "::"
- │ ├── message_loc: (208...209) = "!"
+ │ ├── call_operator_loc: (45,1)-(45,3) = "::"
+ │ ├── message_loc: (45,3)-(45,4) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (211...216))
+ ├── @ CallNode (location: (47,0)-(47,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (211...212))
+ │ │ @ ConstantReadNode (location: (47,0)-(47,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (212...214) = "::"
- │ ├── message_loc: (214...216) = "!="
+ │ ├── call_operator_loc: (47,1)-(47,3) = "::"
+ │ ├── message_loc: (47,3)-(47,5) = "!="
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!="
- ├── @ CallNode (location: (218...222))
+ ├── @ CallNode (location: (49,0)-(49,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (218...219))
+ │ │ @ ConstantReadNode (location: (49,0)-(49,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (219...221) = "::"
- │ ├── message_loc: (221...222) = "^"
+ │ ├── call_operator_loc: (49,1)-(49,3) = "::"
+ │ ├── message_loc: (49,3)-(49,4) = "^"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "^"
- ├── @ CallNode (location: (224...229))
+ ├── @ CallNode (location: (51,0)-(51,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (224...225))
+ │ │ @ ConstantReadNode (location: (51,0)-(51,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (225...227) = "::"
- │ ├── message_loc: (227...229) = "=="
+ │ ├── call_operator_loc: (51,1)-(51,3) = "::"
+ │ ├── message_loc: (51,3)-(51,5) = "=="
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=="
- ├── @ CallNode (location: (231...237))
+ ├── @ CallNode (location: (53,0)-(53,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (231...232))
+ │ │ @ ConstantReadNode (location: (53,0)-(53,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (232...234) = "::"
- │ ├── message_loc: (234...237) = "==="
+ │ ├── call_operator_loc: (53,1)-(53,3) = "::"
+ │ ├── message_loc: (53,3)-(53,6) = "==="
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "==="
- ├── @ CallNode (location: (239...244))
+ ├── @ CallNode (location: (55,0)-(55,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (239...240))
+ │ │ @ ConstantReadNode (location: (55,0)-(55,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (240...242) = "::"
- │ ├── message_loc: (242...244) = "=~"
+ │ ├── call_operator_loc: (55,1)-(55,3) = "::"
+ │ ├── message_loc: (55,3)-(55,5) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=~"
- ├── @ CallNode (location: (246...250))
+ ├── @ CallNode (location: (57,0)-(57,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (246...247))
+ │ │ @ ConstantReadNode (location: (57,0)-(57,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (247...249) = "::"
- │ ├── message_loc: (249...250) = ">"
+ │ ├── call_operator_loc: (57,1)-(57,3) = "::"
+ │ ├── message_loc: (57,3)-(57,4) = ">"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">"
- ├── @ CallNode (location: (252...257))
+ ├── @ CallNode (location: (59,0)-(59,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (252...253))
+ │ │ @ ConstantReadNode (location: (59,0)-(59,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (253...255) = "::"
- │ ├── message_loc: (255...257) = ">="
+ │ ├── call_operator_loc: (59,1)-(59,3) = "::"
+ │ ├── message_loc: (59,3)-(59,5) = ">="
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">="
- ├── @ CallNode (location: (259...264))
+ ├── @ CallNode (location: (61,0)-(61,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (259...260))
+ │ │ @ ConstantReadNode (location: (61,0)-(61,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (260...262) = "::"
- │ ├── message_loc: (262...264) = ">>"
+ │ ├── call_operator_loc: (61,1)-(61,3) = "::"
+ │ ├── message_loc: (61,3)-(61,5) = ">>"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">>"
- ├── @ CallNode (location: (266...271))
+ ├── @ CallNode (location: (63,0)-(63,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (266...267))
+ │ │ @ ConstantReadNode (location: (63,0)-(63,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (267...269) = "::"
- │ ├── message_loc: (269...271) = "<<"
+ │ ├── call_operator_loc: (63,1)-(63,3) = "::"
+ │ ├── message_loc: (63,3)-(63,5) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ ConstantPathNode (location: (273...281))
+ ├── @ ConstantPathNode (location: (65,0)-(67,1))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (273...274))
+ │ │ @ ConstantReadNode (location: (65,0)-(65,1))
│ │ └── name: :A
│ ├── child:
- │ │ @ ConstantReadNode (location: (280...281))
+ │ │ @ ConstantReadNode (location: (67,0)-(67,1))
│ │ └── name: :C
- │ └── delimiter_loc: (274...276) = "::"
- ├── @ CallNode (location: (283...291))
+ │ └── delimiter_loc: (65,1)-(65,3) = "::"
+ ├── @ CallNode (location: (69,0)-(69,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (283...284))
+ │ │ @ ConstantReadNode (location: (69,0)-(69,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (284...286) = "::"
- │ ├── message_loc: (286...291) = "alias"
+ │ ├── call_operator_loc: (69,1)-(69,3) = "::"
+ │ ├── message_loc: (69,3)-(69,8) = "alias"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "alias"
- ├── @ CallNode (location: (293...299))
+ ├── @ CallNode (location: (71,0)-(71,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (293...294))
+ │ │ @ ConstantReadNode (location: (71,0)-(71,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (294...296) = "::"
- │ ├── message_loc: (296...299) = "and"
+ │ ├── call_operator_loc: (71,1)-(71,3) = "::"
+ │ ├── message_loc: (71,3)-(71,6) = "and"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "and"
- ├── @ CallNode (location: (301...309))
+ ├── @ CallNode (location: (73,0)-(73,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (301...302))
+ │ │ @ ConstantReadNode (location: (73,0)-(73,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (302...304) = "::"
- │ ├── message_loc: (304...309) = "begin"
+ │ ├── call_operator_loc: (73,1)-(73,3) = "::"
+ │ ├── message_loc: (73,3)-(73,8) = "begin"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "begin"
- ├── @ ConstantPathNode (location: (311...319))
+ ├── @ ConstantPathNode (location: (75,0)-(75,8))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (311...312))
+ │ │ @ ConstantReadNode (location: (75,0)-(75,1))
│ │ └── name: :A
│ ├── child:
- │ │ @ ConstantReadNode (location: (314...319))
+ │ │ @ ConstantReadNode (location: (75,3)-(75,8))
│ │ └── name: :BEGIN
- │ └── delimiter_loc: (312...314) = "::"
- ├── @ CallNode (location: (321...329))
+ │ └── delimiter_loc: (75,1)-(75,3) = "::"
+ ├── @ CallNode (location: (77,0)-(77,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (321...322))
+ │ │ @ ConstantReadNode (location: (77,0)-(77,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (322...324) = "::"
- │ ├── message_loc: (324...329) = "break"
+ │ ├── call_operator_loc: (77,1)-(77,3) = "::"
+ │ ├── message_loc: (77,3)-(77,8) = "break"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "break"
- ├── @ CallNode (location: (331...339))
+ ├── @ CallNode (location: (79,0)-(79,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (331...332))
+ │ │ @ ConstantReadNode (location: (79,0)-(79,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (332...334) = "::"
- │ ├── message_loc: (334...339) = "class"
+ │ ├── call_operator_loc: (79,1)-(79,3) = "::"
+ │ ├── message_loc: (79,3)-(79,8) = "class"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "class"
- ├── @ CallNode (location: (341...347))
+ ├── @ CallNode (location: (81,0)-(81,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (341...342))
+ │ │ @ ConstantReadNode (location: (81,0)-(81,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (342...344) = "::"
- │ ├── message_loc: (344...347) = "def"
+ │ ├── call_operator_loc: (81,1)-(81,3) = "::"
+ │ ├── message_loc: (81,3)-(81,6) = "def"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "def"
- ├── @ CallNode (location: (349...359))
+ ├── @ CallNode (location: (83,0)-(83,10))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (349...350))
+ │ │ @ ConstantReadNode (location: (83,0)-(83,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (350...352) = "::"
- │ ├── message_loc: (352...359) = "defined"
+ │ ├── call_operator_loc: (83,1)-(83,3) = "::"
+ │ ├── message_loc: (83,3)-(83,10) = "defined"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "defined"
- ├── @ CallNode (location: (361...366))
+ ├── @ CallNode (location: (85,0)-(85,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (361...362))
+ │ │ @ ConstantReadNode (location: (85,0)-(85,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (362...364) = "::"
- │ ├── message_loc: (364...366) = "do"
+ │ ├── call_operator_loc: (85,1)-(85,3) = "::"
+ │ ├── message_loc: (85,3)-(85,5) = "do"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "do"
- ├── @ CallNode (location: (368...375))
+ ├── @ CallNode (location: (87,0)-(87,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (368...369))
+ │ │ @ ConstantReadNode (location: (87,0)-(87,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (369...371) = "::"
- │ ├── message_loc: (371...375) = "else"
+ │ ├── call_operator_loc: (87,1)-(87,3) = "::"
+ │ ├── message_loc: (87,3)-(87,7) = "else"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "else"
- ├── @ CallNode (location: (377...385))
+ ├── @ CallNode (location: (89,0)-(89,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (377...378))
+ │ │ @ ConstantReadNode (location: (89,0)-(89,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (378...380) = "::"
- │ ├── message_loc: (380...385) = "elsif"
+ │ ├── call_operator_loc: (89,1)-(89,3) = "::"
+ │ ├── message_loc: (89,3)-(89,8) = "elsif"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "elsif"
- ├── @ CallNode (location: (387...393))
+ ├── @ CallNode (location: (91,0)-(91,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (387...388))
+ │ │ @ ConstantReadNode (location: (91,0)-(91,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (388...390) = "::"
- │ ├── message_loc: (390...393) = "end"
+ │ ├── call_operator_loc: (91,1)-(91,3) = "::"
+ │ ├── message_loc: (91,3)-(91,6) = "end"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "end"
- ├── @ ConstantPathNode (location: (395...401))
+ ├── @ ConstantPathNode (location: (93,0)-(93,6))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (395...396))
+ │ │ @ ConstantReadNode (location: (93,0)-(93,1))
│ │ └── name: :A
│ ├── child:
- │ │ @ ConstantReadNode (location: (398...401))
+ │ │ @ ConstantReadNode (location: (93,3)-(93,6))
│ │ └── name: :END
- │ └── delimiter_loc: (396...398) = "::"
- ├── @ CallNode (location: (403...412))
+ │ └── delimiter_loc: (93,1)-(93,3) = "::"
+ ├── @ CallNode (location: (95,0)-(95,9))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (403...404))
+ │ │ @ ConstantReadNode (location: (95,0)-(95,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (404...406) = "::"
- │ ├── message_loc: (406...412) = "ensure"
+ │ ├── call_operator_loc: (95,1)-(95,3) = "::"
+ │ ├── message_loc: (95,3)-(95,9) = "ensure"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "ensure"
- ├── @ CallNode (location: (414...422))
+ ├── @ CallNode (location: (97,0)-(97,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (414...415))
+ │ │ @ ConstantReadNode (location: (97,0)-(97,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (415...417) = "::"
- │ ├── message_loc: (417...422) = "false"
+ │ ├── call_operator_loc: (97,1)-(97,3) = "::"
+ │ ├── message_loc: (97,3)-(97,8) = "false"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "false"
- ├── @ CallNode (location: (424...430))
+ ├── @ CallNode (location: (99,0)-(99,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (424...425))
+ │ │ @ ConstantReadNode (location: (99,0)-(99,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (425...427) = "::"
- │ ├── message_loc: (427...430) = "for"
+ │ ├── call_operator_loc: (99,1)-(99,3) = "::"
+ │ ├── message_loc: (99,3)-(99,6) = "for"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "for"
- ├── @ CallNode (location: (432...437))
+ ├── @ CallNode (location: (101,0)-(101,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (432...433))
+ │ │ @ ConstantReadNode (location: (101,0)-(101,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (433...435) = "::"
- │ ├── message_loc: (435...437) = "if"
+ │ ├── call_operator_loc: (101,1)-(101,3) = "::"
+ │ ├── message_loc: (101,3)-(101,5) = "if"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "if"
- ├── @ CallNode (location: (439...444))
+ ├── @ CallNode (location: (103,0)-(103,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (439...440))
+ │ │ @ ConstantReadNode (location: (103,0)-(103,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (440...442) = "::"
- │ ├── message_loc: (442...444) = "in"
+ │ ├── call_operator_loc: (103,1)-(103,3) = "::"
+ │ ├── message_loc: (103,3)-(103,5) = "in"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "in"
- ├── @ CallNode (location: (446...453))
+ ├── @ CallNode (location: (105,0)-(105,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (446...447))
+ │ │ @ ConstantReadNode (location: (105,0)-(105,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (447...449) = "::"
- │ ├── message_loc: (449...453) = "next"
+ │ ├── call_operator_loc: (105,1)-(105,3) = "::"
+ │ ├── message_loc: (105,3)-(105,7) = "next"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "next"
- ├── @ CallNode (location: (455...461))
+ ├── @ CallNode (location: (107,0)-(107,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (455...456))
+ │ │ @ ConstantReadNode (location: (107,0)-(107,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (456...458) = "::"
- │ ├── message_loc: (458...461) = "nil"
+ │ ├── call_operator_loc: (107,1)-(107,3) = "::"
+ │ ├── message_loc: (107,3)-(107,6) = "nil"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "nil"
- ├── @ CallNode (location: (463...469))
+ ├── @ CallNode (location: (109,0)-(109,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (463...464))
+ │ │ @ ConstantReadNode (location: (109,0)-(109,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (464...466) = "::"
- │ ├── message_loc: (466...469) = "not"
+ │ ├── call_operator_loc: (109,1)-(109,3) = "::"
+ │ ├── message_loc: (109,3)-(109,6) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "not"
- ├── @ CallNode (location: (471...476))
+ ├── @ CallNode (location: (111,0)-(111,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (471...472))
+ │ │ @ ConstantReadNode (location: (111,0)-(111,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (472...474) = "::"
- │ ├── message_loc: (474...476) = "or"
+ │ ├── call_operator_loc: (111,1)-(111,3) = "::"
+ │ ├── message_loc: (111,3)-(111,5) = "or"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "or"
- ├── @ CallNode (location: (478...485))
+ ├── @ CallNode (location: (113,0)-(113,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (478...479))
+ │ │ @ ConstantReadNode (location: (113,0)-(113,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (479...481) = "::"
- │ ├── message_loc: (481...485) = "redo"
+ │ ├── call_operator_loc: (113,1)-(113,3) = "::"
+ │ ├── message_loc: (113,3)-(113,7) = "redo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "redo"
- ├── @ CallNode (location: (487...496))
+ ├── @ CallNode (location: (115,0)-(115,9))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (487...488))
+ │ │ @ ConstantReadNode (location: (115,0)-(115,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (488...490) = "::"
- │ ├── message_loc: (490...496) = "rescue"
+ │ ├── call_operator_loc: (115,1)-(115,3) = "::"
+ │ ├── message_loc: (115,3)-(115,9) = "rescue"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "rescue"
- ├── @ CallNode (location: (498...506))
+ ├── @ CallNode (location: (117,0)-(117,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (498...499))
+ │ │ @ ConstantReadNode (location: (117,0)-(117,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (499...501) = "::"
- │ ├── message_loc: (501...506) = "retry"
+ │ ├── call_operator_loc: (117,1)-(117,3) = "::"
+ │ ├── message_loc: (117,3)-(117,8) = "retry"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "retry"
- ├── @ CallNode (location: (508...517))
+ ├── @ CallNode (location: (119,0)-(119,9))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (508...509))
+ │ │ @ ConstantReadNode (location: (119,0)-(119,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (509...511) = "::"
- │ ├── message_loc: (511...517) = "return"
+ │ ├── call_operator_loc: (119,1)-(119,3) = "::"
+ │ ├── message_loc: (119,3)-(119,9) = "return"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "return"
- ├── @ CallNode (location: (519...526))
+ ├── @ CallNode (location: (121,0)-(121,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (519...520))
+ │ │ @ ConstantReadNode (location: (121,0)-(121,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (520...522) = "::"
- │ ├── message_loc: (522...526) = "self"
+ │ ├── call_operator_loc: (121,1)-(121,3) = "::"
+ │ ├── message_loc: (121,3)-(121,7) = "self"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "self"
- ├── @ CallNode (location: (528...536))
+ ├── @ CallNode (location: (123,0)-(123,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (528...529))
+ │ │ @ ConstantReadNode (location: (123,0)-(123,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (529...531) = "::"
- │ ├── message_loc: (531...536) = "super"
+ │ ├── call_operator_loc: (123,1)-(123,3) = "::"
+ │ ├── message_loc: (123,3)-(123,8) = "super"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "super"
- ├── @ CallNode (location: (538...545))
+ ├── @ CallNode (location: (125,0)-(125,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (538...539))
+ │ │ @ ConstantReadNode (location: (125,0)-(125,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (539...541) = "::"
- │ ├── message_loc: (541...545) = "then"
+ │ ├── call_operator_loc: (125,1)-(125,3) = "::"
+ │ ├── message_loc: (125,3)-(125,7) = "then"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "then"
- ├── @ CallNode (location: (547...554))
+ ├── @ CallNode (location: (127,0)-(127,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (547...548))
+ │ │ @ ConstantReadNode (location: (127,0)-(127,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (548...550) = "::"
- │ ├── message_loc: (550...554) = "true"
+ │ ├── call_operator_loc: (127,1)-(127,3) = "::"
+ │ ├── message_loc: (127,3)-(127,7) = "true"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "true"
- ├── @ CallNode (location: (556...564))
+ ├── @ CallNode (location: (129,0)-(129,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (556...557))
+ │ │ @ ConstantReadNode (location: (129,0)-(129,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (557...559) = "::"
- │ ├── message_loc: (559...564) = "undef"
+ │ ├── call_operator_loc: (129,1)-(129,3) = "::"
+ │ ├── message_loc: (129,3)-(129,8) = "undef"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "undef"
- ├── @ CallNode (location: (566...575))
+ ├── @ CallNode (location: (131,0)-(131,9))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (566...567))
+ │ │ @ ConstantReadNode (location: (131,0)-(131,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (567...569) = "::"
- │ ├── message_loc: (569...575) = "unless"
+ │ ├── call_operator_loc: (131,1)-(131,3) = "::"
+ │ ├── message_loc: (131,3)-(131,9) = "unless"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "unless"
- ├── @ CallNode (location: (577...585))
+ ├── @ CallNode (location: (133,0)-(133,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (577...578))
+ │ │ @ ConstantReadNode (location: (133,0)-(133,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (578...580) = "::"
- │ ├── message_loc: (580...585) = "until"
+ │ ├── call_operator_loc: (133,1)-(133,3) = "::"
+ │ ├── message_loc: (133,3)-(133,8) = "until"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "until"
- ├── @ CallNode (location: (587...594))
+ ├── @ CallNode (location: (135,0)-(135,7))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (587...588))
+ │ │ @ ConstantReadNode (location: (135,0)-(135,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (588...590) = "::"
- │ ├── message_loc: (590...594) = "when"
+ │ ├── call_operator_loc: (135,1)-(135,3) = "::"
+ │ ├── message_loc: (135,3)-(135,7) = "when"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "when"
- ├── @ CallNode (location: (596...604))
+ ├── @ CallNode (location: (137,0)-(137,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (596...597))
+ │ │ @ ConstantReadNode (location: (137,0)-(137,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (597...599) = "::"
- │ ├── message_loc: (599...604) = "while"
+ │ ├── call_operator_loc: (137,1)-(137,3) = "::"
+ │ ├── message_loc: (137,3)-(137,8) = "while"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "while"
- ├── @ CallNode (location: (606...614))
+ ├── @ CallNode (location: (139,0)-(139,8))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (606...607))
+ │ │ @ ConstantReadNode (location: (139,0)-(139,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (607...609) = "::"
- │ ├── message_loc: (609...614) = "yield"
+ │ ├── call_operator_loc: (139,1)-(139,3) = "::"
+ │ ├── message_loc: (139,3)-(139,8) = "yield"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "yield"
- ├── @ CallNode (location: (616...631))
+ ├── @ CallNode (location: (141,0)-(141,15))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (616...617))
+ │ │ @ ConstantReadNode (location: (141,0)-(141,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (617...619) = "::"
- │ ├── message_loc: (619...631) = "__ENCODING__"
+ │ ├── call_operator_loc: (141,1)-(141,3) = "::"
+ │ ├── message_loc: (141,3)-(141,15) = "__ENCODING__"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "__ENCODING__"
- ├── @ CallNode (location: (633...644))
+ ├── @ CallNode (location: (143,0)-(143,11))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (633...634))
+ │ │ @ ConstantReadNode (location: (143,0)-(143,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (634...636) = "::"
- │ ├── message_loc: (636...644) = "__FILE__"
+ │ ├── call_operator_loc: (143,1)-(143,3) = "::"
+ │ ├── message_loc: (143,3)-(143,11) = "__FILE__"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "__FILE__"
- ├── @ CallNode (location: (646...657))
+ ├── @ CallNode (location: (145,0)-(145,11))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (646...647))
+ │ │ @ ConstantReadNode (location: (145,0)-(145,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (647...649) = "::"
- │ ├── message_loc: (649...657) = "__LINE__"
+ │ ├── call_operator_loc: (145,1)-(145,3) = "::"
+ │ ├── message_loc: (145,3)-(145,11) = "__LINE__"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "__LINE__"
- ├── @ CallNode (location: (659...663))
+ ├── @ CallNode (location: (147,0)-(147,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (659...660))
+ │ │ @ ConstantReadNode (location: (147,0)-(147,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (660...662) = "::"
- │ ├── message_loc: (662...663) = "<"
+ │ ├── call_operator_loc: (147,1)-(147,3) = "::"
+ │ ├── message_loc: (147,3)-(147,4) = "<"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<"
- ├── @ CallNode (location: (665...671))
+ ├── @ CallNode (location: (149,0)-(149,6))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (665...666))
+ │ │ @ ConstantReadNode (location: (149,0)-(149,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (666...668) = "::"
- │ ├── message_loc: (668...671) = "<=>"
+ │ ├── call_operator_loc: (149,1)-(149,3) = "::"
+ │ ├── message_loc: (149,3)-(149,6) = "<=>"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<=>"
- ├── @ CallNode (location: (673...678))
+ ├── @ CallNode (location: (151,0)-(151,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (673...674))
+ │ │ @ ConstantReadNode (location: (151,0)-(151,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (674...676) = "::"
- │ ├── message_loc: (676...678) = "<<"
+ │ ├── call_operator_loc: (151,1)-(151,3) = "::"
+ │ ├── message_loc: (151,3)-(151,5) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ CallNode (location: (680...684))
+ ├── @ CallNode (location: (153,0)-(153,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (680...681))
+ │ │ @ ConstantReadNode (location: (153,0)-(153,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (681...683) = "::"
- │ ├── message_loc: (683...684) = "-"
+ │ ├── call_operator_loc: (153,1)-(153,3) = "::"
+ │ ├── message_loc: (153,3)-(153,4) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-"
- ├── @ CallNode (location: (686...690))
+ ├── @ CallNode (location: (155,0)-(155,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (686...687))
+ │ │ @ ConstantReadNode (location: (155,0)-(155,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (687...689) = "::"
- │ ├── message_loc: (689...690) = "%"
+ │ ├── call_operator_loc: (155,1)-(155,3) = "::"
+ │ ├── message_loc: (155,3)-(155,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (692...697))
+ ├── @ CallNode (location: (157,0)-(157,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (692...693))
+ │ │ @ ConstantReadNode (location: (157,0)-(157,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (693...695) = "::"
- │ ├── message_loc: (695...696) = "%"
+ │ ├── call_operator_loc: (157,1)-(157,3) = "::"
+ │ ├── message_loc: (157,3)-(157,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (696...697))
+ │ │ @ ArgumentsNode (location: (157,4)-(157,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (696...697))
+ │ │ └── @ CallNode (location: (157,4)-(157,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (696...697) = "i"
+ │ │ ├── message_loc: (157,4)-(157,5) = "i"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1024,20 +1024,20 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (699...704))
+ ├── @ CallNode (location: (159,0)-(159,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (699...700))
+ │ │ @ ConstantReadNode (location: (159,0)-(159,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (700...702) = "::"
- │ ├── message_loc: (702...703) = "%"
+ │ ├── call_operator_loc: (159,1)-(159,3) = "::"
+ │ ├── message_loc: (159,3)-(159,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (703...704))
+ │ │ @ ArgumentsNode (location: (159,4)-(159,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (703...704))
+ │ │ └── @ CallNode (location: (159,4)-(159,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (703...704) = "w"
+ │ │ ├── message_loc: (159,4)-(159,5) = "w"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1048,20 +1048,20 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (706...711))
+ ├── @ CallNode (location: (161,0)-(161,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (706...707))
+ │ │ @ ConstantReadNode (location: (161,0)-(161,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (707...709) = "::"
- │ ├── message_loc: (709...710) = "%"
+ │ ├── call_operator_loc: (161,1)-(161,3) = "::"
+ │ ├── message_loc: (161,3)-(161,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (710...711))
+ │ │ @ ArgumentsNode (location: (161,4)-(161,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (710...711))
+ │ │ └── @ CallNode (location: (161,4)-(161,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (710...711) = "x"
+ │ │ ├── message_loc: (161,4)-(161,5) = "x"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1072,118 +1072,118 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (713...718))
+ ├── @ CallNode (location: (163,0)-(163,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (713...714))
+ │ │ @ ConstantReadNode (location: (163,0)-(163,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (714...716) = "::"
- │ ├── message_loc: (716...717) = "%"
+ │ ├── call_operator_loc: (163,1)-(163,3) = "::"
+ │ ├── message_loc: (163,3)-(163,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (717...718))
+ │ │ @ ArgumentsNode (location: (163,4)-(163,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ ConstantReadNode (location: (717...718))
+ │ │ └── @ ConstantReadNode (location: (163,4)-(163,5))
│ │ └── name: :I
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (720...725))
+ ├── @ CallNode (location: (165,0)-(165,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (720...721))
+ │ │ @ ConstantReadNode (location: (165,0)-(165,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (721...723) = "::"
- │ ├── message_loc: (723...724) = "%"
+ │ ├── call_operator_loc: (165,1)-(165,3) = "::"
+ │ ├── message_loc: (165,3)-(165,4) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (724...725))
+ │ │ @ ArgumentsNode (location: (165,4)-(165,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ ConstantReadNode (location: (724...725))
+ │ │ └── @ ConstantReadNode (location: (165,4)-(165,5))
│ │ └── name: :W
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (727...731))
+ ├── @ CallNode (location: (167,0)-(167,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (727...728))
+ │ │ @ ConstantReadNode (location: (167,0)-(167,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (728...730) = "::"
- │ ├── message_loc: (730...731) = "|"
+ │ ├── call_operator_loc: (167,1)-(167,3) = "::"
+ │ ├── message_loc: (167,3)-(167,4) = "|"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "|"
- ├── @ CallNode (location: (733...737))
+ ├── @ CallNode (location: (169,0)-(169,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (733...734))
+ │ │ @ ConstantReadNode (location: (169,0)-(169,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (734...736) = "::"
- │ ├── message_loc: (736...737) = "+"
+ │ ├── call_operator_loc: (169,1)-(169,3) = "::"
+ │ ├── message_loc: (169,3)-(169,4) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (739...743))
+ ├── @ CallNode (location: (171,0)-(171,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (739...740))
+ │ │ @ ConstantReadNode (location: (171,0)-(171,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (740...742) = "::"
- │ ├── message_loc: (742...743) = "/"
+ │ ├── call_operator_loc: (171,1)-(171,3) = "::"
+ │ ├── message_loc: (171,3)-(171,4) = "/"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (745...749))
+ ├── @ CallNode (location: (173,0)-(173,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (745...746))
+ │ │ @ ConstantReadNode (location: (173,0)-(173,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (746...748) = "::"
- │ ├── message_loc: (748...749) = "*"
+ │ ├── call_operator_loc: (173,1)-(173,3) = "::"
+ │ ├── message_loc: (173,3)-(173,4) = "*"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- ├── @ CallNode (location: (751...756))
+ ├── @ CallNode (location: (175,0)-(175,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (751...752))
+ │ │ @ ConstantReadNode (location: (175,0)-(175,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (752...754) = "::"
- │ ├── message_loc: (754...756) = "**"
+ │ ├── call_operator_loc: (175,1)-(175,3) = "::"
+ │ ├── message_loc: (175,3)-(175,5) = "**"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
- ├── @ CallNode (location: (758...762))
+ ├── @ CallNode (location: (177,0)-(177,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (758...759))
+ │ │ @ ConstantReadNode (location: (177,0)-(177,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (759...761) = "::"
- │ ├── message_loc: (761...762) = "~"
+ │ ├── call_operator_loc: (177,1)-(177,3) = "::"
+ │ ├── message_loc: (177,3)-(177,4) = "~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "~"
- ├── @ ConstantPathNode (location: (764...772))
+ ├── @ ConstantPathNode (location: (179,0)-(180,1))
│ ├── parent:
- │ │ @ CallNode (location: (764...768))
+ │ │ @ CallNode (location: (179,0)-(179,4))
│ │ ├── receiver:
- │ │ │ @ ConstantReadNode (location: (764...765))
+ │ │ │ @ ConstantReadNode (location: (179,0)-(179,1))
│ │ │ └── name: :A
- │ │ ├── call_operator_loc: (765...767) = "::"
- │ │ ├── message_loc: (767...768) = "_"
+ │ │ ├── call_operator_loc: (179,1)-(179,3) = "::"
+ │ │ ├── message_loc: (179,3)-(179,4) = "_"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1191,17 +1191,17 @@
│ │ ├── flags: ∅
│ │ └── name: "_"
│ ├── child:
- │ │ @ ConstantReadNode (location: (771...772))
+ │ │ @ ConstantReadNode (location: (180,0)-(180,1))
│ │ └── name: :C
- │ └── delimiter_loc: (768...770) = "::"
- └── @ RangeNode (location: (774...792))
+ │ └── delimiter_loc: (179,4)-(179,6) = "::"
+ └── @ RangeNode (location: (182,0)-(184,10))
├── left:
- │ @ CallNode (location: (774...778))
+ │ @ CallNode (location: (182,0)-(182,4))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (774...775))
+ │ │ @ ConstantReadNode (location: (182,0)-(182,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (775...777) = "::"
- │ ├── message_loc: (777...778) = "_"
+ │ ├── call_operator_loc: (182,1)-(182,3) = "::"
+ │ ├── message_loc: (182,3)-(182,4) = "_"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -1209,17 +1209,17 @@
│ ├── flags: ∅
│ └── name: "_"
├── right:
- │ @ CallNode (location: (782...792))
+ │ @ CallNode (location: (184,0)-(184,10))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (782...783))
+ │ │ @ ConstantReadNode (location: (184,0)-(184,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (783...785) = "::"
- │ ├── message_loc: (785...792) = "__END__"
+ │ ├── call_operator_loc: (184,1)-(184,3) = "::"
+ │ ├── message_loc: (184,3)-(184,10) = "__END__"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "__END__"
- ├── operator_loc: (778...780) = ".."
+ ├── operator_loc: (182,4)-(182,6) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/dash_heredocs.txt b/test/yarp/snapshots/dash_heredocs.txt
index 1abaf0e111..929aa6c067 100644
--- a/test/yarp/snapshots/dash_heredocs.txt
+++ b/test/yarp/snapshots/dash_heredocs.txt
@@ -1,250 +1,250 @@
-@ ProgramNode (location: (0...278))
+@ ProgramNode (location: (1,0)-(57,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...278))
+ @ StatementsNode (location: (1,0)-(57,11))
└── body: (length: 13)
- ├── @ StringNode (location: (0...6))
+ ├── @ StringNode (location: (1,0)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (0...6) = "<<-EOF"
- │ ├── content_loc: (7...11) = " a\n"
- │ ├── closing_loc: (11...15) = "EOF\n"
+ │ ├── opening_loc: (1,0)-(1,6) = "<<-EOF"
+ │ ├── content_loc: (2,0)-(2,0) = " a\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "EOF\n"
│ └── unescaped: " a\n"
- ├── @ CallNode (location: (16...36))
+ ├── @ CallNode (location: (5,0)-(5,20))
│ ├── receiver:
- │ │ @ StringNode (location: (16...24))
+ │ │ @ StringNode (location: (5,0)-(5,8))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (16...24) = "<<-FIRST"
- │ │ ├── content_loc: (37...41) = " a\n"
- │ │ ├── closing_loc: (41...47) = "FIRST\n"
+ │ │ ├── opening_loc: (5,0)-(5,8) = "<<-FIRST"
+ │ │ ├── content_loc: (6,0)-(6,0) = " a\n"
+ │ │ ├── closing_loc: (7,0)-(7,0) = "FIRST\n"
│ │ └── unescaped: " a\n"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...26) = "+"
+ │ ├── message_loc: (5,9)-(5,10) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (27...36))
+ │ │ @ ArgumentsNode (location: (5,11)-(5,20))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (27...36))
+ │ │ └── @ StringNode (location: (5,11)-(5,20))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (27...36) = "<<-SECOND"
- │ │ ├── content_loc: (47...51) = " b\n"
- │ │ ├── closing_loc: (51...58) = "SECOND\n"
+ │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND"
+ │ │ ├── content_loc: (8,0)-(8,0) = " b\n"
+ │ │ ├── closing_loc: (9,0)-(9,0) = "SECOND\n"
│ │ └── unescaped: " b\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ InterpolatedXStringNode (location: (59...67))
- │ ├── opening_loc: (59...67) = "<<-`EOF`"
+ ├── @ InterpolatedXStringNode (location: (11,0)-(11,8))
+ │ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (68...72))
+ │ │ ├── @ StringNode (location: (12,0)-(12,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (68...72) = " a\n"
+ │ │ │ ├── content_loc: (12,0)-(12,0) = " a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (72...76))
- │ │ │ ├── opening_loc: (72...74) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (13,0)-(13,4))
+ │ │ │ ├── opening_loc: (13,0)-(13,2) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (74...75))
+ │ │ │ │ @ StatementsNode (location: (13,2)-(13,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (74...75))
+ │ │ │ │ └── @ CallNode (location: (13,2)-(13,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (74...75) = "b"
+ │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── closing_loc: (75...76) = "}"
- │ │ └── @ StringNode (location: (76...77))
+ │ │ │ └── closing_loc: (13,3)-(13,4) = "}"
+ │ │ └── @ StringNode (location: (13,4)-(13,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (76...77) = "\n"
+ │ │ ├── content_loc: (13,4)-(13,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (77...81) = "EOF\n"
- ├── @ StringNode (location: (82...88))
+ │ └── closing_loc: (14,0)-(14,0) = "EOF\n"
+ ├── @ StringNode (location: (16,0)-(16,6))
│ ├── flags: ∅
- │ ├── opening_loc: (82...88) = "<<-EOF"
- │ ├── content_loc: (98...102) = " a\n"
- │ ├── closing_loc: (102...106) = "EOF\n"
+ │ ├── opening_loc: (16,0)-(16,6) = "<<-EOF"
+ │ ├── content_loc: (17,0)-(17,0) = " a\n"
+ │ ├── closing_loc: (18,0)-(18,0) = "EOF\n"
│ └── unescaped: " a\n"
- ├── @ StringNode (location: (107...113))
+ ├── @ StringNode (location: (20,0)-(20,6))
│ ├── flags: ∅
- │ ├── opening_loc: (107...113) = "<<-EOF"
- │ ├── content_loc: (114...122) = " a\n b\n"
- │ ├── closing_loc: (122...128) = " EOF\n"
+ │ ├── opening_loc: (20,0)-(20,6) = "<<-EOF"
+ │ ├── content_loc: (21,0)-(22,0) = " a\n b\n"
+ │ ├── closing_loc: (23,0)-(23,0) = " EOF\n"
│ └── unescaped: " a\n b\n"
- ├── @ InterpolatedStringNode (location: (129...137))
- │ ├── opening_loc: (129...137) = "<<-\"EOF\""
+ ├── @ InterpolatedStringNode (location: (25,0)-(25,8))
+ │ ├── opening_loc: (25,0)-(25,8) = "<<-\"EOF\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (138...142))
+ │ │ ├── @ StringNode (location: (26,0)-(26,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (138...142) = " a\n"
+ │ │ │ ├── content_loc: (26,0)-(26,0) = " a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (142...146))
- │ │ │ ├── opening_loc: (142...144) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (27,0)-(27,4))
+ │ │ │ ├── opening_loc: (27,0)-(27,2) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (144...145))
+ │ │ │ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (144...145))
+ │ │ │ │ └── @ CallNode (location: (27,2)-(27,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (144...145) = "b"
+ │ │ │ │ ├── message_loc: (27,2)-(27,3) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── closing_loc: (145...146) = "}"
- │ │ └── @ StringNode (location: (146...147))
+ │ │ │ └── closing_loc: (27,3)-(27,4) = "}"
+ │ │ └── @ StringNode (location: (27,4)-(27,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (146...147) = "\n"
+ │ │ ├── content_loc: (27,4)-(27,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (147...151) = "EOF\n"
- ├── @ InterpolatedStringNode (location: (152...158))
- │ ├── opening_loc: (152...158) = "<<-EOF"
+ │ └── closing_loc: (28,0)-(28,0) = "EOF\n"
+ ├── @ InterpolatedStringNode (location: (30,0)-(30,6))
+ │ ├── opening_loc: (30,0)-(30,6) = "<<-EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (159...163))
+ │ │ ├── @ StringNode (location: (31,0)-(31,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (159...163) = " a\n"
+ │ │ │ ├── content_loc: (31,0)-(31,0) = " a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (163...167))
- │ │ │ ├── opening_loc: (163...165) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (32,0)-(32,4))
+ │ │ │ ├── opening_loc: (32,0)-(32,2) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (165...166))
+ │ │ │ │ @ StatementsNode (location: (32,2)-(32,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (165...166))
+ │ │ │ │ └── @ CallNode (location: (32,2)-(32,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (165...166) = "b"
+ │ │ │ │ ├── message_loc: (32,2)-(32,3) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── closing_loc: (166...167) = "}"
- │ │ └── @ StringNode (location: (167...168))
+ │ │ │ └── closing_loc: (32,3)-(32,4) = "}"
+ │ │ └── @ StringNode (location: (32,4)-(32,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (167...168) = "\n"
+ │ │ ├── content_loc: (32,4)-(32,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (168...172) = "EOF\n"
- ├── @ StringNode (location: (173...179))
+ │ └── closing_loc: (33,0)-(33,0) = "EOF\n"
+ ├── @ StringNode (location: (35,0)-(35,6))
│ ├── flags: ∅
- │ ├── opening_loc: (173...175) = "%#"
- │ ├── content_loc: (175...178) = "abc"
- │ ├── closing_loc: (178...179) = "#"
+ │ ├── opening_loc: (35,0)-(35,2) = "%#"
+ │ ├── content_loc: (35,2)-(35,5) = "abc"
+ │ ├── closing_loc: (35,5)-(35,6) = "#"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (181...187))
+ ├── @ StringNode (location: (37,0)-(37,6))
│ ├── flags: ∅
- │ ├── opening_loc: (181...187) = "<<-EOF"
- │ ├── content_loc: (188...196) = " a\n b\n"
- │ ├── closing_loc: (196...200) = "EOF\n"
+ │ ├── opening_loc: (37,0)-(37,6) = "<<-EOF"
+ │ ├── content_loc: (38,0)-(39,0) = " a\n b\n"
+ │ ├── closing_loc: (40,0)-(40,0) = "EOF\n"
│ └── unescaped: " a\n b\n"
- ├── @ StringNode (location: (201...206))
+ ├── @ StringNode (location: (42,0)-(42,5))
│ ├── flags: ∅
- │ ├── opening_loc: (201...206) = "<<-''"
- │ ├── content_loc: (207...207) = ""
- │ ├── closing_loc: (207...208) = "\n"
+ │ ├── opening_loc: (42,0)-(42,5) = "<<-''"
+ │ ├── content_loc: (43,0)-(42,0) = ""
+ │ ├── closing_loc: (43,0)-(43,0) = "\n"
│ └── unescaped: ""
- ├── @ StringNode (location: (209...217))
+ ├── @ StringNode (location: (45,0)-(45,8))
│ ├── flags: ∅
- │ ├── opening_loc: (209...217) = "<<-'EOF'"
- │ ├── content_loc: (218...227) = " a \#{1}\n"
- │ ├── closing_loc: (227...231) = "EOF\n"
+ │ ├── opening_loc: (45,0)-(45,8) = "<<-'EOF'"
+ │ ├── content_loc: (46,0)-(46,0) = " a \#{1}\n"
+ │ ├── closing_loc: (47,0)-(47,0) = "EOF\n"
│ └── unescaped: " a \#{1}\n"
- ├── @ CallNode (location: (232...243))
+ ├── @ CallNode (location: (49,0)-(49,11))
│ ├── receiver:
- │ │ @ StringNode (location: (232...236))
+ │ │ @ StringNode (location: (49,0)-(49,4))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (232...236) = "<<-A"
- │ │ ├── content_loc: (244...248) = " a\n"
- │ │ ├── closing_loc: (248...250) = "A\n"
+ │ │ ├── opening_loc: (49,0)-(49,4) = "<<-A"
+ │ │ ├── content_loc: (50,0)-(50,0) = " a\n"
+ │ │ ├── closing_loc: (51,0)-(51,0) = "A\n"
│ │ └── unescaped: " a\n"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (237...238) = "+"
+ │ ├── message_loc: (49,5)-(49,6) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (239...243))
+ │ │ @ ArgumentsNode (location: (49,7)-(49,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (239...243))
- │ │ ├── opening_loc: (239...243) = "<<-B"
+ │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11))
+ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (250...256))
+ │ │ │ ├── @ StringNode (location: (52,0)-(53,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (250...256) = " b\n "
+ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " b\n "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (256...263))
- │ │ │ │ ├── opening_loc: (256...258) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3))
+ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (258...259))
+ │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (258...259))
+ │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (262...263) = "}"
- │ │ │ └── @ StringNode (location: (263...264))
+ │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}"
+ │ │ │ └── @ StringNode (location: (54,3)-(54,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (263...264) = "\n"
+ │ │ │ ├── content_loc: (54,3)-(54,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (264...266) = "B\n"
+ │ │ └── closing_loc: (55,0)-(55,0) = "B\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- └── @ CallNode (location: (267...278))
+ └── @ CallNode (location: (57,0)-(57,11))
├── receiver:
- │ @ StringNode (location: (267...271))
+ │ @ StringNode (location: (57,0)-(57,4))
│ ├── flags: ∅
- │ ├── opening_loc: (267...271) = "<<-A"
- │ ├── content_loc: (279...283) = " a\n"
- │ ├── closing_loc: (283...285) = "A\n"
+ │ ├── opening_loc: (57,0)-(57,4) = "<<-A"
+ │ ├── content_loc: (58,0)-(58,0) = " a\n"
+ │ ├── closing_loc: (59,0)-(59,0) = "A\n"
│ └── unescaped: " a\n"
├── call_operator_loc: ∅
- ├── message_loc: (272...273) = "+"
+ ├── message_loc: (57,5)-(57,6) = "+"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (274...278))
+ │ @ ArgumentsNode (location: (57,7)-(57,11))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedStringNode (location: (274...278))
- │ ├── opening_loc: (274...278) = "<<-B"
+ │ └── @ InterpolatedStringNode (location: (57,7)-(57,11))
+ │ ├── opening_loc: (57,7)-(57,11) = "<<-B"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (285...291))
+ │ │ ├── @ StringNode (location: (60,0)-(61,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (285...291) = " b\n "
+ │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " b\n "
- │ │ ├── @ EmbeddedStatementsNode (location: (291...298))
- │ │ │ ├── opening_loc: (291...293) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4))
+ │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (296...297))
+ │ │ │ │ @ StatementsNode (location: (62,2)-(62,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (296...297))
+ │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (297...298) = "}"
- │ │ └── @ StringNode (location: (298...299))
+ │ │ │ └── closing_loc: (62,3)-(62,4) = "}"
+ │ │ └── @ StringNode (location: (62,4)-(62,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (298...299) = "\n"
+ │ │ ├── content_loc: (62,4)-(62,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (299...301) = "B\n"
+ │ └── closing_loc: (63,0)-(63,0) = "B\n"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/defined.txt b/test/yarp/snapshots/defined.txt
index ea0291a093..c6537b860c 100644
--- a/test/yarp/snapshots/defined.txt
+++ b/test/yarp/snapshots/defined.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...78))
+@ ProgramNode (location: (1,0)-(7,10))
├── locals: [:x]
└── statements:
- @ StatementsNode (location: (0...78))
+ @ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
- ├── @ AndNode (location: (0...25))
+ ├── @ AndNode (location: (1,0)-(1,25))
│ ├── left:
- │ │ @ DefinedNode (location: (0...10))
+ │ │ @ DefinedNode (location: (1,0)-(1,10))
│ │ ├── lparen_loc: ∅
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── rparen_loc: ∅
- │ │ └── keyword_loc: (0...8) = "defined?"
+ │ │ └── keyword_loc: (1,0)-(1,8) = "defined?"
│ ├── right:
- │ │ @ DefinedNode (location: (15...25))
+ │ │ @ DefinedNode (location: (1,15)-(1,25))
│ │ ├── lparen_loc: ∅
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (24...25))
+ │ │ │ @ IntegerNode (location: (1,24)-(1,25))
│ │ │ └── flags: decimal
│ │ ├── rparen_loc: ∅
- │ │ └── keyword_loc: (15...23) = "defined?"
- │ └── operator_loc: (11...14) = "and"
- ├── @ DefinedNode (location: (27...43))
- │ ├── lparen_loc: (35...36) = "("
+ │ │ └── keyword_loc: (1,15)-(1,23) = "defined?"
+ │ └── operator_loc: (1,11)-(1,14) = "and"
+ ├── @ DefinedNode (location: (3,0)-(3,16))
+ │ ├── lparen_loc: (3,8)-(3,9) = "("
│ ├── value:
- │ │ @ LocalVariableOperatorWriteNode (location: (36...42))
- │ │ ├── name_loc: (36...37) = "x"
- │ │ ├── operator_loc: (38...40) = "%="
+ │ │ @ LocalVariableOperatorWriteNode (location: (3,9)-(3,15))
+ │ │ ├── name_loc: (3,9)-(3,10) = "x"
+ │ │ ├── operator_loc: (3,11)-(3,13) = "%="
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (41...42))
+ │ │ │ @ IntegerNode (location: (3,14)-(3,15))
│ │ │ └── flags: decimal
│ │ ├── name: :x
│ │ ├── operator: :%
│ │ └── depth: 0
- │ ├── rparen_loc: (42...43) = ")"
- │ └── keyword_loc: (27...35) = "defined?"
- ├── @ DefinedNode (location: (45...66))
- │ ├── lparen_loc: (53...54) = "("
+ │ ├── rparen_loc: (3,15)-(3,16) = ")"
+ │ └── keyword_loc: (3,0)-(3,8) = "defined?"
+ ├── @ DefinedNode (location: (5,0)-(5,21))
+ │ ├── lparen_loc: (5,8)-(5,9) = "("
│ ├── value:
- │ │ @ AndNode (location: (54...65))
+ │ │ @ AndNode (location: (5,9)-(5,20))
│ │ ├── left:
- │ │ │ @ CallNode (location: (54...57))
+ │ │ │ @ CallNode (location: (5,9)-(5,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (54...57) = "foo"
+ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -51,23 +51,23 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── right:
- │ │ │ @ CallNode (location: (62...65))
+ │ │ │ @ CallNode (location: (5,17)-(5,20))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (62...65) = "bar"
+ │ │ │ ├── message_loc: (5,17)-(5,20) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (58...61) = "and"
- │ ├── rparen_loc: (65...66) = ")"
- │ └── keyword_loc: (45...53) = "defined?"
- └── @ DefinedNode (location: (68...78))
+ │ │ └── operator_loc: (5,13)-(5,16) = "and"
+ │ ├── rparen_loc: (5,20)-(5,21) = ")"
+ │ └── keyword_loc: (5,0)-(5,8) = "defined?"
+ └── @ DefinedNode (location: (7,0)-(7,10))
├── lparen_loc: ∅
├── value:
- │ @ IntegerNode (location: (77...78))
+ │ @ IntegerNode (location: (7,9)-(7,10))
│ └── flags: decimal
├── rparen_loc: ∅
- └── keyword_loc: (68...76) = "defined?"
+ └── keyword_loc: (7,0)-(7,8) = "defined?"
diff --git a/test/yarp/snapshots/dos_endings.txt b/test/yarp/snapshots/dos_endings.txt
index e6192b59d0..fd9bc95609 100644
--- a/test/yarp/snapshots/dos_endings.txt
+++ b/test/yarp/snapshots/dos_endings.txt
@@ -1,93 +1,93 @@
-@ ProgramNode (location: (0...108))
+@ ProgramNode (location: (1,0)-(17,20))
├── locals: [:x, :a]
└── statements:
- @ StatementsNode (location: (0...108))
+ @ StatementsNode (location: (1,0)-(17,20))
└── body: (length: 5)
- ├── @ CallNode (location: (0...24))
+ ├── @ CallNode (location: (1,0)-(2,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "puts"
+ │ ├── message_loc: (1,0)-(1,4) = "puts"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (5...24))
+ │ │ @ ArgumentsNode (location: (1,5)-(2,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringConcatNode (location: (5...24))
+ │ │ └── @ StringConcatNode (location: (1,5)-(2,12))
│ │ ├── left:
- │ │ │ @ StringNode (location: (5...9))
+ │ │ │ @ StringNode (location: (1,5)-(1,9))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (5...6) = "\""
- │ │ │ ├── content_loc: (6...8) = "hi"
- │ │ │ ├── closing_loc: (8...9) = "\""
+ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
+ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi"
+ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ │ └── unescaped: "hi"
│ │ └── right:
- │ │ @ StringNode (location: (17...24))
+ │ │ @ StringNode (location: (2,5)-(2,12))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (17...18) = "\""
- │ │ ├── content_loc: (18...23) = "there"
- │ │ ├── closing_loc: (23...24) = "\""
+ │ │ ├── opening_loc: (2,5)-(2,6) = "\""
+ │ │ ├── content_loc: (2,6)-(2,11) = "there"
+ │ │ ├── closing_loc: (2,11)-(2,12) = "\""
│ │ └── unescaped: "there"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "puts"
- ├── @ ArrayNode (location: (28...37))
+ ├── @ ArrayNode (location: (4,0)-(5,2))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (31...36))
+ │ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (31...36) = "a\\\r\nb"
+ │ │ ├── value_loc: (4,3)-(5,1) = "a\\\r\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ab"
- │ ├── opening_loc: (28...31) = "%I{"
- │ └── closing_loc: (36...37) = "}"
- ├── @ StringNode (location: (41...45))
+ │ ├── opening_loc: (4,0)-(4,3) = "%I{"
+ │ └── closing_loc: (5,1)-(5,2) = "}"
+ ├── @ StringNode (location: (7,0)-(7,4))
│ ├── flags: ∅
- │ ├── opening_loc: (41...45) = "<<-E"
- │ ├── content_loc: (47...70) = " 1 \\\r\n 2\r\n 3\r\n"
- │ ├── closing_loc: (70...73) = "E\r\n"
+ │ ├── opening_loc: (7,0)-(7,4) = "<<-E"
+ │ ├── content_loc: (8,0)-(10,0) = " 1 \\\r\n 2\r\n 3\r\n"
+ │ ├── closing_loc: (11,0)-(11,0) = "E\r\n"
│ └── unescaped: " 1 2\r\n 3\r\n"
- ├── @ LocalVariableWriteNode (location: (75...84))
+ ├── @ LocalVariableWriteNode (location: (13,0)-(14,0))
│ ├── name: :x
│ ├── depth: 0
- │ ├── name_loc: (75...76) = "x"
+ │ ├── name_loc: (13,0)-(13,1) = "x"
│ ├── value:
- │ │ @ StringNode (location: (79...84))
+ │ │ @ StringNode (location: (13,4)-(14,0))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (79...82) = "%\r\n"
- │ │ ├── content_loc: (82...82) = ""
- │ │ ├── closing_loc: (82...84) = "\r\n"
+ │ │ ├── opening_loc: (13,4)-(13,0) = "%\r\n"
+ │ │ ├── content_loc: (14,0)-(13,0) = ""
+ │ │ ├── closing_loc: (14,0)-(14,0) = "\r\n"
│ │ └── unescaped: ""
- │ └── operator_loc: (77...78) = "="
- └── @ LocalVariableWriteNode (location: (88...108))
+ │ └── operator_loc: (13,2)-(13,3) = "="
+ └── @ LocalVariableWriteNode (location: (17,0)-(17,20))
├── name: :a
├── depth: 0
- ├── name_loc: (88...89) = "a"
+ ├── name_loc: (17,0)-(17,1) = "a"
├── value:
- │ @ CallNode (location: (92...108))
+ │ @ CallNode (location: (17,4)-(17,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (92...95) = "foo"
- │ ├── opening_loc: (95...96) = "("
+ │ ├── message_loc: (17,4)-(17,7) = "foo"
+ │ ├── opening_loc: (17,7)-(17,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (96...107))
+ │ │ @ ArgumentsNode (location: (17,8)-(17,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (96...107))
+ │ │ └── @ CallNode (location: (17,8)-(17,19))
│ │ ├── receiver:
- │ │ │ @ StringNode (location: (96...102))
+ │ │ │ @ StringNode (location: (17,8)-(17,14))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (96...102) = "<<~EOF"
- │ │ │ ├── content_loc: (110...121) = "\r\n baz\r\n"
- │ │ │ ├── closing_loc: (121...128) = " EOF\r\n"
+ │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF"
+ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n baz\r\n"
+ │ │ │ ├── closing_loc: (20,0)-(20,0) = " EOF\r\n"
│ │ │ └── unescaped: "\nbaz\r\n"
- │ │ ├── call_operator_loc: (102...103) = "."
- │ │ ├── message_loc: (103...107) = "chop"
+ │ │ ├── call_operator_loc: (17,14)-(17,15) = "."
+ │ │ ├── message_loc: (17,15)-(17,19) = "chop"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "chop"
- │ ├── closing_loc: (107...108) = ")"
+ │ ├── closing_loc: (17,19)-(17,20) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- └── operator_loc: (90...91) = "="
+ └── operator_loc: (17,2)-(17,3) = "="
diff --git a/test/yarp/snapshots/embdoc_no_newline_at_end.txt b/test/yarp/snapshots/embdoc_no_newline_at_end.txt
index 81b8a103ea..870bdb6ad5 100644
--- a/test/yarp/snapshots/embdoc_no_newline_at_end.txt
+++ b/test/yarp/snapshots/embdoc_no_newline_at_end.txt
@@ -1,5 +1,5 @@
-@ ProgramNode (location: (0...0))
+@ ProgramNode (location: (1,0)-(0,0))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...0))
+ @ StatementsNode (location: (1,0)-(0,0))
└── body: (length: 0)
diff --git a/test/yarp/snapshots/endless_methods.txt b/test/yarp/snapshots/endless_methods.txt
index 57ce520d41..36d52673a8 100644
--- a/test/yarp/snapshots/endless_methods.txt
+++ b/test/yarp/snapshots/endless_methods.txt
@@ -1,100 +1,100 @@
-@ ProgramNode (location: (0...51))
+@ ProgramNode (location: (1,0)-(5,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...51))
+ @ StatementsNode (location: (1,0)-(5,22))
└── body: (length: 3)
- ├── @ DefNode (location: (0...11))
+ ├── @ DefNode (location: (1,0)-(1,11))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...11))
+ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (10...11))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (8...9) = "="
+ │ ├── equal_loc: (1,8)-(1,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (13...27))
+ ├── @ DefNode (location: (3,0)-(3,14))
│ ├── name: :bar
- │ ├── name_loc: (17...20) = "bar"
+ │ ├── name_loc: (3,4)-(3,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (23...27))
+ │ │ @ StatementsNode (location: (3,10)-(3,14))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (23...27))
+ │ │ └── @ CallNode (location: (3,10)-(3,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (23...24) = "A"
+ │ │ ├── message_loc: (3,10)-(3,11) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (25...27))
+ │ │ │ @ ArgumentsNode (location: (3,12)-(3,14))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (25...27))
+ │ │ │ └── @ StringNode (location: (3,12)-(3,14))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (25...26) = "\""
- │ │ │ ├── content_loc: (26...26) = ""
- │ │ │ ├── closing_loc: (26...27) = "\""
+ │ │ │ ├── opening_loc: (3,12)-(3,13) = "\""
+ │ │ │ ├── content_loc: (3,13)-(3,13) = ""
+ │ │ │ ├── closing_loc: (3,13)-(3,14) = "\""
│ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── locals: []
- │ ├── def_keyword_loc: (13...16) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (21...22) = "="
+ │ ├── equal_loc: (3,8)-(3,9) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (29...51))
+ └── @ DefNode (location: (5,0)-(5,22))
├── name: :method
- ├── name_loc: (33...39) = "method"
+ ├── name_loc: (5,4)-(5,10) = "method"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (42...51))
+ │ @ StatementsNode (location: (5,13)-(5,22))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (42...51))
+ │ └── @ CallNode (location: (5,13)-(5,22))
│ ├── receiver:
- │ │ @ CallNode (location: (42...47))
+ │ │ @ CallNode (location: (5,13)-(5,18))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (42...43))
+ │ │ │ @ IntegerNode (location: (5,13)-(5,14))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (44...45) = "+"
+ │ │ ├── message_loc: (5,15)-(5,16) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (46...47))
+ │ │ │ @ ArgumentsNode (location: (5,17)-(5,18))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (46...47))
+ │ │ │ └── @ IntegerNode (location: (5,17)-(5,18))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (48...49) = "+"
+ │ ├── message_loc: (5,19)-(5,20) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (50...51))
+ │ │ @ ArgumentsNode (location: (5,21)-(5,22))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (50...51))
+ │ │ └── @ IntegerNode (location: (5,21)-(5,22))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
├── locals: []
- ├── def_keyword_loc: (29...32) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (40...41) = "="
+ ├── equal_loc: (5,11)-(5,12) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/endless_range_in_conditional.txt b/test/yarp/snapshots/endless_range_in_conditional.txt
index 8c3bdebedf..27447e9522 100644
--- a/test/yarp/snapshots/endless_range_in_conditional.txt
+++ b/test/yarp/snapshots/endless_range_in_conditional.txt
@@ -1,46 +1,46 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(3,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(3,12))
└── body: (length: 3)
- ├── @ IfNode (location: (0...13))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(1,13))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ FlipFlopNode (location: (3...7))
+ │ │ @ FlipFlopNode (location: (1,3)-(1,7))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (3...4))
+ │ │ │ @ IntegerNode (location: (1,3)-(1,4))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (6...7))
+ │ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (4...6) = ".."
+ │ │ ├── operator_loc: (1,4)-(1,6) = ".."
│ │ └── flags: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (10...13) = "end"
- ├── @ IfNode (location: (14...26))
- │ ├── if_keyword_loc: (14...16) = "if"
+ │ └── end_keyword_loc: (1,10)-(1,13) = "end"
+ ├── @ IfNode (location: (2,0)-(2,12))
+ │ ├── if_keyword_loc: (2,0)-(2,2) = "if"
│ ├── predicate:
- │ │ @ FlipFlopNode (location: (17...20))
+ │ │ @ FlipFlopNode (location: (2,3)-(2,6))
│ │ ├── left: ∅
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (19...20))
+ │ │ │ @ IntegerNode (location: (2,5)-(2,6))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (17...19) = ".."
+ │ │ ├── operator_loc: (2,3)-(2,5) = ".."
│ │ └── flags: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (23...26) = "end"
- └── @ IfNode (location: (27...39))
- ├── if_keyword_loc: (27...29) = "if"
+ │ └── end_keyword_loc: (2,9)-(2,12) = "end"
+ └── @ IfNode (location: (3,0)-(3,12))
+ ├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
- │ @ FlipFlopNode (location: (30...33))
+ │ @ FlipFlopNode (location: (3,3)-(3,6))
│ ├── left:
- │ │ @ IntegerNode (location: (30...31))
+ │ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (31...33) = ".."
+ │ ├── operator_loc: (3,4)-(3,6) = ".."
│ └── flags: ∅
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (36...39) = "end"
+ └── end_keyword_loc: (3,9)-(3,12) = "end"
diff --git a/test/yarp/snapshots/for.txt b/test/yarp/snapshots/for.txt
index e8b3868b7b..a0485a57ff 100644
--- a/test/yarp/snapshots/for.txt
+++ b/test/yarp/snapshots/for.txt
@@ -1,172 +1,172 @@
-@ ProgramNode (location: (0...143))
+@ ProgramNode (location: (1,0)-(19,22))
├── locals: [:i, :j, :k]
└── statements:
- @ StatementsNode (location: (0...143))
+ @ StatementsNode (location: (1,0)-(19,22))
└── body: (length: 6)
- ├── @ ForNode (location: (0...20))
+ ├── @ ForNode (location: (1,0)-(3,3))
│ ├── index:
- │ │ @ LocalVariableTargetNode (location: (4...5))
+ │ │ @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── collection:
- │ │ @ RangeNode (location: (9...14))
+ │ │ @ RangeNode (location: (1,9)-(1,14))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (10...12) = ".."
+ │ │ ├── operator_loc: (1,10)-(1,12) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (15...16))
+ │ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (15...16))
+ │ │ └── @ LocalVariableReadNode (location: (2,0)-(2,1))
│ │ ├── name: :i
│ │ └── depth: 0
- │ ├── for_keyword_loc: (0...3) = "for"
- │ ├── in_keyword_loc: (6...8) = "in"
+ │ ├── for_keyword_loc: (1,0)-(1,3) = "for"
+ │ ├── in_keyword_loc: (1,6)-(1,8) = "in"
│ ├── do_keyword_loc: ∅
- │ └── end_keyword_loc: (17...20) = "end"
- ├── @ ForNode (location: (22...44))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ ForNode (location: (5,0)-(5,22))
│ ├── index:
- │ │ @ LocalVariableTargetNode (location: (26...27))
+ │ │ @ LocalVariableTargetNode (location: (5,4)-(5,5))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── collection:
- │ │ @ RangeNode (location: (31...36))
+ │ │ @ RangeNode (location: (5,9)-(5,14))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (31...32))
+ │ │ │ @ IntegerNode (location: (5,9)-(5,10))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (34...36))
+ │ │ │ @ IntegerNode (location: (5,12)-(5,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (32...34) = ".."
+ │ │ ├── operator_loc: (5,10)-(5,12) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (38...39))
+ │ │ @ StatementsNode (location: (5,16)-(5,17))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (38...39))
+ │ │ └── @ LocalVariableReadNode (location: (5,16)-(5,17))
│ │ ├── name: :i
│ │ └── depth: 0
- │ ├── for_keyword_loc: (22...25) = "for"
- │ ├── in_keyword_loc: (28...30) = "in"
+ │ ├── for_keyword_loc: (5,0)-(5,3) = "for"
+ │ ├── in_keyword_loc: (5,6)-(5,8) = "in"
│ ├── do_keyword_loc: ∅
- │ └── end_keyword_loc: (41...44) = "end"
- ├── @ ForNode (location: (46...68))
+ │ └── end_keyword_loc: (5,19)-(5,22) = "end"
+ ├── @ ForNode (location: (7,0)-(9,3))
│ ├── index:
- │ │ @ MultiTargetNode (location: (50...53))
+ │ │ @ MultiTargetNode (location: (7,4)-(7,7))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (50...51))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (7,4)-(7,5))
│ │ │ │ ├── name: :i
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (52...53))
+ │ │ │ └── @ LocalVariableTargetNode (location: (7,6)-(7,7))
│ │ │ ├── name: :j
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
- │ │ @ RangeNode (location: (57...62))
+ │ │ @ RangeNode (location: (7,11)-(7,16))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (57...58))
+ │ │ │ @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (60...62))
+ │ │ │ @ IntegerNode (location: (7,14)-(7,16))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (58...60) = ".."
+ │ │ ├── operator_loc: (7,12)-(7,14) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (63...64))
+ │ │ @ StatementsNode (location: (8,0)-(8,1))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (63...64))
+ │ │ └── @ LocalVariableReadNode (location: (8,0)-(8,1))
│ │ ├── name: :i
│ │ └── depth: 0
- │ ├── for_keyword_loc: (46...49) = "for"
- │ ├── in_keyword_loc: (54...56) = "in"
+ │ ├── for_keyword_loc: (7,0)-(7,3) = "for"
+ │ ├── in_keyword_loc: (7,8)-(7,10) = "in"
│ ├── do_keyword_loc: ∅
- │ └── end_keyword_loc: (65...68) = "end"
- ├── @ ForNode (location: (70...94))
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ ├── @ ForNode (location: (11,0)-(13,3))
│ ├── index:
- │ │ @ MultiTargetNode (location: (74...79))
+ │ │ @ MultiTargetNode (location: (11,4)-(11,9))
│ │ ├── targets: (length: 3)
- │ │ │ ├── @ LocalVariableTargetNode (location: (74...75))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (11,4)-(11,5))
│ │ │ │ ├── name: :i
│ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableTargetNode (location: (76...77))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (11,6)-(11,7))
│ │ │ │ ├── name: :j
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (78...79))
+ │ │ │ └── @ LocalVariableTargetNode (location: (11,8)-(11,9))
│ │ │ ├── name: :k
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
│ ├── collection:
- │ │ @ RangeNode (location: (83...88))
+ │ │ @ RangeNode (location: (11,13)-(11,18))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (83...84))
+ │ │ │ @ IntegerNode (location: (11,13)-(11,14))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (86...88))
+ │ │ │ @ IntegerNode (location: (11,16)-(11,18))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (84...86) = ".."
+ │ │ ├── operator_loc: (11,14)-(11,16) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (89...90))
+ │ │ @ StatementsNode (location: (12,0)-(12,1))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (89...90))
+ │ │ └── @ LocalVariableReadNode (location: (12,0)-(12,1))
│ │ ├── name: :i
│ │ └── depth: 0
- │ ├── for_keyword_loc: (70...73) = "for"
- │ ├── in_keyword_loc: (80...82) = "in"
+ │ ├── for_keyword_loc: (11,0)-(11,3) = "for"
+ │ ├── in_keyword_loc: (11,10)-(11,12) = "in"
│ ├── do_keyword_loc: ∅
- │ └── end_keyword_loc: (91...94) = "end"
- ├── @ ForNode (location: (96...119))
+ │ └── end_keyword_loc: (13,0)-(13,3) = "end"
+ ├── @ ForNode (location: (15,0)-(17,3))
│ ├── index:
- │ │ @ LocalVariableTargetNode (location: (100...101))
+ │ │ @ LocalVariableTargetNode (location: (15,4)-(15,5))
│ │ ├── name: :i
│ │ └── depth: 0
│ ├── collection:
- │ │ @ RangeNode (location: (105...110))
+ │ │ @ RangeNode (location: (15,9)-(15,14))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (105...106))
+ │ │ │ @ IntegerNode (location: (15,9)-(15,10))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (108...110))
+ │ │ │ @ IntegerNode (location: (15,12)-(15,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (106...108) = ".."
+ │ │ ├── operator_loc: (15,10)-(15,12) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (114...115))
+ │ │ @ StatementsNode (location: (16,0)-(16,1))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (114...115))
+ │ │ └── @ LocalVariableReadNode (location: (16,0)-(16,1))
│ │ ├── name: :i
│ │ └── depth: 0
- │ ├── for_keyword_loc: (96...99) = "for"
- │ ├── in_keyword_loc: (102...104) = "in"
- │ ├── do_keyword_loc: (111...113) = "do"
- │ └── end_keyword_loc: (116...119) = "end"
- └── @ ForNode (location: (121...143))
+ │ ├── for_keyword_loc: (15,0)-(15,3) = "for"
+ │ ├── in_keyword_loc: (15,6)-(15,8) = "in"
+ │ ├── do_keyword_loc: (15,15)-(15,17) = "do"
+ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ └── @ ForNode (location: (19,0)-(19,22))
├── index:
- │ @ LocalVariableTargetNode (location: (125...126))
+ │ @ LocalVariableTargetNode (location: (19,4)-(19,5))
│ ├── name: :i
│ └── depth: 0
├── collection:
- │ @ RangeNode (location: (130...135))
+ │ @ RangeNode (location: (19,9)-(19,14))
│ ├── left:
- │ │ @ IntegerNode (location: (130...131))
+ │ │ @ IntegerNode (location: (19,9)-(19,10))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (133...135))
+ │ │ @ IntegerNode (location: (19,12)-(19,14))
│ │ └── flags: decimal
- │ ├── operator_loc: (131...133) = ".."
+ │ ├── operator_loc: (19,10)-(19,12) = ".."
│ └── flags: ∅
├── statements:
- │ @ StatementsNode (location: (137...138))
+ │ @ StatementsNode (location: (19,16)-(19,17))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (137...138))
+ │ └── @ LocalVariableReadNode (location: (19,16)-(19,17))
│ ├── name: :i
│ └── depth: 0
- ├── for_keyword_loc: (121...124) = "for"
- ├── in_keyword_loc: (127...129) = "in"
+ ├── for_keyword_loc: (19,0)-(19,3) = "for"
+ ├── in_keyword_loc: (19,6)-(19,8) = "in"
├── do_keyword_loc: ∅
- └── end_keyword_loc: (140...143) = "end"
+ └── end_keyword_loc: (19,19)-(19,22) = "end"
diff --git a/test/yarp/snapshots/global_variables.txt b/test/yarp/snapshots/global_variables.txt
index 4e1feffd58..bb2e7d53b9 100644
--- a/test/yarp/snapshots/global_variables.txt
+++ b/test/yarp/snapshots/global_variables.txt
@@ -1,164 +1,164 @@
-@ ProgramNode (location: (0...349))
+@ ProgramNode (location: (1,0)-(93,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...349))
+ @ StatementsNode (location: (1,0)-(93,4))
└── body: (length: 47)
- ├── @ GlobalVariableReadNode (location: (0...16))
+ ├── @ GlobalVariableReadNode (location: (1,0)-(1,16))
│ └── name: :$global_variable
- ├── @ GlobalVariableReadNode (location: (18...20))
+ ├── @ GlobalVariableReadNode (location: (3,0)-(3,2))
│ └── name: :$_
- ├── @ GlobalVariableReadNode (location: (22...25))
+ ├── @ GlobalVariableReadNode (location: (5,0)-(5,3))
│ └── name: :$-w
- ├── @ GlobalVariableReadNode (location: (27...37))
+ ├── @ GlobalVariableReadNode (location: (7,0)-(7,10))
│ └── name: :$LOAD_PATH
- ├── @ GlobalVariableReadNode (location: (39...45))
+ ├── @ GlobalVariableReadNode (location: (9,0)-(9,6))
│ └── name: :$stdin
- ├── @ GlobalVariableReadNode (location: (47...54))
+ ├── @ GlobalVariableReadNode (location: (11,0)-(11,7))
│ └── name: :$stdout
- ├── @ GlobalVariableReadNode (location: (56...63))
+ ├── @ GlobalVariableReadNode (location: (13,0)-(13,7))
│ └── name: :$stderr
- ├── @ GlobalVariableReadNode (location: (65...67))
+ ├── @ GlobalVariableReadNode (location: (15,0)-(15,2))
│ └── name: :$!
- ├── @ GlobalVariableReadNode (location: (69...71))
+ ├── @ GlobalVariableReadNode (location: (17,0)-(17,2))
│ └── name: :$?
- ├── @ GlobalVariableReadNode (location: (73...75))
+ ├── @ GlobalVariableReadNode (location: (19,0)-(19,2))
│ └── name: :$~
- ├── @ BackReferenceReadNode (location: (77...79))
- ├── @ BackReferenceReadNode (location: (81...83))
- ├── @ BackReferenceReadNode (location: (85...87))
- ├── @ BackReferenceReadNode (location: (89...91))
- ├── @ GlobalVariableReadNode (location: (93...95))
+ ├── @ BackReferenceReadNode (location: (21,0)-(21,2))
+ ├── @ BackReferenceReadNode (location: (23,0)-(23,2))
+ ├── @ BackReferenceReadNode (location: (25,0)-(25,2))
+ ├── @ BackReferenceReadNode (location: (27,0)-(27,2))
+ ├── @ GlobalVariableReadNode (location: (29,0)-(29,2))
│ └── name: :$:
- ├── @ GlobalVariableReadNode (location: (97...99))
+ ├── @ GlobalVariableReadNode (location: (31,0)-(31,2))
│ └── name: :$;
- ├── @ GlobalVariableReadNode (location: (101...103))
+ ├── @ GlobalVariableReadNode (location: (33,0)-(33,2))
│ └── name: :$,
- ├── @ GlobalVariableReadNode (location: (105...111))
+ ├── @ GlobalVariableReadNode (location: (35,0)-(35,6))
│ └── name: :$DEBUG
- ├── @ GlobalVariableReadNode (location: (113...122))
+ ├── @ GlobalVariableReadNode (location: (37,0)-(37,9))
│ └── name: :$FILENAME
- ├── @ GlobalVariableReadNode (location: (124...126))
+ ├── @ GlobalVariableReadNode (location: (39,0)-(39,2))
│ └── name: :$0
- ├── @ GlobalVariableReadNode (location: (128...131))
+ ├── @ GlobalVariableReadNode (location: (41,0)-(41,3))
│ └── name: :$-0
- ├── @ GlobalVariableReadNode (location: (133...149))
+ ├── @ GlobalVariableReadNode (location: (43,0)-(43,16))
│ └── name: :$LOADED_FEATURES
- ├── @ GlobalVariableReadNode (location: (151...159))
+ ├── @ GlobalVariableReadNode (location: (45,0)-(45,8))
│ └── name: :$VERBOSE
- ├── @ GlobalVariableReadNode (location: (161...164))
+ ├── @ GlobalVariableReadNode (location: (47,0)-(47,3))
│ └── name: :$-K
- ├── @ SymbolNode (location: (166...183))
- │ ├── opening_loc: (166...167) = ":"
- │ ├── value_loc: (167...183) = "$global_variable"
+ ├── @ SymbolNode (location: (49,0)-(49,17))
+ │ ├── opening_loc: (49,0)-(49,1) = ":"
+ │ ├── value_loc: (49,1)-(49,17) = "$global_variable"
│ ├── closing_loc: ∅
│ └── unescaped: "$global_variable"
- ├── @ SymbolNode (location: (185...188))
- │ ├── opening_loc: (185...186) = ":"
- │ ├── value_loc: (186...188) = "$_"
+ ├── @ SymbolNode (location: (51,0)-(51,3))
+ │ ├── opening_loc: (51,0)-(51,1) = ":"
+ │ ├── value_loc: (51,1)-(51,3) = "$_"
│ ├── closing_loc: ∅
│ └── unescaped: "$_"
- ├── @ SymbolNode (location: (190...194))
- │ ├── opening_loc: (190...191) = ":"
- │ ├── value_loc: (191...194) = "$-w"
+ ├── @ SymbolNode (location: (53,0)-(53,4))
+ │ ├── opening_loc: (53,0)-(53,1) = ":"
+ │ ├── value_loc: (53,1)-(53,4) = "$-w"
│ ├── closing_loc: ∅
│ └── unescaped: "$-w"
- ├── @ SymbolNode (location: (196...207))
- │ ├── opening_loc: (196...197) = ":"
- │ ├── value_loc: (197...207) = "$LOAD_PATH"
+ ├── @ SymbolNode (location: (55,0)-(55,11))
+ │ ├── opening_loc: (55,0)-(55,1) = ":"
+ │ ├── value_loc: (55,1)-(55,11) = "$LOAD_PATH"
│ ├── closing_loc: ∅
│ └── unescaped: "$LOAD_PATH"
- ├── @ SymbolNode (location: (209...216))
- │ ├── opening_loc: (209...210) = ":"
- │ ├── value_loc: (210...216) = "$stdin"
+ ├── @ SymbolNode (location: (57,0)-(57,7))
+ │ ├── opening_loc: (57,0)-(57,1) = ":"
+ │ ├── value_loc: (57,1)-(57,7) = "$stdin"
│ ├── closing_loc: ∅
│ └── unescaped: "$stdin"
- ├── @ SymbolNode (location: (218...226))
- │ ├── opening_loc: (218...219) = ":"
- │ ├── value_loc: (219...226) = "$stdout"
+ ├── @ SymbolNode (location: (59,0)-(59,8))
+ │ ├── opening_loc: (59,0)-(59,1) = ":"
+ │ ├── value_loc: (59,1)-(59,8) = "$stdout"
│ ├── closing_loc: ∅
│ └── unescaped: "$stdout"
- ├── @ SymbolNode (location: (228...236))
- │ ├── opening_loc: (228...229) = ":"
- │ ├── value_loc: (229...236) = "$stderr"
+ ├── @ SymbolNode (location: (61,0)-(61,8))
+ │ ├── opening_loc: (61,0)-(61,1) = ":"
+ │ ├── value_loc: (61,1)-(61,8) = "$stderr"
│ ├── closing_loc: ∅
│ └── unescaped: "$stderr"
- ├── @ SymbolNode (location: (238...241))
- │ ├── opening_loc: (238...239) = ":"
- │ ├── value_loc: (239...241) = "$!"
+ ├── @ SymbolNode (location: (63,0)-(63,3))
+ │ ├── opening_loc: (63,0)-(63,1) = ":"
+ │ ├── value_loc: (63,1)-(63,3) = "$!"
│ ├── closing_loc: ∅
│ └── unescaped: "$!"
- ├── @ SymbolNode (location: (243...246))
- │ ├── opening_loc: (243...244) = ":"
- │ ├── value_loc: (244...246) = "$?"
+ ├── @ SymbolNode (location: (65,0)-(65,3))
+ │ ├── opening_loc: (65,0)-(65,1) = ":"
+ │ ├── value_loc: (65,1)-(65,3) = "$?"
│ ├── closing_loc: ∅
│ └── unescaped: "$?"
- ├── @ SymbolNode (location: (248...251))
- │ ├── opening_loc: (248...249) = ":"
- │ ├── value_loc: (249...251) = "$~"
+ ├── @ SymbolNode (location: (67,0)-(67,3))
+ │ ├── opening_loc: (67,0)-(67,1) = ":"
+ │ ├── value_loc: (67,1)-(67,3) = "$~"
│ ├── closing_loc: ∅
│ └── unescaped: "$~"
- ├── @ SymbolNode (location: (253...256))
- │ ├── opening_loc: (253...254) = ":"
- │ ├── value_loc: (254...256) = "$&"
+ ├── @ SymbolNode (location: (69,0)-(69,3))
+ │ ├── opening_loc: (69,0)-(69,1) = ":"
+ │ ├── value_loc: (69,1)-(69,3) = "$&"
│ ├── closing_loc: ∅
│ └── unescaped: "$&"
- ├── @ SymbolNode (location: (258...261))
- │ ├── opening_loc: (258...259) = ":"
- │ ├── value_loc: (259...261) = "$`"
+ ├── @ SymbolNode (location: (71,0)-(71,3))
+ │ ├── opening_loc: (71,0)-(71,1) = ":"
+ │ ├── value_loc: (71,1)-(71,3) = "$`"
│ ├── closing_loc: ∅
│ └── unescaped: "$`"
- ├── @ SymbolNode (location: (263...266))
- │ ├── opening_loc: (263...264) = ":"
- │ ├── value_loc: (264...266) = "$'"
+ ├── @ SymbolNode (location: (73,0)-(73,3))
+ │ ├── opening_loc: (73,0)-(73,1) = ":"
+ │ ├── value_loc: (73,1)-(73,3) = "$'"
│ ├── closing_loc: ∅
│ └── unescaped: "$'"
- ├── @ SymbolNode (location: (268...271))
- │ ├── opening_loc: (268...269) = ":"
- │ ├── value_loc: (269...271) = "$+"
+ ├── @ SymbolNode (location: (75,0)-(75,3))
+ │ ├── opening_loc: (75,0)-(75,1) = ":"
+ │ ├── value_loc: (75,1)-(75,3) = "$+"
│ ├── closing_loc: ∅
│ └── unescaped: "$+"
- ├── @ SymbolNode (location: (273...276))
- │ ├── opening_loc: (273...274) = ":"
- │ ├── value_loc: (274...276) = "$:"
+ ├── @ SymbolNode (location: (77,0)-(77,3))
+ │ ├── opening_loc: (77,0)-(77,1) = ":"
+ │ ├── value_loc: (77,1)-(77,3) = "$:"
│ ├── closing_loc: ∅
│ └── unescaped: "$:"
- ├── @ SymbolNode (location: (278...281))
- │ ├── opening_loc: (278...279) = ":"
- │ ├── value_loc: (279...281) = "$;"
+ ├── @ SymbolNode (location: (79,0)-(79,3))
+ │ ├── opening_loc: (79,0)-(79,1) = ":"
+ │ ├── value_loc: (79,1)-(79,3) = "$;"
│ ├── closing_loc: ∅
│ └── unescaped: "$;"
- ├── @ SymbolNode (location: (283...290))
- │ ├── opening_loc: (283...284) = ":"
- │ ├── value_loc: (284...290) = "$DEBUG"
+ ├── @ SymbolNode (location: (81,0)-(81,7))
+ │ ├── opening_loc: (81,0)-(81,1) = ":"
+ │ ├── value_loc: (81,1)-(81,7) = "$DEBUG"
│ ├── closing_loc: ∅
│ └── unescaped: "$DEBUG"
- ├── @ SymbolNode (location: (292...302))
- │ ├── opening_loc: (292...293) = ":"
- │ ├── value_loc: (293...302) = "$FILENAME"
+ ├── @ SymbolNode (location: (83,0)-(83,10))
+ │ ├── opening_loc: (83,0)-(83,1) = ":"
+ │ ├── value_loc: (83,1)-(83,10) = "$FILENAME"
│ ├── closing_loc: ∅
│ └── unescaped: "$FILENAME"
- ├── @ SymbolNode (location: (304...307))
- │ ├── opening_loc: (304...305) = ":"
- │ ├── value_loc: (305...307) = "$0"
+ ├── @ SymbolNode (location: (85,0)-(85,3))
+ │ ├── opening_loc: (85,0)-(85,1) = ":"
+ │ ├── value_loc: (85,1)-(85,3) = "$0"
│ ├── closing_loc: ∅
│ └── unescaped: "$0"
- ├── @ SymbolNode (location: (309...313))
- │ ├── opening_loc: (309...310) = ":"
- │ ├── value_loc: (310...313) = "$-0"
+ ├── @ SymbolNode (location: (87,0)-(87,4))
+ │ ├── opening_loc: (87,0)-(87,1) = ":"
+ │ ├── value_loc: (87,1)-(87,4) = "$-0"
│ ├── closing_loc: ∅
│ └── unescaped: "$-0"
- ├── @ SymbolNode (location: (315...332))
- │ ├── opening_loc: (315...316) = ":"
- │ ├── value_loc: (316...332) = "$LOADED_FEATURES"
+ ├── @ SymbolNode (location: (89,0)-(89,17))
+ │ ├── opening_loc: (89,0)-(89,1) = ":"
+ │ ├── value_loc: (89,1)-(89,17) = "$LOADED_FEATURES"
│ ├── closing_loc: ∅
│ └── unescaped: "$LOADED_FEATURES"
- ├── @ SymbolNode (location: (334...343))
- │ ├── opening_loc: (334...335) = ":"
- │ ├── value_loc: (335...343) = "$VERBOSE"
+ ├── @ SymbolNode (location: (91,0)-(91,9))
+ │ ├── opening_loc: (91,0)-(91,1) = ":"
+ │ ├── value_loc: (91,1)-(91,9) = "$VERBOSE"
│ ├── closing_loc: ∅
│ └── unescaped: "$VERBOSE"
- └── @ SymbolNode (location: (345...349))
- ├── opening_loc: (345...346) = ":"
- ├── value_loc: (346...349) = "$-K"
+ └── @ SymbolNode (location: (93,0)-(93,4))
+ ├── opening_loc: (93,0)-(93,1) = ":"
+ ├── value_loc: (93,1)-(93,4) = "$-K"
├── closing_loc: ∅
└── unescaped: "$-K"
diff --git a/test/yarp/snapshots/hashes.txt b/test/yarp/snapshots/hashes.txt
index b49db786a2..ea8400635b 100644
--- a/test/yarp/snapshots/hashes.txt
+++ b/test/yarp/snapshots/hashes.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...167))
+@ ProgramNode (location: (1,0)-(26,3))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...167))
+ @ StatementsNode (location: (1,0)-(26,3))
└── body: (length: 9)
- ├── @ HashNode (location: (0...2))
- │ ├── opening_loc: (0...1) = "{"
+ ├── @ HashNode (location: (1,0)-(1,2))
+ │ ├── opening_loc: (1,0)-(1,1) = "{"
│ ├── elements: (length: 0)
- │ └── closing_loc: (1...2) = "}"
- ├── @ HashNode (location: (4...7))
- │ ├── opening_loc: (4...5) = "{"
+ │ └── closing_loc: (1,1)-(1,2) = "}"
+ ├── @ HashNode (location: (3,0)-(4,1))
+ │ ├── opening_loc: (3,0)-(3,1) = "{"
│ ├── elements: (length: 0)
- │ └── closing_loc: (6...7) = "}"
- ├── @ HashNode (location: (9...27))
- │ ├── opening_loc: (9...10) = "{"
+ │ └── closing_loc: (4,0)-(4,1) = "}"
+ ├── @ HashNode (location: (6,0)-(6,18))
+ │ ├── opening_loc: (6,0)-(6,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (11...17))
+ │ │ ├── @ AssocNode (location: (6,2)-(6,8))
│ │ │ ├── key:
- │ │ │ │ @ CallNode (location: (11...12))
+ │ │ │ │ @ CallNode (location: (6,2)-(6,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (11...12) = "a"
+ │ │ │ │ ├── message_loc: (6,2)-(6,3) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -27,23 +27,23 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (16...17))
+ │ │ │ │ @ CallNode (location: (6,7)-(6,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (16...17) = "b"
+ │ │ │ │ ├── message_loc: (6,7)-(6,8) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── operator_loc: (13...15) = "=>"
- │ │ └── @ AssocNode (location: (19...25))
+ │ │ │ └── operator_loc: (6,4)-(6,6) = "=>"
+ │ │ └── @ AssocNode (location: (6,10)-(6,16))
│ │ ├── key:
- │ │ │ @ CallNode (location: (19...20))
+ │ │ │ @ CallNode (location: (6,10)-(6,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (19...20) = "c"
+ │ │ │ ├── message_loc: (6,10)-(6,11) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -51,27 +51,27 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
│ │ ├── value:
- │ │ │ @ CallNode (location: (24...25))
+ │ │ │ @ CallNode (location: (6,15)-(6,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (24...25) = "d"
+ │ │ │ ├── message_loc: (6,15)-(6,16) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ └── operator_loc: (21...23) = "=>"
- │ └── closing_loc: (26...27) = "}"
- ├── @ HashNode (location: (29...44))
- │ ├── opening_loc: (29...30) = "{"
+ │ │ └── operator_loc: (6,12)-(6,14) = "=>"
+ │ └── closing_loc: (6,17)-(6,18) = "}"
+ ├── @ HashNode (location: (8,0)-(8,15))
+ │ ├── opening_loc: (8,0)-(8,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (31...37))
+ │ │ ├── @ AssocNode (location: (8,2)-(8,8))
│ │ │ ├── key:
- │ │ │ │ @ CallNode (location: (31...32))
+ │ │ │ │ @ CallNode (location: (8,2)-(8,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (31...32) = "a"
+ │ │ │ │ ├── message_loc: (8,2)-(8,3) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -79,46 +79,46 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (36...37))
+ │ │ │ │ @ CallNode (location: (8,7)-(8,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (36...37) = "b"
+ │ │ │ │ ├── message_loc: (8,7)-(8,8) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── operator_loc: (33...35) = "=>"
- │ │ └── @ AssocSplatNode (location: (39...42))
+ │ │ │ └── operator_loc: (8,4)-(8,6) = "=>"
+ │ │ └── @ AssocSplatNode (location: (8,10)-(8,13))
│ │ ├── value:
- │ │ │ @ CallNode (location: (41...42))
+ │ │ │ @ CallNode (location: (8,12)-(8,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (41...42) = "c"
+ │ │ │ ├── message_loc: (8,12)-(8,13) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── operator_loc: (39...41) = "**"
- │ └── closing_loc: (43...44) = "}"
- ├── @ HashNode (location: (46...79))
- │ ├── opening_loc: (46...47) = "{"
+ │ │ └── operator_loc: (8,10)-(8,12) = "**"
+ │ └── closing_loc: (8,14)-(8,15) = "}"
+ ├── @ HashNode (location: (10,0)-(16,5))
+ │ ├── opening_loc: (10,0)-(10,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (54...58))
+ │ │ ├── @ AssocNode (location: (11,6)-(11,10))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (54...56))
+ │ │ │ │ @ SymbolNode (location: (11,6)-(11,8))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (54...55) = "a"
- │ │ │ │ ├── closing_loc: (55...56) = ":"
+ │ │ │ │ ├── value_loc: (11,6)-(11,7) = "a"
+ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (57...58))
+ │ │ │ │ @ CallNode (location: (11,9)-(11,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (57...58) = "b"
+ │ │ │ │ ├── message_loc: (11,9)-(11,10) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -126,18 +126,18 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
│ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (66...70))
+ │ │ └── @ AssocNode (location: (12,6)-(12,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (66...68))
+ │ │ │ @ SymbolNode (location: (12,6)-(12,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (66...67) = "c"
- │ │ │ ├── closing_loc: (67...68) = ":"
+ │ │ │ ├── value_loc: (12,6)-(12,7) = "c"
+ │ │ │ ├── closing_loc: (12,7)-(12,8) = ":"
│ │ │ └── unescaped: "c"
│ │ ├── value:
- │ │ │ @ CallNode (location: (69...70))
+ │ │ │ @ CallNode (location: (12,9)-(12,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (69...70) = "d"
+ │ │ │ ├── message_loc: (12,9)-(12,10) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -145,22 +145,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (78...79) = "}"
- ├── @ HashNode (location: (81...106))
- │ ├── opening_loc: (81...82) = "{"
+ │ └── closing_loc: (16,4)-(16,5) = "}"
+ ├── @ HashNode (location: (18,0)-(18,25))
+ │ ├── opening_loc: (18,0)-(18,1) = "{"
│ ├── elements: (length: 4)
- │ │ ├── @ AssocNode (location: (83...87))
+ │ │ ├── @ AssocNode (location: (18,2)-(18,6))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (83...85))
+ │ │ │ │ @ SymbolNode (location: (18,2)-(18,4))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (83...84) = "a"
- │ │ │ │ ├── closing_loc: (84...85) = ":"
+ │ │ │ │ ├── value_loc: (18,2)-(18,3) = "a"
+ │ │ │ │ ├── closing_loc: (18,3)-(18,4) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (86...87))
+ │ │ │ │ @ CallNode (location: (18,5)-(18,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (86...87) = "b"
+ │ │ │ │ ├── message_loc: (18,5)-(18,6) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -168,18 +168,18 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
│ │ │ └── operator_loc: ∅
- │ │ ├── @ AssocNode (location: (89...93))
+ │ │ ├── @ AssocNode (location: (18,8)-(18,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (89...91))
+ │ │ │ │ @ SymbolNode (location: (18,8)-(18,10))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (89...90) = "c"
- │ │ │ │ ├── closing_loc: (90...91) = ":"
+ │ │ │ │ ├── value_loc: (18,8)-(18,9) = "c"
+ │ │ │ │ ├── closing_loc: (18,9)-(18,10) = ":"
│ │ │ │ └── unescaped: "c"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (92...93))
+ │ │ │ │ @ CallNode (location: (18,11)-(18,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (92...93) = "d"
+ │ │ │ │ ├── message_loc: (18,11)-(18,12) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -187,31 +187,31 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "d"
│ │ │ └── operator_loc: ∅
- │ │ ├── @ AssocSplatNode (location: (95...98))
+ │ │ ├── @ AssocSplatNode (location: (18,14)-(18,17))
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (97...98))
+ │ │ │ │ @ CallNode (location: (18,16)-(18,17))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (97...98) = "e"
+ │ │ │ │ ├── message_loc: (18,16)-(18,17) = "e"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "e"
- │ │ │ └── operator_loc: (95...97) = "**"
- │ │ └── @ AssocNode (location: (100...104))
+ │ │ │ └── operator_loc: (18,14)-(18,16) = "**"
+ │ │ └── @ AssocNode (location: (18,19)-(18,23))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (100...102))
+ │ │ │ @ SymbolNode (location: (18,19)-(18,21))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (100...101) = "f"
- │ │ │ ├── closing_loc: (101...102) = ":"
+ │ │ │ ├── value_loc: (18,19)-(18,20) = "f"
+ │ │ │ ├── closing_loc: (18,20)-(18,21) = ":"
│ │ │ └── unescaped: "f"
│ │ ├── value:
- │ │ │ @ CallNode (location: (103...104))
+ │ │ │ @ CallNode (location: (18,22)-(18,23))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (103...104) = "g"
+ │ │ │ ├── message_loc: (18,22)-(18,23) = "g"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -219,24 +219,24 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "g"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (105...106) = "}"
- ├── @ HashNode (location: (108...120))
- │ ├── opening_loc: (108...109) = "{"
+ │ └── closing_loc: (18,24)-(18,25) = "}"
+ ├── @ HashNode (location: (20,0)-(20,12))
+ │ ├── opening_loc: (20,0)-(20,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (110...118))
+ │ │ └── @ AssocNode (location: (20,2)-(20,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (110...114))
- │ │ │ ├── opening_loc: (110...111) = "\""
- │ │ │ ├── value_loc: (111...112) = "a"
- │ │ │ ├── closing_loc: (112...114) = "\":"
+ │ │ │ @ SymbolNode (location: (20,2)-(20,6))
+ │ │ │ ├── opening_loc: (20,2)-(20,3) = "\""
+ │ │ │ ├── value_loc: (20,3)-(20,4) = "a"
+ │ │ │ ├── closing_loc: (20,4)-(20,6) = "\":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (115...118))
+ │ │ │ @ CallNode (location: (20,7)-(20,10))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (116...118))
+ │ │ │ │ @ CallNode (location: (20,8)-(20,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (116...118) = "b?"
+ │ │ │ │ ├── message_loc: (20,8)-(20,10) = "b?"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -244,7 +244,7 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "b?"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (115...116) = "!"
+ │ │ │ ├── message_loc: (20,7)-(20,8) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -252,82 +252,82 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "!"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (119...120) = "}"
- ├── @ LocalVariableWriteNode (location: (122...127))
+ │ └── closing_loc: (20,11)-(20,12) = "}"
+ ├── @ LocalVariableWriteNode (location: (22,0)-(22,5))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (122...123) = "a"
+ │ ├── name_loc: (22,0)-(22,1) = "a"
│ ├── value:
- │ │ @ IntegerNode (location: (126...127))
+ │ │ @ IntegerNode (location: (22,4)-(22,5))
│ │ └── flags: decimal
- │ └── operator_loc: (124...125) = "="
- └── @ CallNode (location: (128...167))
+ │ └── operator_loc: (22,2)-(22,3) = "="
+ └── @ CallNode (location: (23,0)-(26,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (128...131) = "tap"
+ ├── message_loc: (23,0)-(23,3) = "tap"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (132...167))
+ │ @ BlockNode (location: (23,4)-(26,3))
│ ├── locals: [:b]
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (137...163))
+ │ │ @ StatementsNode (location: (24,2)-(25,20))
│ │ └── body: (length: 2)
- │ │ ├── @ LocalVariableWriteNode (location: (137...142))
+ │ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7))
│ │ │ ├── name: :b
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (137...138) = "b"
+ │ │ │ ├── name_loc: (24,2)-(24,3) = "b"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (141...142))
+ │ │ │ │ @ IntegerNode (location: (24,6)-(24,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (139...140) = "="
- │ │ └── @ HashNode (location: (145...163))
- │ │ ├── opening_loc: (145...146) = "{"
+ │ │ │ └── operator_loc: (24,4)-(24,5) = "="
+ │ │ └── @ HashNode (location: (25,2)-(25,20))
+ │ │ ├── opening_loc: (25,2)-(25,3) = "{"
│ │ ├── elements: (length: 4)
- │ │ │ ├── @ AssocNode (location: (147...149))
+ │ │ │ ├── @ AssocNode (location: (25,4)-(25,6))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (147...149))
+ │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (147...148) = "a"
- │ │ │ │ │ ├── closing_loc: (148...149) = ":"
+ │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
+ │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (147...149))
+ │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ │ └── value:
- │ │ │ │ │ @ LocalVariableReadNode (location: (147...149))
+ │ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 1
│ │ │ │ └── operator_loc: ∅
- │ │ │ ├── @ AssocNode (location: (151...153))
+ │ │ │ ├── @ AssocNode (location: (25,8)-(25,10))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (151...153))
+ │ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (151...152) = "b"
- │ │ │ │ │ ├── closing_loc: (152...153) = ":"
+ │ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
+ │ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (151...153))
+ │ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10))
│ │ │ │ │ └── value:
- │ │ │ │ │ @ LocalVariableReadNode (location: (151...153))
+ │ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
│ │ │ │ └── operator_loc: ∅
- │ │ │ ├── @ AssocNode (location: (155...157))
+ │ │ │ ├── @ AssocNode (location: (25,12)-(25,14))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (155...157))
+ │ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (155...156) = "c"
- │ │ │ │ │ ├── closing_loc: (156...157) = ":"
+ │ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
+ │ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
│ │ │ │ │ └── unescaped: "c"
│ │ │ │ ├── value:
- │ │ │ │ │ @ ImplicitNode (location: (155...157))
+ │ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14))
│ │ │ │ │ └── value:
- │ │ │ │ │ @ CallNode (location: (155...157))
+ │ │ │ │ │ @ CallNode (location: (25,12)-(25,14))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (155...156) = "c"
+ │ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -335,21 +335,21 @@
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (159...161))
+ │ │ │ └── @ AssocNode (location: (25,16)-(25,18))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (159...161))
+ │ │ │ │ @ SymbolNode (location: (25,16)-(25,18))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (159...160) = "D"
- │ │ │ │ ├── closing_loc: (160...161) = ":"
+ │ │ │ │ ├── value_loc: (25,16)-(25,17) = "D"
+ │ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":"
│ │ │ │ └── unescaped: "D"
│ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (159...161))
+ │ │ │ │ @ ImplicitNode (location: (25,16)-(25,18))
│ │ │ │ └── value:
- │ │ │ │ @ ConstantReadNode (location: (159...161))
+ │ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18))
│ │ │ │ └── name: :D
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (162...163) = "}"
- │ ├── opening_loc: (132...134) = "do"
- │ └── closing_loc: (164...167) = "end"
+ │ │ └── closing_loc: (25,19)-(25,20) = "}"
+ │ ├── opening_loc: (23,4)-(23,6) = "do"
+ │ └── closing_loc: (26,0)-(26,3) = "end"
├── flags: ∅
└── name: "tap"
diff --git a/test/yarp/snapshots/heredoc_with_escaped_newline_at_start.txt b/test/yarp/snapshots/heredoc_with_escaped_newline_at_start.txt
index 415bfb5588..c4ec0d86ce 100644
--- a/test/yarp/snapshots/heredoc_with_escaped_newline_at_start.txt
+++ b/test/yarp/snapshots/heredoc_with_escaped_newline_at_start.txt
@@ -1,63 +1,63 @@
-@ ProgramNode (location: (0...62))
+@ ProgramNode (location: (1,0)-(5,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...62))
+ @ StatementsNode (location: (1,0)-(5,25))
└── body: (length: 2)
- ├── @ CallNode (location: (0...25))
+ ├── @ CallNode (location: (1,0)-(1,25))
│ ├── receiver:
- │ │ @ StringNode (location: (0...9))
+ │ │ @ StringNode (location: (1,0)-(1,9))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (0...9) = "<<-TARGET"
- │ │ ├── content_loc: (27...27) = ""
- │ │ ├── closing_loc: (27...34) = "TARGET\n"
+ │ │ ├── opening_loc: (1,0)-(1,9) = "<<-TARGET"
+ │ │ ├── content_loc: (2,0)-(1,0) = ""
+ │ │ ├── closing_loc: (2,0)-(2,0) = "TARGET\n"
│ │ └── unescaped: ""
- │ ├── call_operator_loc: (9...10) = "."
- │ ├── message_loc: (10...14) = "gsub"
+ │ ├── call_operator_loc: (1,9)-(1,10) = "."
+ │ ├── message_loc: (1,10)-(1,14) = "gsub"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (15...25))
+ │ │ @ ArgumentsNode (location: (1,15)-(1,25))
│ │ └── arguments: (length: 2)
- │ │ ├── @ RegularExpressionNode (location: (15...21))
- │ │ │ ├── opening_loc: (15...16) = "/"
- │ │ │ ├── content_loc: (16...20) = "^\\s{"
- │ │ │ ├── closing_loc: (20...21) = "/"
+ │ │ ├── @ 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: "^ {"
│ │ │ └── flags: ∅
- │ │ └── @ StringNode (location: (23...25))
+ │ │ └── @ StringNode (location: (1,23)-(1,25))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (23...24) = "'"
- │ │ ├── content_loc: (24...24) = ""
- │ │ ├── closing_loc: (24...25) = "'"
+ │ │ ├── opening_loc: (1,23)-(1,24) = "'"
+ │ │ ├── content_loc: (1,24)-(1,24) = ""
+ │ │ ├── closing_loc: (1,24)-(1,25) = "'"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "gsub"
- └── @ CallNode (location: (37...62))
+ └── @ CallNode (location: (5,0)-(5,25))
├── receiver:
- │ @ StringNode (location: (37...46))
+ │ @ StringNode (location: (5,0)-(5,9))
│ ├── flags: ∅
- │ ├── opening_loc: (37...46) = "<<-TARGET"
- │ ├── content_loc: (65...65) = ""
- │ ├── closing_loc: (65...73) = "TARGET\r\n"
+ │ ├── opening_loc: (5,0)-(5,9) = "<<-TARGET"
+ │ ├── content_loc: (6,0)-(5,0) = ""
+ │ ├── closing_loc: (6,0)-(6,0) = "TARGET\r\n"
│ └── unescaped: ""
- ├── call_operator_loc: (46...47) = "."
- ├── message_loc: (47...51) = "gsub"
+ ├── call_operator_loc: (5,9)-(5,10) = "."
+ ├── message_loc: (5,10)-(5,14) = "gsub"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (52...62))
+ │ @ ArgumentsNode (location: (5,15)-(5,25))
│ └── arguments: (length: 2)
- │ ├── @ RegularExpressionNode (location: (52...58))
- │ │ ├── opening_loc: (52...53) = "/"
- │ │ ├── content_loc: (53...57) = "^\\s{"
- │ │ ├── closing_loc: (57...58) = "/"
+ │ ├── @ 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: "^ {"
│ │ └── flags: ∅
- │ └── @ StringNode (location: (60...62))
+ │ └── @ StringNode (location: (5,23)-(5,25))
│ ├── flags: ∅
- │ ├── opening_loc: (60...61) = "'"
- │ ├── content_loc: (61...61) = ""
- │ ├── closing_loc: (61...62) = "'"
+ │ ├── opening_loc: (5,23)-(5,24) = "'"
+ │ ├── content_loc: (5,24)-(5,24) = ""
+ │ ├── closing_loc: (5,24)-(5,25) = "'"
│ └── unescaped: ""
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/heredoc_with_trailing_newline.txt b/test/yarp/snapshots/heredoc_with_trailing_newline.txt
index 0f9e3019b8..01178042d6 100644
--- a/test/yarp/snapshots/heredoc_with_trailing_newline.txt
+++ b/test/yarp/snapshots/heredoc_with_trailing_newline.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ StringNode (location: (0...6))
+ └── @ StringNode (location: (1,0)-(1,6))
├── flags: ∅
- ├── opening_loc: (0...6) = "<<-END"
- ├── content_loc: (7...7) = ""
- ├── closing_loc: (7...10) = "END"
+ ├── opening_loc: (1,0)-(1,6) = "<<-END"
+ ├── content_loc: (2,0)-(1,0) = ""
+ ├── closing_loc: (2,0)-(2,3) = "END"
└── unescaped: ""
diff --git a/test/yarp/snapshots/heredocs_nested.txt b/test/yarp/snapshots/heredocs_nested.txt
index f313708b0c..8680dd2346 100644
--- a/test/yarp/snapshots/heredocs_nested.txt
+++ b/test/yarp/snapshots/heredocs_nested.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...7))
- ├── opening_loc: (0...7) = "<<~RUBY"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,7))
+ ├── opening_loc: (1,0)-(1,7) = "<<~RUBY"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (8...12))
+ │ ├── @ StringNode (location: (2,0)-(2,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (8...12) = "pre\n"
+ │ │ ├── content_loc: (2,0)-(2,0) = "pre\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "pre\n"
- │ ├── @ EmbeddedStatementsNode (location: (12...36))
- │ │ ├── opening_loc: (12...14) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (3,0)-(7,1))
+ │ │ ├── opening_loc: (3,0)-(3,2) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (15...21))
+ │ │ │ @ StatementsNode (location: (4,0)-(4,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (15...21))
+ │ │ │ └── @ StringNode (location: (4,0)-(4,6))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (15...21) = "<<RUBY"
- │ │ │ ├── content_loc: (22...30) = " hello\n"
- │ │ │ ├── closing_loc: (30...35) = "RUBY\n"
+ │ │ │ ├── opening_loc: (4,0)-(4,6) = "<<RUBY"
+ │ │ │ ├── content_loc: (5,0)-(5,0) = " hello\n"
+ │ │ │ ├── closing_loc: (6,0)-(6,0) = "RUBY\n"
│ │ │ └── unescaped: " hello\n"
- │ │ └── closing_loc: (35...36) = "}"
- │ └── @ StringNode (location: (36...42))
+ │ │ └── closing_loc: (7,0)-(7,1) = "}"
+ │ └── @ StringNode (location: (7,1)-(8,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (36...42) = "\npost\n"
+ │ ├── content_loc: (7,1)-(8,0) = "\npost\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\npost\n"
- └── closing_loc: (42...47) = "RUBY\n"
+ └── closing_loc: (9,0)-(9,0) = "RUBY\n"
diff --git a/test/yarp/snapshots/heredocs_with_ignored_newlines.txt b/test/yarp/snapshots/heredocs_with_ignored_newlines.txt
index 622cab802e..280a01f879 100644
--- a/test/yarp/snapshots/heredocs_with_ignored_newlines.txt
+++ b/test/yarp/snapshots/heredocs_with_ignored_newlines.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(4,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(4,8))
└── body: (length: 2)
- ├── @ StringNode (location: (0...7))
+ ├── @ StringNode (location: (1,0)-(1,7))
│ ├── flags: ∅
- │ ├── opening_loc: (0...7) = "<<-HERE"
- │ ├── content_loc: (9...9) = ""
- │ ├── closing_loc: (9...14) = "HERE\n"
+ │ ├── opening_loc: (1,0)-(1,7) = "<<-HERE"
+ │ ├── content_loc: (2,0)-(1,0) = ""
+ │ ├── closing_loc: (2,0)-(2,0) = "HERE\n"
│ └── unescaped: ""
- └── @ StringNode (location: (15...23))
+ └── @ StringNode (location: (4,0)-(4,8))
├── flags: ∅
- ├── opening_loc: (15...23) = "<<~THERE"
- ├── content_loc: (25...100) = " way over\n <<HERE\n not here\n HERE\n\n <<~BUT\\\n but\n BUT\n there\n"
- ├── closing_loc: (100...106) = "THERE\n"
+ ├── opening_loc: (4,0)-(4,8) = "<<~THERE"
+ ├── content_loc: (5,0)-(13,0) = " way over\n <<HERE\n not here\n HERE\n\n <<~BUT\\\n but\n BUT\n there\n"
+ ├── closing_loc: (14,0)-(14,0) = "THERE\n"
└── unescaped: "way over\n<<HERE\n not here\nHERE\n\n<<~BUT but\nBUT\n there\n"
diff --git a/test/yarp/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt b/test/yarp/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt
index c98eb7d3b2..f4b4ec2044 100644
--- a/test/yarp/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt
+++ b/test/yarp/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ StringNode (location: (0...6))
+ └── @ StringNode (location: (1,0)-(1,6))
├── flags: ∅
- ├── opening_loc: (0...6) = "<<-EOE"
- ├── content_loc: (7...23) = " some\n heredocs\n"
- ├── closing_loc: (23...26) = "EOE"
+ ├── opening_loc: (1,0)-(1,6) = "<<-EOE"
+ ├── content_loc: (2,0)-(3,0) = " some\n heredocs\n"
+ ├── closing_loc: (4,0)-(4,3) = "EOE"
└── unescaped: " some\n heredocs\n"
diff --git a/test/yarp/snapshots/if.txt b/test/yarp/snapshots/if.txt
index 7feb336de8..541549459f 100644
--- a/test/yarp/snapshots/if.txt
+++ b/test/yarp/snapshots/if.txt
@@ -1,129 +1,129 @@
-@ ProgramNode (location: (0...382))
+@ ProgramNode (location: (1,0)-(42,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...382))
+ @ StatementsNode (location: (1,0)-(42,3))
└── body: (length: 13)
- ├── @ IfNode (location: (0...15))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(1,15))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (3...7))
+ │ │ @ TrueNode (location: (1,3)-(1,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (9...10))
+ │ │ @ StatementsNode (location: (1,9)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (9...10))
+ │ │ └── @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
│ ├── consequent: ∅
- │ └── end_keyword_loc: (12...15) = "end"
- ├── @ IfNode (location: (17...37))
- │ ├── if_keyword_loc: (17...19) = "if"
+ │ └── end_keyword_loc: (1,12)-(1,15) = "end"
+ ├── @ IfNode (location: (3,0)-(4,12))
+ │ ├── if_keyword_loc: (3,0)-(3,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (20...24))
+ │ │ @ TrueNode (location: (3,3)-(3,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (25...26))
+ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (25...26))
+ │ │ └── @ IntegerNode (location: (4,0)-(4,1))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (27...37))
- │ │ ├── else_keyword_loc: (27...31) = "else"
+ │ │ @ ElseNode (location: (4,2)-(4,12))
+ │ │ ├── else_keyword_loc: (4,2)-(4,6) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (32...33))
+ │ │ │ @ StatementsNode (location: (4,7)-(4,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (32...33))
+ │ │ │ └── @ IntegerNode (location: (4,7)-(4,8))
│ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (34...37) = "end"
- │ └── end_keyword_loc: (34...37) = "end"
- ├── @ IfNode (location: (39...112))
- │ ├── if_keyword_loc: (39...41) = "if"
+ │ │ └── end_keyword_loc: (4,9)-(4,12) = "end"
+ │ └── end_keyword_loc: (4,9)-(4,12) = "end"
+ ├── @ IfNode (location: (6,0)-(6,73))
+ │ ├── if_keyword_loc: (6,0)-(6,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (42...46))
+ │ │ @ TrueNode (location: (6,3)-(6,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (52...56))
+ │ │ @ StatementsNode (location: (6,13)-(6,17))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (52...56))
+ │ │ └── @ TrueNode (location: (6,13)-(6,17))
│ ├── consequent:
- │ │ @ IfNode (location: (57...112))
- │ │ ├── if_keyword_loc: (57...62) = "elsif"
+ │ │ @ IfNode (location: (6,18)-(6,73))
+ │ │ ├── if_keyword_loc: (6,18)-(6,23) = "elsif"
│ │ ├── predicate:
- │ │ │ @ FalseNode (location: (63...68))
+ │ │ │ @ FalseNode (location: (6,24)-(6,29))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (74...79))
+ │ │ │ @ StatementsNode (location: (6,35)-(6,40))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FalseNode (location: (74...79))
+ │ │ │ └── @ FalseNode (location: (6,35)-(6,40))
│ │ ├── consequent:
- │ │ │ @ IfNode (location: (80...112))
- │ │ │ ├── if_keyword_loc: (80...85) = "elsif"
+ │ │ │ @ IfNode (location: (6,41)-(6,73))
+ │ │ │ ├── if_keyword_loc: (6,41)-(6,46) = "elsif"
│ │ │ ├── predicate:
- │ │ │ │ @ NilNode (location: (86...89))
+ │ │ │ │ @ NilNode (location: (6,47)-(6,50))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (95...98))
+ │ │ │ │ @ StatementsNode (location: (6,56)-(6,59))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ NilNode (location: (95...98))
+ │ │ │ │ └── @ NilNode (location: (6,56)-(6,59))
│ │ │ ├── consequent:
- │ │ │ │ @ ElseNode (location: (99...112))
- │ │ │ │ ├── else_keyword_loc: (99...103) = "else"
+ │ │ │ │ @ ElseNode (location: (6,60)-(6,73))
+ │ │ │ │ ├── else_keyword_loc: (6,60)-(6,64) = "else"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (104...108))
+ │ │ │ │ │ @ StatementsNode (location: (6,65)-(6,69))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ SelfNode (location: (104...108))
- │ │ │ │ └── end_keyword_loc: (109...112) = "end"
- │ │ │ └── end_keyword_loc: (109...112) = "end"
- │ │ └── end_keyword_loc: (109...112) = "end"
- │ └── end_keyword_loc: (109...112) = "end"
- ├── @ IfNode (location: (114...123))
- │ ├── if_keyword_loc: (116...118) = "if"
+ │ │ │ │ │ └── @ SelfNode (location: (6,65)-(6,69))
+ │ │ │ │ └── end_keyword_loc: (6,70)-(6,73) = "end"
+ │ │ │ └── end_keyword_loc: (6,70)-(6,73) = "end"
+ │ │ └── end_keyword_loc: (6,70)-(6,73) = "end"
+ │ └── end_keyword_loc: (6,70)-(6,73) = "end"
+ ├── @ IfNode (location: (8,0)-(8,9))
+ │ ├── if_keyword_loc: (8,2)-(8,4) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (119...123))
+ │ │ @ TrueNode (location: (8,5)-(8,9))
│ ├── statements:
- │ │ @ StatementsNode (location: (114...115))
+ │ │ @ StatementsNode (location: (8,0)-(8,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (114...115))
+ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ └── flags: decimal
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (125...138))
- │ ├── if_keyword_loc: (131...133) = "if"
+ ├── @ IfNode (location: (10,0)-(10,13))
+ │ ├── if_keyword_loc: (10,6)-(10,8) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (134...138))
+ │ │ @ TrueNode (location: (10,9)-(10,13))
│ ├── statements:
- │ │ @ StatementsNode (location: (125...130))
+ │ │ @ StatementsNode (location: (10,0)-(10,5))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (125...130))
+ │ │ └── @ BreakNode (location: (10,0)-(10,5))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (125...130) = "break"
+ │ │ └── keyword_loc: (10,0)-(10,5) = "break"
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (140...152))
- │ ├── if_keyword_loc: (145...147) = "if"
+ ├── @ IfNode (location: (12,0)-(12,12))
+ │ ├── if_keyword_loc: (12,5)-(12,7) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (148...152))
+ │ │ @ TrueNode (location: (12,8)-(12,12))
│ ├── statements:
- │ │ @ StatementsNode (location: (140...144))
+ │ │ @ StatementsNode (location: (12,0)-(12,4))
│ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (140...144))
+ │ │ └── @ NextNode (location: (12,0)-(12,4))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (140...144) = "next"
+ │ │ └── keyword_loc: (12,0)-(12,4) = "next"
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (154...168))
- │ ├── if_keyword_loc: (161...163) = "if"
+ ├── @ IfNode (location: (14,0)-(14,14))
+ │ ├── if_keyword_loc: (14,7)-(14,9) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (164...168))
+ │ │ @ TrueNode (location: (14,10)-(14,14))
│ ├── statements:
- │ │ @ StatementsNode (location: (154...160))
+ │ │ @ StatementsNode (location: (14,0)-(14,6))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (154...160))
- │ │ ├── keyword_loc: (154...160) = "return"
+ │ │ └── @ ReturnNode (location: (14,0)-(14,6))
+ │ │ ├── keyword_loc: (14,0)-(14,6) = "return"
│ │ └── arguments: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (170...200))
- │ ├── if_keyword_loc: (170...172) = "if"
+ ├── @ IfNode (location: (16,0)-(16,30))
+ │ ├── if_keyword_loc: (16,0)-(16,2) = "if"
│ ├── predicate:
- │ │ @ CallNode (location: (173...182))
+ │ │ @ CallNode (location: (16,3)-(16,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (173...182) = "exit_loop"
+ │ │ ├── message_loc: (16,3)-(16,12) = "exit_loop"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -131,24 +131,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "exit_loop"
│ ├── statements:
- │ │ @ StatementsNode (location: (188...196))
+ │ │ @ StatementsNode (location: (16,18)-(16,26))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (188...196))
+ │ │ └── @ BreakNode (location: (16,18)-(16,26))
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (194...196))
+ │ │ │ @ ArgumentsNode (location: (16,24)-(16,26))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (194...196))
+ │ │ │ └── @ IntegerNode (location: (16,24)-(16,26))
│ │ │ └── flags: decimal
- │ │ └── keyword_loc: (188...193) = "break"
+ │ │ └── keyword_loc: (16,18)-(16,23) = "break"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (197...200) = "end"
- ├── @ IfNode (location: (202...221))
- │ ├── if_keyword_loc: (202...204) = "if"
+ │ └── end_keyword_loc: (16,27)-(16,30) = "end"
+ ├── @ IfNode (location: (18,0)-(20,3))
+ │ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
- │ │ @ CallNode (location: (205...208))
+ │ │ @ CallNode (location: (18,3)-(18,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (205...208) = "foo"
+ │ │ ├── message_loc: (18,3)-(18,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -156,12 +156,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (214...217))
+ │ │ @ StatementsNode (location: (19,5)-(19,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (214...217))
+ │ │ └── @ CallNode (location: (19,5)-(19,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (214...217) = "bar"
+ │ │ ├── message_loc: (19,5)-(19,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -169,14 +169,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (218...221) = "end"
- ├── @ IfNode (location: (223...234))
- │ ├── if_keyword_loc: (230...232) = "if"
+ │ └── 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: (233...234))
+ │ │ @ CallNode (location: (22,10)-(22,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (233...234) = "c"
+ │ │ ├── message_loc: (22,10)-(22,11) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -184,15 +184,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "c"
│ ├── statements:
- │ │ @ StatementsNode (location: (223...229))
+ │ │ @ StatementsNode (location: (22,0)-(22,6))
│ │ └── body: (length: 1)
- │ │ └── @ IfNode (location: (223...229))
- │ │ ├── if_keyword_loc: (225...227) = "if"
+ │ │ └── @ IfNode (location: (22,0)-(22,6))
+ │ │ ├── if_keyword_loc: (22,2)-(22,4) = "if"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (228...229))
+ │ │ │ @ CallNode (location: (22,5)-(22,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (228...229) = "b"
+ │ │ │ ├── message_loc: (22,5)-(22,6) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -200,12 +200,12 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (223...224))
+ │ │ │ @ StatementsNode (location: (22,0)-(22,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (223...224))
+ │ │ │ └── @ CallNode (location: (22,0)-(22,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (223...224) = "a"
+ │ │ │ ├── message_loc: (22,0)-(22,1) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -216,37 +216,37 @@
│ │ └── end_keyword_loc: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (236...259))
- │ ├── if_keyword_loc: (236...238) = "if"
+ ├── @ IfNode (location: (24,0)-(27,3))
+ │ ├── if_keyword_loc: (24,0)-(24,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (239...243))
+ │ │ @ TrueNode (location: (24,3)-(24,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (246...250))
+ │ │ @ StatementsNode (location: (25,2)-(25,6))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (246...250))
+ │ │ └── @ CallNode (location: (25,2)-(25,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (246...247) = "a"
+ │ │ ├── message_loc: (25,2)-(25,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (248...250))
+ │ │ │ @ ArgumentsNode (location: (25,4)-(25,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (248...250))
+ │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (248...250))
+ │ │ │ └── @ AssocNode (location: (25,4)-(25,6))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (248...250))
+ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (248...249) = "b"
- │ │ │ │ ├── closing_loc: (249...250) = ":"
+ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
+ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (248...250))
+ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (248...250))
+ │ │ │ │ @ CallNode (location: (25,4)-(25,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (248...249) = "b"
+ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -259,20 +259,20 @@
│ │ ├── flags: ∅
│ │ └── name: "a"
│ ├── consequent:
- │ │ @ ElseNode (location: (251...259))
- │ │ ├── else_keyword_loc: (251...255) = "else"
+ │ │ @ ElseNode (location: (26,0)-(27,3))
+ │ │ ├── else_keyword_loc: (26,0)-(26,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (256...259) = "end"
- │ └── end_keyword_loc: (256...259) = "end"
- ├── @ IfNode (location: (261...293))
- │ ├── if_keyword_loc: (261...263) = "if"
+ │ │ └── end_keyword_loc: (27,0)-(27,3) = "end"
+ │ └── end_keyword_loc: (27,0)-(27,3) = "end"
+ ├── @ IfNode (location: (29,0)-(31,3))
+ │ ├── if_keyword_loc: (29,0)-(29,2) = "if"
│ ├── predicate:
- │ │ @ MatchPredicateNode (location: (264...273))
+ │ │ @ MatchPredicateNode (location: (29,3)-(29,12))
│ │ ├── value:
- │ │ │ @ CallNode (location: (264...268))
+ │ │ │ @ CallNode (location: (29,3)-(29,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (264...268) = "type"
+ │ │ │ ├── message_loc: (29,3)-(29,7) = "type"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -280,20 +280,20 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "type"
│ │ ├── pattern:
- │ │ │ @ IntegerNode (location: (272...273))
+ │ │ │ @ IntegerNode (location: (29,11)-(29,12))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (269...271) = "in"
+ │ │ └── operator_loc: (29,8)-(29,10) = "in"
│ ├── statements: ∅
│ ├── consequent:
- │ │ @ IfNode (location: (274...293))
- │ │ ├── if_keyword_loc: (274...279) = "elsif"
+ │ │ @ IfNode (location: (30,0)-(31,3))
+ │ │ ├── if_keyword_loc: (30,0)-(30,5) = "elsif"
│ │ ├── predicate:
- │ │ │ @ MatchPredicateNode (location: (280...289))
+ │ │ │ @ MatchPredicateNode (location: (30,6)-(30,15))
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (280...284))
+ │ │ │ │ @ CallNode (location: (30,6)-(30,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (280...284) = "type"
+ │ │ │ │ ├── message_loc: (30,6)-(30,10) = "type"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -301,37 +301,37 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "type"
│ │ │ ├── pattern:
- │ │ │ │ @ ConstantReadNode (location: (288...289))
+ │ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15))
│ │ │ │ └── name: :B
- │ │ │ └── operator_loc: (285...287) = "in"
+ │ │ │ └── operator_loc: (30,11)-(30,13) = "in"
│ │ ├── statements: ∅
│ │ ├── consequent: ∅
- │ │ └── end_keyword_loc: (290...293) = "end"
- │ └── end_keyword_loc: (290...293) = "end"
- └── @ IfNode (location: (295...382))
- ├── if_keyword_loc: (295...297) = "if"
+ │ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ └── @ IfNode (location: (33,0)-(42,3))
+ ├── if_keyword_loc: (33,0)-(33,2) = "if"
├── predicate:
- │ @ IntegerNode (location: (298...299))
+ │ @ IntegerNode (location: (33,3)-(33,4))
│ └── flags: decimal
├── statements:
- │ @ StatementsNode (location: (302...321))
+ │ @ StatementsNode (location: (34,2)-(35,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (302...321))
+ │ └── @ CallNode (location: (34,2)-(35,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (302...308) = "lambda"
+ │ ├── message_loc: (34,2)-(34,8) = "lambda"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (309...321))
+ │ │ @ BlockNode (location: (34,9)-(35,5))
│ │ ├── locals: [:_]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (312...315))
+ │ │ │ @ BlockParametersNode (location: (34,12)-(34,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (313...314))
+ │ │ │ │ @ ParametersNode (location: (34,13)-(34,14))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (313...314))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14))
│ │ │ │ │ └── name: :_
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -340,38 +340,38 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (312...313) = "|"
- │ │ │ └── closing_loc: (314...315) = "|"
+ │ │ │ ├── opening_loc: (34,12)-(34,13) = "|"
+ │ │ │ └── closing_loc: (34,14)-(34,15) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (309...311) = "do"
- │ │ └── closing_loc: (318...321) = "end"
+ │ │ ├── opening_loc: (34,9)-(34,11) = "do"
+ │ │ └── closing_loc: (35,2)-(35,5) = "end"
│ ├── flags: ∅
│ └── name: "lambda"
├── consequent:
- │ @ IfNode (location: (322...382))
- │ ├── if_keyword_loc: (322...327) = "elsif"
+ │ @ IfNode (location: (36,0)-(42,3))
+ │ ├── if_keyword_loc: (36,0)-(36,5) = "elsif"
│ ├── predicate:
- │ │ @ IntegerNode (location: (328...329))
+ │ │ @ IntegerNode (location: (36,6)-(36,7))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (332...351))
+ │ │ @ StatementsNode (location: (37,2)-(38,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (332...351))
+ │ │ └── @ CallNode (location: (37,2)-(38,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (332...338) = "lambda"
+ │ │ ├── message_loc: (37,2)-(37,8) = "lambda"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (339...351))
+ │ │ │ @ BlockNode (location: (37,9)-(38,5))
│ │ │ ├── locals: [:_]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (342...345))
+ │ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (343...344))
+ │ │ │ │ │ @ ParametersNode (location: (37,13)-(37,14))
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (343...344))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14))
│ │ │ │ │ │ └── name: :_
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
@@ -380,35 +380,35 @@
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (342...343) = "|"
- │ │ │ │ └── closing_loc: (344...345) = "|"
+ │ │ │ │ ├── opening_loc: (37,12)-(37,13) = "|"
+ │ │ │ │ └── closing_loc: (37,14)-(37,15) = "|"
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (339...341) = "do"
- │ │ │ └── closing_loc: (348...351) = "end"
+ │ │ │ ├── opening_loc: (37,9)-(37,11) = "do"
+ │ │ │ └── closing_loc: (38,2)-(38,5) = "end"
│ │ ├── flags: ∅
│ │ └── name: "lambda"
│ ├── consequent:
- │ │ @ ElseNode (location: (352...382))
- │ │ ├── else_keyword_loc: (352...356) = "else"
+ │ │ @ ElseNode (location: (39,0)-(42,3))
+ │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (359...378))
+ │ │ │ @ StatementsNode (location: (40,2)-(41,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (359...378))
+ │ │ │ └── @ CallNode (location: (40,2)-(41,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (359...365) = "lambda"
+ │ │ │ ├── message_loc: (40,2)-(40,8) = "lambda"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (366...378))
+ │ │ │ │ @ BlockNode (location: (40,9)-(41,5))
│ │ │ │ ├── locals: [:_]
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (369...372))
+ │ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
│ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (370...371))
+ │ │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14))
│ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (370...371))
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14))
│ │ │ │ │ │ │ └── name: :_
│ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ ├── rest: ∅
@@ -417,13 +417,13 @@
│ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (369...370) = "|"
- │ │ │ │ │ └── closing_loc: (371...372) = "|"
+ │ │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|"
+ │ │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|"
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (366...368) = "do"
- │ │ │ │ └── closing_loc: (375...378) = "end"
+ │ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do"
+ │ │ │ │ └── closing_loc: (41,2)-(41,5) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "lambda"
- │ │ └── end_keyword_loc: (379...382) = "end"
- │ └── end_keyword_loc: (379...382) = "end"
- └── end_keyword_loc: (379...382) = "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/yarp/snapshots/indented_file_end.txt b/test/yarp/snapshots/indented_file_end.txt
index ab9a2832c4..aa43ec5a1e 100644
--- a/test/yarp/snapshots/indented_file_end.txt
+++ b/test/yarp/snapshots/indented_file_end.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (4...23))
+@ ProgramNode (location: (1,4)-(3,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (4...23))
+ @ StatementsNode (location: (1,4)-(3,7))
└── body: (length: 1)
- └── @ DefNode (location: (4...23))
+ └── @ DefNode (location: (1,4)-(3,7))
├── name: :hi
- ├── name_loc: (8...10) = "hi"
+ ├── name_loc: (1,8)-(1,10) = "hi"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (4...7) = "def"
+ ├── def_keyword_loc: (1,4)-(1,7) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (3,4)-(3,7) = "end"
diff --git a/test/yarp/snapshots/integer_operations.txt b/test/yarp/snapshots/integer_operations.txt
index f560d5a265..74f02b9600 100644
--- a/test/yarp/snapshots/integer_operations.txt
+++ b/test/yarp/snapshots/integer_operations.txt
@@ -1,435 +1,435 @@
-@ ProgramNode (location: (0...247))
+@ ProgramNode (location: (1,0)-(63,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...247))
+ @ StatementsNode (location: (1,0)-(63,7))
└── body: (length: 32)
- ├── @ CallNode (location: (0...2))
+ ├── @ CallNode (location: (1,0)-(1,2))
│ ├── receiver:
- │ │ @ IntegerNode (location: (1...2))
+ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "!"
+ │ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (4...6))
+ ├── @ CallNode (location: (3,0)-(3,2))
│ ├── receiver:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "~"
+ │ ├── message_loc: (3,0)-(3,1) = "~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "~"
- ├── @ CallNode (location: (8...14))
+ ├── @ CallNode (location: (5,0)-(5,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (8...9))
+ │ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...12) = "!="
+ │ ├── message_loc: (5,2)-(5,4) = "!="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...14))
+ │ │ @ ArgumentsNode (location: (5,5)-(5,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (13...14))
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!="
- ├── @ CallNode (location: (16...22))
+ ├── @ CallNode (location: (7,0)-(7,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (16...17))
+ │ │ @ IntegerNode (location: (7,0)-(7,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (18...20) = "!~"
+ │ ├── message_loc: (7,2)-(7,4) = "!~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (21...22))
+ │ │ @ ArgumentsNode (location: (7,5)-(7,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (21...22))
+ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!~"
- ├── @ CallNode (location: (24...29))
+ ├── @ CallNode (location: (9,0)-(9,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (24...25))
+ │ │ @ IntegerNode (location: (9,0)-(9,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...27) = "%"
+ │ ├── message_loc: (9,2)-(9,3) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (28...29))
+ │ │ @ ArgumentsNode (location: (9,4)-(9,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (28...29))
+ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (31...36))
+ ├── @ CallNode (location: (11,0)-(11,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (31...32))
+ │ │ @ IntegerNode (location: (11,0)-(11,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...34) = "&"
+ │ ├── message_loc: (11,2)-(11,3) = "&"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (35...36))
+ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (35...36))
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
- ├── @ CallNode (location: (38...43))
+ ├── @ CallNode (location: (13,0)-(13,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (38...39))
+ │ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (40...41) = "*"
+ │ ├── message_loc: (13,2)-(13,3) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (42...43))
+ │ │ @ ArgumentsNode (location: (13,4)-(13,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (42...43))
+ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- ├── @ CallNode (location: (45...49))
+ ├── @ CallNode (location: (15,0)-(15,4))
│ ├── receiver:
- │ │ @ IntegerNode (location: (45...46))
+ │ │ @ IntegerNode (location: (15,0)-(15,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (46...48) = "**"
+ │ ├── message_loc: (15,1)-(15,3) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (48...49))
+ │ │ @ ArgumentsNode (location: (15,3)-(15,4))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (48...49))
+ │ │ └── @ IntegerNode (location: (15,3)-(15,4))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
- ├── @ CallNode (location: (51...56))
+ ├── @ CallNode (location: (17,0)-(17,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (51...52))
+ │ │ @ IntegerNode (location: (17,0)-(17,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (53...54) = "+"
+ │ ├── message_loc: (17,2)-(17,3) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (55...56))
+ │ │ @ ArgumentsNode (location: (17,4)-(17,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (55...56))
+ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (58...63))
+ ├── @ CallNode (location: (19,0)-(19,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (58...59))
+ │ │ @ IntegerNode (location: (19,0)-(19,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...61) = "-"
+ │ ├── message_loc: (19,2)-(19,3) = "-"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (62...63))
+ │ │ @ ArgumentsNode (location: (19,4)-(19,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (62...63))
+ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-"
- ├── @ CallNode (location: (65...70))
+ ├── @ CallNode (location: (21,0)-(21,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (65...66))
+ │ │ @ IntegerNode (location: (21,0)-(21,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (67...68) = "/"
+ │ ├── message_loc: (21,2)-(21,3) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (69...70))
+ │ │ @ ArgumentsNode (location: (21,4)-(21,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (69...70))
+ │ │ └── @ IntegerNode (location: (21,4)-(21,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (72...77))
+ ├── @ CallNode (location: (23,0)-(23,5))
│ ├── receiver:
- │ │ @ CallNode (location: (72...75))
+ │ │ @ CallNode (location: (23,0)-(23,3))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (72...73))
+ │ │ │ @ IntegerNode (location: (23,0)-(23,1))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (73...74) = "/"
+ │ │ ├── message_loc: (23,1)-(23,2) = "/"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (74...75))
+ │ │ │ @ ArgumentsNode (location: (23,2)-(23,3))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (74...75))
+ │ │ │ └── @ IntegerNode (location: (23,2)-(23,3))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "/"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (75...76) = "/"
+ │ ├── message_loc: (23,3)-(23,4) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (76...77))
+ │ │ @ ArgumentsNode (location: (23,4)-(23,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (76...77))
+ │ │ └── @ IntegerNode (location: (23,4)-(23,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (79...84))
+ ├── @ CallNode (location: (25,0)-(25,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (79...80))
+ │ │ @ IntegerNode (location: (25,0)-(25,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (81...82) = "<"
+ │ ├── message_loc: (25,2)-(25,3) = "<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (83...84))
+ │ │ @ ArgumentsNode (location: (25,4)-(25,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (83...84))
+ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<"
- ├── @ CallNode (location: (86...92))
+ ├── @ CallNode (location: (27,0)-(27,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (86...87))
+ │ │ @ IntegerNode (location: (27,0)-(27,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (88...90) = "<<"
+ │ ├── message_loc: (27,2)-(27,4) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (91...92))
+ │ │ @ ArgumentsNode (location: (27,5)-(27,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (91...92))
+ │ │ └── @ IntegerNode (location: (27,5)-(27,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ CallNode (location: (94...100))
+ ├── @ CallNode (location: (29,0)-(29,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (94...95))
+ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (96...98) = "<="
+ │ ├── message_loc: (29,2)-(29,4) = "<="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (99...100))
+ │ │ @ ArgumentsNode (location: (29,5)-(29,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (99...100))
+ │ │ └── @ IntegerNode (location: (29,5)-(29,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<="
- ├── @ CallNode (location: (102...109))
+ ├── @ CallNode (location: (31,0)-(31,7))
│ ├── receiver:
- │ │ @ IntegerNode (location: (102...103))
+ │ │ @ IntegerNode (location: (31,0)-(31,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (104...107) = "<=>"
+ │ ├── message_loc: (31,2)-(31,5) = "<=>"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (108...109))
+ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (108...109))
+ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<=>"
- ├── @ CallNode (location: (111...117))
+ ├── @ CallNode (location: (33,0)-(33,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (111...112))
+ │ │ @ IntegerNode (location: (33,0)-(33,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (113...115) = "=="
+ │ ├── message_loc: (33,2)-(33,4) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (116...117))
+ │ │ @ ArgumentsNode (location: (33,5)-(33,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (116...117))
+ │ │ └── @ IntegerNode (location: (33,5)-(33,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=="
- ├── @ CallNode (location: (119...126))
+ ├── @ CallNode (location: (35,0)-(35,7))
│ ├── receiver:
- │ │ @ IntegerNode (location: (119...120))
+ │ │ @ IntegerNode (location: (35,0)-(35,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (121...124) = "==="
+ │ ├── message_loc: (35,2)-(35,5) = "==="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (125...126))
+ │ │ @ ArgumentsNode (location: (35,6)-(35,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (125...126))
+ │ │ └── @ IntegerNode (location: (35,6)-(35,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "==="
- ├── @ CallNode (location: (128...134))
+ ├── @ CallNode (location: (37,0)-(37,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (128...129))
+ │ │ @ IntegerNode (location: (37,0)-(37,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (130...132) = "=~"
+ │ ├── message_loc: (37,2)-(37,4) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (133...134))
+ │ │ @ ArgumentsNode (location: (37,5)-(37,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (133...134))
+ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=~"
- ├── @ CallNode (location: (136...141))
+ ├── @ CallNode (location: (39,0)-(39,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (136...137))
+ │ │ @ IntegerNode (location: (39,0)-(39,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (138...139) = ">"
+ │ ├── message_loc: (39,2)-(39,3) = ">"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (140...141))
+ │ │ @ ArgumentsNode (location: (39,4)-(39,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (140...141))
+ │ │ └── @ IntegerNode (location: (39,4)-(39,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">"
- ├── @ CallNode (location: (143...149))
+ ├── @ CallNode (location: (41,0)-(41,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (143...144))
+ │ │ @ IntegerNode (location: (41,0)-(41,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (145...147) = ">="
+ │ ├── message_loc: (41,2)-(41,4) = ">="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (148...149))
+ │ │ @ ArgumentsNode (location: (41,5)-(41,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (148...149))
+ │ │ └── @ IntegerNode (location: (41,5)-(41,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">="
- ├── @ CallNode (location: (151...157))
+ ├── @ CallNode (location: (43,0)-(43,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (151...152))
+ │ │ @ IntegerNode (location: (43,0)-(43,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (153...155) = ">>"
+ │ ├── message_loc: (43,2)-(43,4) = ">>"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (156...157))
+ │ │ @ ArgumentsNode (location: (43,5)-(43,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (156...157))
+ │ │ └── @ IntegerNode (location: (43,5)-(43,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">>"
- ├── @ CallNode (location: (159...164))
+ ├── @ CallNode (location: (45,0)-(45,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (159...160))
+ │ │ @ IntegerNode (location: (45,0)-(45,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (161...162) = "^"
+ │ ├── message_loc: (45,2)-(45,3) = "^"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (163...164))
+ │ │ @ ArgumentsNode (location: (45,4)-(45,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (163...164))
+ │ │ └── @ IntegerNode (location: (45,4)-(45,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "^"
- ├── @ CallNode (location: (166...171))
+ ├── @ CallNode (location: (47,0)-(47,5))
│ ├── receiver:
- │ │ @ IntegerNode (location: (166...167))
+ │ │ @ IntegerNode (location: (47,0)-(47,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (168...169) = "|"
+ │ ├── message_loc: (47,2)-(47,3) = "|"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (170...171))
+ │ │ @ ArgumentsNode (location: (47,4)-(47,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (170...171))
+ │ │ └── @ IntegerNode (location: (47,4)-(47,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "|"
- ├── @ AndNode (location: (173...179))
+ ├── @ AndNode (location: (49,0)-(49,6))
│ ├── left:
- │ │ @ IntegerNode (location: (173...174))
+ │ │ @ IntegerNode (location: (49,0)-(49,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (178...179))
+ │ │ @ IntegerNode (location: (49,5)-(49,6))
│ │ └── flags: decimal
- │ └── operator_loc: (175...177) = "&&"
- ├── @ AndNode (location: (181...188))
+ │ └── operator_loc: (49,2)-(49,4) = "&&"
+ ├── @ AndNode (location: (51,0)-(51,7))
│ ├── left:
- │ │ @ IntegerNode (location: (181...182))
+ │ │ @ IntegerNode (location: (51,0)-(51,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (187...188))
+ │ │ @ IntegerNode (location: (51,6)-(51,7))
│ │ └── flags: decimal
- │ └── operator_loc: (183...186) = "and"
- ├── @ CallNode (location: (190...200))
+ │ └── operator_loc: (51,2)-(51,5) = "and"
+ ├── @ CallNode (location: (53,0)-(53,10))
│ ├── receiver:
- │ │ @ IntegerNode (location: (190...191))
+ │ │ @ IntegerNode (location: (53,0)-(53,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (192...193) = "*"
+ │ ├── message_loc: (53,2)-(53,3) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (194...200))
+ │ │ @ ArgumentsNode (location: (53,4)-(53,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (194...200))
+ │ │ └── @ CallNode (location: (53,4)-(53,10))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (194...195))
+ │ │ │ @ IntegerNode (location: (53,4)-(53,5))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (196...198) = "**"
+ │ │ ├── message_loc: (53,6)-(53,8) = "**"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (199...200))
+ │ │ │ @ ArgumentsNode (location: (53,9)-(53,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (199...200))
+ │ │ │ └── @ IntegerNode (location: (53,9)-(53,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
@@ -439,73 +439,73 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- ├── @ CallNode (location: (202...211))
+ ├── @ CallNode (location: (55,0)-(55,9))
│ ├── receiver:
- │ │ @ CallNode (location: (202...207))
+ │ │ @ CallNode (location: (55,0)-(55,5))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (202...203))
+ │ │ │ @ IntegerNode (location: (55,0)-(55,1))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (204...205) = "*"
+ │ │ ├── message_loc: (55,2)-(55,3) = "*"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (206...207))
+ │ │ │ @ ArgumentsNode (location: (55,4)-(55,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (206...207))
+ │ │ │ └── @ IntegerNode (location: (55,4)-(55,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "*"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (208...209) = "+"
+ │ ├── message_loc: (55,6)-(55,7) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (210...211))
+ │ │ @ ArgumentsNode (location: (55,8)-(55,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (210...211))
+ │ │ └── @ IntegerNode (location: (55,8)-(55,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ OrNode (location: (213...219))
+ ├── @ OrNode (location: (57,0)-(57,6))
│ ├── left:
- │ │ @ IntegerNode (location: (213...214))
+ │ │ @ IntegerNode (location: (57,0)-(57,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (218...219))
+ │ │ @ IntegerNode (location: (57,5)-(57,6))
│ │ └── flags: decimal
- │ └── operator_loc: (215...217) = "or"
- ├── @ OrNode (location: (221...227))
+ │ └── operator_loc: (57,2)-(57,4) = "or"
+ ├── @ OrNode (location: (59,0)-(59,6))
│ ├── left:
- │ │ @ IntegerNode (location: (221...222))
+ │ │ @ IntegerNode (location: (59,0)-(59,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (226...227))
+ │ │ @ IntegerNode (location: (59,5)-(59,6))
│ │ └── flags: decimal
- │ └── operator_loc: (223...225) = "||"
- ├── @ CallNode (location: (229...238))
+ │ └── operator_loc: (59,2)-(59,4) = "||"
+ ├── @ CallNode (location: (61,0)-(61,9))
│ ├── receiver:
- │ │ @ IntegerNode (location: (229...230))
+ │ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (231...232) = "+"
+ │ ├── message_loc: (61,2)-(61,3) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (233...238))
+ │ │ @ ArgumentsNode (location: (61,4)-(61,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (233...238))
+ │ │ └── @ CallNode (location: (61,4)-(61,9))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (233...234))
+ │ │ │ @ IntegerNode (location: (61,4)-(61,5))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (235...236) = "*"
+ │ │ ├── message_loc: (61,6)-(61,7) = "*"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (237...238))
+ │ │ │ @ ArgumentsNode (location: (61,8)-(61,9))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (237...238))
+ │ │ │ └── @ IntegerNode (location: (61,8)-(61,9))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
@@ -515,25 +515,25 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- └── @ ParenthesesNode (location: (240...247))
+ └── @ ParenthesesNode (location: (63,0)-(63,7))
├── body:
- │ @ StatementsNode (location: (241...246))
+ │ @ StatementsNode (location: (63,1)-(63,6))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (241...246))
+ │ └── @ CallNode (location: (63,1)-(63,6))
│ ├── receiver:
- │ │ @ IntegerNode (location: (241...242))
+ │ │ @ IntegerNode (location: (63,1)-(63,2))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (243...244) = "+"
+ │ ├── message_loc: (63,3)-(63,4) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (245...246))
+ │ │ @ ArgumentsNode (location: (63,5)-(63,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (245...246))
+ │ │ └── @ IntegerNode (location: (63,5)-(63,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── opening_loc: (240...241) = "("
- └── closing_loc: (246...247) = ")"
+ ├── opening_loc: (63,0)-(63,1) = "("
+ └── closing_loc: (63,6)-(63,7) = ")"
diff --git a/test/yarp/snapshots/keyword_method_names.txt b/test/yarp/snapshots/keyword_method_names.txt
index 25f54c105b..9ecd52585a 100644
--- a/test/yarp/snapshots/keyword_method_names.txt
+++ b/test/yarp/snapshots/keyword_method_names.txt
@@ -1,170 +1,170 @@
-@ ProgramNode (location: (0...185))
+@ ProgramNode (location: (1,0)-(29,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...185))
+ @ StatementsNode (location: (1,0)-(29,3))
└── body: (length: 10)
- ├── @ DefNode (location: (0...11))
+ ├── @ DefNode (location: (1,0)-(2,3))
│ ├── name: :def
- │ ├── name_loc: (4...7) = "def"
+ │ ├── name_loc: (1,4)-(1,7) = "def"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (8...11) = "end"
- ├── @ DefNode (location: (13...32))
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ ├── @ DefNode (location: (4,0)-(5,3))
│ ├── name: :ensure
- │ ├── name_loc: (22...28) = "ensure"
+ │ ├── name_loc: (4,9)-(4,15) = "ensure"
│ ├── receiver:
- │ │ @ SelfNode (location: (17...21))
+ │ │ @ SelfNode (location: (4,4)-(4,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (13...16) = "def"
- │ ├── operator_loc: (21...22) = "."
+ │ ├── def_keyword_loc: (4,0)-(4,3) = "def"
+ │ ├── operator_loc: (4,8)-(4,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (29...32) = "end"
- ├── @ CallNode (location: (34...68))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ CallNode (location: (7,0)-(10,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (34...41) = "private"
+ │ ├── message_loc: (7,0)-(7,7) = "private"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (42...68))
+ │ │ @ ArgumentsNode (location: (7,8)-(10,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ DefNode (location: (42...68))
+ │ │ └── @ DefNode (location: (7,8)-(10,3))
│ │ ├── name: :foo
- │ │ ├── name_loc: (46...49) = "foo"
+ │ │ ├── name_loc: (7,12)-(7,15) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (52...64))
+ │ │ │ @ StatementsNode (location: (8,2)-(9,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (52...64))
+ │ │ │ └── @ CallNode (location: (8,2)-(9,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (52...55) = "bar"
+ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (56...64))
+ │ │ │ │ @ BlockNode (location: (8,6)-(9,5))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (56...58) = "do"
- │ │ │ │ └── closing_loc: (61...64) = "end"
+ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
+ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (42...45) = "def"
+ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (65...68) = "end"
+ │ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "private"
- ├── @ DefNode (location: (70...89))
+ ├── @ DefNode (location: (12,0)-(13,3))
│ ├── name: :m
- │ ├── name_loc: (74...75) = "m"
+ │ ├── name_loc: (12,4)-(12,5) = "m"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (76...84))
+ │ │ @ ParametersNode (location: (12,6)-(12,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (76...77))
+ │ │ │ └── @ RequiredParameterNode (location: (12,6)-(12,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ NoKeywordsParameterNode (location: (79...84))
- │ │ │ ├── operator_loc: (79...81) = "**"
- │ │ │ └── keyword_loc: (81...84) = "nil"
+ │ │ │ @ NoKeywordsParameterNode (location: (12,9)-(12,14))
+ │ │ │ ├── operator_loc: (12,9)-(12,11) = "**"
+ │ │ │ └── keyword_loc: (12,11)-(12,14) = "nil"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (70...73) = "def"
+ │ ├── def_keyword_loc: (12,0)-(12,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (75...76) = "("
- │ ├── rparen_loc: (84...85) = ")"
+ │ ├── lparen_loc: (12,5)-(12,6) = "("
+ │ ├── rparen_loc: (12,14)-(12,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (86...89) = "end"
- ├── @ DefNode (location: (91...113))
+ │ └── end_keyword_loc: (13,0)-(13,3) = "end"
+ ├── @ DefNode (location: (15,0)-(16,3))
│ ├── name: :a
- │ ├── name_loc: (108...109) = "a"
+ │ ├── name_loc: (15,17)-(15,18) = "a"
│ ├── receiver:
- │ │ @ SourceEncodingNode (location: (95...107))
+ │ │ @ SourceEncodingNode (location: (15,4)-(15,16))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (91...94) = "def"
- │ ├── operator_loc: (107...108) = "."
+ │ ├── def_keyword_loc: (15,0)-(15,3) = "def"
+ │ ├── operator_loc: (15,16)-(15,17) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (110...113) = "end"
- ├── @ StringNode (location: (115...121))
+ │ └── end_keyword_loc: (16,0)-(16,3) = "end"
+ ├── @ StringNode (location: (18,0)-(18,6))
│ ├── flags: ∅
- │ ├── opening_loc: (115...117) = "%{"
- │ ├── content_loc: (117...120) = "abc"
- │ ├── closing_loc: (120...121) = "}"
+ │ ├── opening_loc: (18,0)-(18,2) = "%{"
+ │ ├── content_loc: (18,2)-(18,5) = "abc"
+ │ ├── closing_loc: (18,5)-(18,6) = "}"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (123...129))
+ ├── @ StringNode (location: (20,0)-(20,6))
│ ├── flags: ∅
- │ ├── opening_loc: (123...125) = "%\""
- │ ├── content_loc: (125...128) = "abc"
- │ ├── closing_loc: (128...129) = "\""
+ │ ├── opening_loc: (20,0)-(20,2) = "%\""
+ │ ├── content_loc: (20,2)-(20,5) = "abc"
+ │ ├── closing_loc: (20,5)-(20,6) = "\""
│ └── unescaped: "abc"
- ├── @ DefNode (location: (131...149))
+ ├── @ DefNode (location: (22,0)-(23,3))
│ ├── name: :a
- │ ├── name_loc: (144...145) = "a"
+ │ ├── name_loc: (22,13)-(22,14) = "a"
│ ├── receiver:
- │ │ @ SourceFileNode (location: (135...143))
+ │ │ @ SourceFileNode (location: (22,4)-(22,12))
│ │ └── filepath: "keyword_method_names.txt"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (131...134) = "def"
- │ ├── operator_loc: (143...144) = "."
+ │ ├── def_keyword_loc: (22,0)-(22,3) = "def"
+ │ ├── operator_loc: (22,12)-(22,13) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (146...149) = "end"
- ├── @ DefNode (location: (151...169))
+ │ └── end_keyword_loc: (23,0)-(23,3) = "end"
+ ├── @ DefNode (location: (25,0)-(26,3))
│ ├── name: :a
- │ ├── name_loc: (164...165) = "a"
+ │ ├── name_loc: (25,13)-(25,14) = "a"
│ ├── receiver:
- │ │ @ SourceLineNode (location: (155...163))
+ │ │ @ SourceLineNode (location: (25,4)-(25,12))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (151...154) = "def"
- │ ├── operator_loc: (163...164) = "."
+ │ ├── def_keyword_loc: (25,0)-(25,3) = "def"
+ │ ├── operator_loc: (25,12)-(25,13) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (166...169) = "end"
- └── @ DefNode (location: (171...185))
+ │ └── end_keyword_loc: (26,0)-(26,3) = "end"
+ └── @ DefNode (location: (28,0)-(29,3))
├── name: :a
- ├── name_loc: (180...181) = "a"
+ ├── name_loc: (28,9)-(28,10) = "a"
├── receiver:
- │ @ NilNode (location: (175...178))
+ │ @ NilNode (location: (28,4)-(28,7))
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (171...174) = "def"
- ├── operator_loc: (178...180) = "::"
+ ├── def_keyword_loc: (28,0)-(28,3) = "def"
+ ├── operator_loc: (28,7)-(28,9) = "::"
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (182...185) = "end"
+ └── end_keyword_loc: (29,0)-(29,3) = "end"
diff --git a/test/yarp/snapshots/keywords.txt b/test/yarp/snapshots/keywords.txt
index 1e9e99ccca..6df11487d7 100644
--- a/test/yarp/snapshots/keywords.txt
+++ b/test/yarp/snapshots/keywords.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...51))
+@ ProgramNode (location: (1,0)-(11,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...51))
+ @ StatementsNode (location: (1,0)-(11,8))
└── body: (length: 6)
- ├── @ RedoNode (location: (0...4))
- ├── @ RetryNode (location: (6...11))
- ├── @ SelfNode (location: (13...17))
- ├── @ SourceEncodingNode (location: (19...31))
- ├── @ SourceFileNode (location: (33...41))
+ ├── @ RedoNode (location: (1,0)-(1,4))
+ ├── @ RetryNode (location: (3,0)-(3,5))
+ ├── @ SelfNode (location: (5,0)-(5,4))
+ ├── @ SourceEncodingNode (location: (7,0)-(7,12))
+ ├── @ SourceFileNode (location: (9,0)-(9,8))
│ └── filepath: "keywords.txt"
- └── @ SourceLineNode (location: (43...51))
+ └── @ SourceLineNode (location: (11,0)-(11,8))
diff --git a/test/yarp/snapshots/lambda.txt b/test/yarp/snapshots/lambda.txt
index d7fc273768..ed622f6739 100644
--- a/test/yarp/snapshots/lambda.txt
+++ b/test/yarp/snapshots/lambda.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...92))
+@ ProgramNode (location: (1,0)-(11,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...92))
+ @ StatementsNode (location: (1,0)-(11,18))
└── body: (length: 5)
- ├── @ LambdaNode (location: (0...14))
+ ├── @ LambdaNode (location: (1,0)-(3,4))
│ ├── locals: [:foo]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (12...13) = "{"
- │ ├── closing_loc: (13...14) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (3,2)-(3,3) = "{"
+ │ ├── closing_loc: (3,3)-(3,4) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (2...11))
+ │ │ @ BlockParametersNode (location: (1,2)-(3,1))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (6...9))
+ │ │ │ @ ParametersNode (location: (2,2)-(2,5))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (6...9))
+ │ │ │ │ └── @ RequiredParameterNode (location: (2,2)-(2,5))
│ │ │ │ └── name: :foo
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -22,83 +22,83 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (2...3) = "("
- │ │ └── closing_loc: (10...11) = ")"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (3,0)-(3,1) = ")"
│ └── body: ∅
- ├── @ LambdaNode (location: (16...34))
+ ├── @ LambdaNode (location: (5,0)-(5,18))
│ ├── locals: [:x]
- │ ├── operator_loc: (16...18) = "->"
- │ ├── opening_loc: (31...32) = "{"
- │ ├── closing_loc: (33...34) = "}"
+ │ ├── operator_loc: (5,0)-(5,2) = "->"
+ │ ├── opening_loc: (5,15)-(5,16) = "{"
+ │ ├── closing_loc: (5,17)-(5,18) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (18...30))
+ │ │ @ BlockParametersNode (location: (5,2)-(5,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (19...29))
+ │ │ │ @ ParametersNode (location: (5,3)-(5,13))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (19...29))
+ │ │ │ │ └── @ KeywordParameterNode (location: (5,3)-(5,13))
│ │ │ │ ├── name: :x
- │ │ │ │ ├── name_loc: (19...21) = "x:"
+ │ │ │ │ ├── name_loc: (5,3)-(5,5) = "x:"
│ │ │ │ └── value:
- │ │ │ │ @ InterpolatedStringNode (location: (22...29))
- │ │ │ │ ├── opening_loc: (22...23) = "\""
+ │ │ │ │ @ InterpolatedStringNode (location: (5,6)-(5,13))
+ │ │ │ │ ├── opening_loc: (5,6)-(5,7) = "\""
│ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ ├── @ StringNode (location: (23...24))
+ │ │ │ │ │ ├── @ StringNode (location: (5,7)-(5,8))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (23...24) = "b"
+ │ │ │ │ │ │ ├── content_loc: (5,7)-(5,8) = "b"
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ │ └── @ EmbeddedStatementsNode (location: (24...28))
- │ │ │ │ │ ├── opening_loc: (24...26) = "\#{"
+ │ │ │ │ │ └── @ EmbeddedStatementsNode (location: (5,8)-(5,12))
+ │ │ │ │ │ ├── opening_loc: (5,8)-(5,10) = "\#{"
│ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (26...27))
+ │ │ │ │ │ │ @ StatementsNode (location: (5,10)-(5,11))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (26...27))
+ │ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (26...27) = "a"
+ │ │ │ │ │ │ ├── message_loc: (5,10)-(5,11) = "a"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "a"
- │ │ │ │ │ └── closing_loc: (27...28) = "}"
- │ │ │ │ └── closing_loc: (28...29) = "\""
+ │ │ │ │ │ └── closing_loc: (5,11)-(5,12) = "}"
+ │ │ │ │ └── closing_loc: (5,12)-(5,13) = "\""
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (18...19) = "("
- │ │ └── closing_loc: (29...30) = ")"
+ │ │ ├── opening_loc: (5,2)-(5,3) = "("
+ │ │ └── closing_loc: (5,13)-(5,14) = ")"
│ └── body: ∅
- ├── @ LambdaNode (location: (36...51))
+ ├── @ LambdaNode (location: (7,0)-(7,15))
│ ├── locals: [:a]
- │ ├── operator_loc: (36...38) = "->"
- │ ├── opening_loc: (49...50) = "{"
- │ ├── closing_loc: (50...51) = "}"
+ │ ├── operator_loc: (7,0)-(7,2) = "->"
+ │ ├── opening_loc: (7,13)-(7,14) = "{"
+ │ ├── closing_loc: (7,14)-(7,15) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (38...48))
+ │ │ @ BlockParametersNode (location: (7,2)-(7,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (39...47))
+ │ │ │ @ ParametersNode (location: (7,3)-(7,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (39...47))
+ │ │ │ │ └── @ KeywordParameterNode (location: (7,3)-(7,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (39...41) = "a:"
+ │ │ │ │ ├── name_loc: (7,3)-(7,5) = "a:"
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (42...47))
+ │ │ │ │ @ CallNode (location: (7,6)-(7,11))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (42...43))
+ │ │ │ │ │ @ CallNode (location: (7,6)-(7,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (42...43) = "b"
+ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "b"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -106,12 +106,12 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "b"
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (44...45) = "*"
+ │ │ │ │ ├── message_loc: (7,8)-(7,9) = "*"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (46...47))
+ │ │ │ │ │ @ ArgumentsNode (location: (7,10)-(7,11))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (46...47))
+ │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
@@ -120,29 +120,29 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (38...39) = "("
- │ │ └── closing_loc: (47...48) = ")"
+ │ │ ├── opening_loc: (7,2)-(7,3) = "("
+ │ │ └── closing_loc: (7,11)-(7,12) = ")"
│ └── body: ∅
- ├── @ LambdaNode (location: (53...72))
+ ├── @ LambdaNode (location: (9,0)-(9,19))
│ ├── locals: [:foo]
- │ ├── operator_loc: (53...55) = "->"
- │ ├── opening_loc: (66...68) = "do"
- │ ├── closing_loc: (69...72) = "end"
+ │ ├── operator_loc: (9,0)-(9,2) = "->"
+ │ ├── opening_loc: (9,13)-(9,15) = "do"
+ │ ├── closing_loc: (9,16)-(9,19) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (56...65))
+ │ │ @ BlockParametersNode (location: (9,3)-(9,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (56...65))
+ │ │ │ @ ParametersNode (location: (9,3)-(9,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (56...65))
+ │ │ │ │ └── @ OptionalParameterNode (location: (9,3)-(9,12))
│ │ │ │ ├── name: :foo
- │ │ │ │ ├── name_loc: (56...59) = "foo"
- │ │ │ │ ├── operator_loc: (60...61) = "="
+ │ │ │ │ ├── name_loc: (9,3)-(9,6) = "foo"
+ │ │ │ │ ├── operator_loc: (9,7)-(9,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (62...65))
+ │ │ │ │ @ CallNode (location: (9,9)-(9,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (62...65) = "bar"
+ │ │ │ │ ├── message_loc: (9,9)-(9,12) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -158,28 +158,28 @@
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body: ∅
- └── @ LambdaNode (location: (74...92))
+ └── @ LambdaNode (location: (11,0)-(11,18))
├── locals: [:foo]
- ├── operator_loc: (74...76) = "->"
- ├── opening_loc: (86...88) = "do"
- ├── closing_loc: (89...92) = "end"
+ ├── operator_loc: (11,0)-(11,2) = "->"
+ ├── opening_loc: (11,12)-(11,14) = "do"
+ ├── closing_loc: (11,15)-(11,18) = "end"
├── parameters:
- │ @ BlockParametersNode (location: (77...85))
+ │ @ BlockParametersNode (location: (11,3)-(11,11))
│ ├── parameters:
- │ │ @ ParametersNode (location: (77...85))
+ │ │ @ ParametersNode (location: (11,3)-(11,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (77...85))
+ │ │ │ └── @ KeywordParameterNode (location: (11,3)-(11,11))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (77...81) = "foo:"
+ │ │ │ ├── name_loc: (11,3)-(11,7) = "foo:"
│ │ │ └── value:
- │ │ │ @ CallNode (location: (82...85))
+ │ │ │ @ CallNode (location: (11,8)-(11,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (82...85) = "bar"
+ │ │ │ ├── message_loc: (11,8)-(11,11) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/method_calls.txt b/test/yarp/snapshots/method_calls.txt
index 0225e1d182..9019ef1798 100644
--- a/test/yarp/snapshots/method_calls.txt
+++ b/test/yarp/snapshots/method_calls.txt
@@ -1,228 +1,228 @@
-@ ProgramNode (location: (0...1237))
+@ ProgramNode (location: (1,0)-(147,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...1237))
+ @ StatementsNode (location: (1,0)-(147,8))
└── body: (length: 62)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...7) = "bar"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...14))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (8...14))
+ │ │ └── @ StringNode (location: (1,8)-(1,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (8...10) = "%{"
- │ │ ├── content_loc: (10...13) = "baz"
- │ │ ├── closing_loc: (13...14) = "}"
+ │ │ ├── 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: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (16...25))
+ ├── @ CallNode (location: (3,0)-(3,9))
│ ├── receiver:
- │ │ @ CallNode (location: (16...17))
+ │ │ @ CallNode (location: (3,0)-(3,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...17) = "a"
+ │ │ ├── message_loc: (3,0)-(3,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (17...18) = "."
- │ ├── message_loc: (18...19) = "b"
- │ ├── opening_loc: (19...20) = "("
+ │ ├── call_operator_loc: (3,1)-(3,2) = "."
+ │ ├── message_loc: (3,2)-(3,3) = "b"
+ │ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (20...24))
+ │ │ @ ArgumentsNode (location: (3,4)-(3,8))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (20...21))
+ │ │ ├── @ CallNode (location: (3,4)-(3,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (20...21) = "c"
+ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── @ CallNode (location: (23...24))
+ │ │ └── @ CallNode (location: (3,7)-(3,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (23...24) = "d"
+ │ │ ├── message_loc: (3,7)-(3,8) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "d"
- │ ├── closing_loc: (24...25) = ")"
+ │ ├── closing_loc: (3,8)-(3,9) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── @ CallNode (location: (27...32))
+ ├── @ CallNode (location: (5,0)-(5,5))
│ ├── receiver:
- │ │ @ CallNode (location: (27...28))
+ │ │ @ CallNode (location: (5,0)-(5,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (27...28) = "a"
+ │ │ ├── message_loc: (5,0)-(5,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (28...29) = "."
- │ ├── message_loc: (29...30) = "b"
- │ ├── opening_loc: (30...31) = "("
+ │ ├── call_operator_loc: (5,1)-(5,2) = "."
+ │ ├── message_loc: (5,2)-(5,3) = "b"
+ │ ├── opening_loc: (5,3)-(5,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (31...32) = ")"
+ │ ├── closing_loc: (5,4)-(5,5) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── @ CallNode (location: (34...52))
+ ├── @ CallNode (location: (7,0)-(9,7))
│ ├── receiver:
- │ │ @ CallNode (location: (34...44))
+ │ │ @ CallNode (location: (7,0)-(8,6))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (34...37))
+ │ │ │ @ CallNode (location: (7,0)-(7,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (34...37) = "foo"
+ │ │ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── call_operator_loc: (40...41) = "."
- │ │ ├── message_loc: (41...44) = "bar"
+ │ │ ├── call_operator_loc: (8,2)-(8,3) = "."
+ │ │ ├── message_loc: (8,3)-(8,6) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
- │ ├── call_operator_loc: (47...49) = "&."
- │ ├── message_loc: (49...52) = "baz"
+ │ ├── call_operator_loc: (9,2)-(9,4) = "&."
+ │ ├── message_loc: (9,4)-(9,7) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "baz"
- ├── @ CallNode (location: (54...56))
+ ├── @ CallNode (location: (11,0)-(11,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (54...56) = "a!"
+ │ ├── message_loc: (11,0)-(11,2) = "a!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a!"
- ├── @ CallNode (location: (58...62))
+ ├── @ CallNode (location: (13,0)-(13,4))
│ ├── receiver:
- │ │ @ CallNode (location: (58...59))
+ │ │ @ CallNode (location: (13,0)-(13,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (58...59) = "a"
+ │ │ ├── message_loc: (13,0)-(13,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (59...60) = "."
+ │ ├── call_operator_loc: (13,1)-(13,2) = "."
│ ├── message_loc: ∅
- │ ├── opening_loc: (60...61) = "("
+ │ ├── opening_loc: (13,2)-(13,3) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (61...62) = ")"
+ │ ├── closing_loc: (13,3)-(13,4) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "call"
- ├── @ CallNode (location: (64...75))
+ ├── @ CallNode (location: (15,0)-(15,11))
│ ├── receiver:
- │ │ @ CallNode (location: (64...65))
+ │ │ @ CallNode (location: (15,0)-(15,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (64...65) = "a"
+ │ │ ├── message_loc: (15,0)-(15,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (65...66) = "."
+ │ ├── call_operator_loc: (15,1)-(15,2) = "."
│ ├── message_loc: ∅
- │ ├── opening_loc: (66...67) = "("
+ │ ├── opening_loc: (15,2)-(15,3) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (67...74))
+ │ │ @ ArgumentsNode (location: (15,3)-(15,10))
│ │ └── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (67...68))
+ │ │ ├── @ IntegerNode (location: (15,3)-(15,4))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (70...71))
+ │ │ ├── @ IntegerNode (location: (15,6)-(15,7))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (73...74))
+ │ │ └── @ IntegerNode (location: (15,9)-(15,10))
│ │ └── flags: decimal
- │ ├── closing_loc: (74...75) = ")"
+ │ ├── closing_loc: (15,10)-(15,11) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "call"
- ├── @ CallNode (location: (77...81))
+ ├── @ CallNode (location: (17,0)-(17,4))
│ ├── receiver:
- │ │ @ CallNode (location: (77...78))
+ │ │ @ CallNode (location: (17,0)-(17,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (77...78) = "a"
+ │ │ ├── message_loc: (17,0)-(17,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (78...80) = "::"
- │ ├── message_loc: (80...81) = "b"
+ │ ├── call_operator_loc: (17,1)-(17,3) = "::"
+ │ ├── message_loc: (17,3)-(17,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── @ CallNode (location: (83...89))
+ ├── @ CallNode (location: (19,0)-(19,6))
│ ├── receiver:
- │ │ @ CallNode (location: (83...84))
+ │ │ @ CallNode (location: (19,0)-(19,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (83...84) = "a"
+ │ │ ├── message_loc: (19,0)-(19,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (84...86) = "::"
- │ ├── message_loc: (86...87) = "b"
+ │ ├── call_operator_loc: (19,1)-(19,3) = "::"
+ │ ├── message_loc: (19,3)-(19,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (88...89))
+ │ │ @ ArgumentsNode (location: (19,5)-(19,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (88...89))
+ │ │ └── @ CallNode (location: (19,5)-(19,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (88...89) = "c"
+ │ │ ├── message_loc: (19,5)-(19,6) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -233,209 +233,209 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── @ CallNode (location: (91...102))
+ ├── @ CallNode (location: (21,0)-(21,11))
│ ├── receiver:
- │ │ @ CallNode (location: (91...94))
+ │ │ @ CallNode (location: (21,0)-(21,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (91...94) = "foo"
+ │ │ ├── message_loc: (21,0)-(21,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (94...95) = "."
- │ ├── message_loc: (95...98) = "bar"
+ │ ├── call_operator_loc: (21,3)-(21,4) = "."
+ │ ├── message_loc: (21,4)-(21,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (101...102))
+ │ │ @ ArgumentsNode (location: (21,10)-(21,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (101...102))
+ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar="
- ├── @ CallNode (location: (104...106))
+ ├── @ CallNode (location: (23,0)-(23,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (104...106) = "a?"
+ │ ├── message_loc: (23,0)-(23,2) = "a?"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a?"
- ├── @ CallNode (location: (108...116))
+ ├── @ CallNode (location: (25,0)-(25,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (108...109) = "a"
- │ ├── opening_loc: (109...110) = "("
+ │ ├── message_loc: (25,0)-(25,1) = "a"
+ │ ├── opening_loc: (25,1)-(25,2) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (116...117) = ")"
+ │ ├── closing_loc: (25,8)-(25,9) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (110...116))
+ │ │ @ BlockArgumentNode (location: (25,2)-(25,8))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (111...116))
+ │ │ │ @ CallNode (location: (25,3)-(25,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (111...116) = "block"
+ │ │ │ ├── message_loc: (25,3)-(25,8) = "block"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "block"
- │ │ └── operator_loc: (110...111) = "&"
+ │ │ └── operator_loc: (25,2)-(25,3) = "&"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (119...130))
+ ├── @ CallNode (location: (27,0)-(27,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (119...120) = "a"
- │ ├── opening_loc: (120...121) = "("
+ │ ├── message_loc: (27,0)-(27,1) = "a"
+ │ ├── opening_loc: (27,1)-(27,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (121...129))
+ │ │ @ ArgumentsNode (location: (27,2)-(27,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (121...129))
+ │ │ └── @ KeywordHashNode (location: (27,2)-(27,10))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (121...129))
+ │ │ └── @ AssocSplatNode (location: (27,2)-(27,10))
│ │ ├── value:
- │ │ │ @ CallNode (location: (123...129))
+ │ │ │ @ CallNode (location: (27,4)-(27,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (123...129) = "kwargs"
+ │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "kwargs"
- │ │ └── operator_loc: (121...123) = "**"
- │ ├── closing_loc: (129...130) = ")"
+ │ │ └── operator_loc: (27,2)-(27,4) = "**"
+ │ ├── closing_loc: (27,10)-(27,11) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (132...137))
+ ├── @ CallNode (location: (29,0)-(29,5))
│ ├── receiver:
- │ │ @ CallNode (location: (132...135))
+ │ │ @ CallNode (location: (29,0)-(29,3))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (132...133))
+ │ │ │ @ CallNode (location: (29,0)-(29,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (132...133) = "a"
+ │ │ │ ├── message_loc: (29,0)-(29,1) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── call_operator_loc: (133...134) = "."
- │ │ ├── message_loc: (134...135) = "b"
+ │ │ ├── call_operator_loc: (29,1)-(29,2) = "."
+ │ │ ├── message_loc: (29,2)-(29,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ ├── call_operator_loc: (135...136) = "."
- │ ├── message_loc: (136...137) = "c"
+ │ ├── call_operator_loc: (29,3)-(29,4) = "."
+ │ ├── message_loc: (29,4)-(29,5) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "c"
- ├── @ CallNode (location: (139...146))
+ ├── @ CallNode (location: (31,0)-(31,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (139...140) = "a"
- │ ├── opening_loc: (140...141) = "("
+ │ ├── message_loc: (31,0)-(31,1) = "a"
+ │ ├── opening_loc: (31,1)-(31,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (141...145))
+ │ │ @ ArgumentsNode (location: (31,2)-(31,6))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (141...142))
+ │ │ ├── @ CallNode (location: (31,2)-(31,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (141...142) = "b"
+ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── @ CallNode (location: (144...145))
+ │ │ └── @ CallNode (location: (31,5)-(31,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (144...145) = "c"
+ │ │ ├── message_loc: (31,5)-(31,6) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── closing_loc: (145...146) = ")"
+ │ ├── closing_loc: (31,6)-(31,7) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (148...151))
+ ├── @ CallNode (location: (33,0)-(33,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (148...149) = "a"
- │ ├── opening_loc: (149...150) = "("
+ │ ├── message_loc: (33,0)-(33,1) = "a"
+ │ ├── opening_loc: (33,1)-(33,2) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (150...151) = ")"
+ │ ├── closing_loc: (33,2)-(33,3) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (153...161))
+ ├── @ CallNode (location: (35,0)-(35,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (153...154) = "a"
- │ ├── opening_loc: (154...155) = "("
+ │ ├── message_loc: (35,0)-(35,1) = "a"
+ │ ├── opening_loc: (35,1)-(35,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (155...160))
+ │ │ @ ArgumentsNode (location: (35,2)-(35,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (155...160))
- │ │ ├── operator_loc: (155...156) = "*"
+ │ │ └── @ SplatNode (location: (35,2)-(35,7))
+ │ │ ├── operator_loc: (35,2)-(35,3) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (156...160))
+ │ │ @ CallNode (location: (35,3)-(35,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (156...160) = "args"
+ │ │ ├── message_loc: (35,3)-(35,7) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (160...161) = ")"
+ │ ├── closing_loc: (35,7)-(35,8) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (163...169))
+ ├── @ CallNode (location: (37,0)-(37,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (163...164) = "a"
+ │ ├── message_loc: (37,0)-(37,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (165...169))
+ │ │ @ ArgumentsNode (location: (37,2)-(37,6))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (165...166))
+ │ │ ├── @ CallNode (location: (37,2)-(37,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (165...166) = "b"
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── @ CallNode (location: (168...169))
+ │ │ └── @ CallNode (location: (37,5)-(37,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (168...169) = "c"
+ │ │ ├── message_loc: (37,5)-(37,6) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -446,38 +446,38 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (171...179))
+ ├── @ CallNode (location: (39,0)-(39,8))
│ ├── receiver:
- │ │ @ CallNode (location: (171...172))
+ │ │ @ CallNode (location: (39,0)-(39,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (171...172) = "a"
+ │ │ ├── message_loc: (39,0)-(39,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (172...173) = "."
- │ ├── message_loc: (173...174) = "b"
+ │ ├── call_operator_loc: (39,1)-(39,2) = "."
+ │ ├── message_loc: (39,2)-(39,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (175...179))
+ │ │ @ ArgumentsNode (location: (39,4)-(39,8))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (175...176))
+ │ │ ├── @ CallNode (location: (39,4)-(39,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (175...176) = "c"
+ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── @ CallNode (location: (178...179))
+ │ │ └── @ CallNode (location: (39,7)-(39,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (178...179) = "d"
+ │ │ ├── message_loc: (39,7)-(39,8) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -488,42 +488,42 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── @ MultiWriteNode (location: (181...204))
+ ├── @ MultiWriteNode (location: (41,0)-(41,23))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (181...188))
+ │ │ ├── @ CallNode (location: (41,0)-(41,7))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (181...184))
+ │ │ │ │ @ CallNode (location: (41,0)-(41,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (181...184) = "foo"
+ │ │ │ │ ├── message_loc: (41,0)-(41,3) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ ├── call_operator_loc: (184...185) = "."
- │ │ │ ├── message_loc: (185...188) = "foo"
+ │ │ │ ├── call_operator_loc: (41,3)-(41,4) = "."
+ │ │ │ ├── message_loc: (41,4)-(41,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "foo="
- │ │ └── @ CallNode (location: (190...197))
+ │ │ └── @ CallNode (location: (41,9)-(41,16))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (190...193))
+ │ │ │ @ CallNode (location: (41,9)-(41,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (190...193) = "bar"
+ │ │ │ ├── message_loc: (41,9)-(41,12) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── call_operator_loc: (193...194) = "."
- │ │ ├── message_loc: (194...197) = "bar"
+ │ │ ├── call_operator_loc: (41,12)-(41,13) = "."
+ │ │ ├── message_loc: (41,13)-(41,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -532,119 +532,119 @@
│ │ └── name: "bar="
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (198...199) = "="
+ │ ├── operator_loc: (41,17)-(41,18) = "="
│ └── value:
- │ @ ArrayNode (location: (200...204))
+ │ @ ArrayNode (location: (41,19)-(41,23))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (200...201))
+ │ │ ├── @ IntegerNode (location: (41,19)-(41,20))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (203...204))
+ │ │ └── @ IntegerNode (location: (41,22)-(41,23))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ CallNode (location: (206...210))
+ ├── @ CallNode (location: (43,0)-(43,4))
│ ├── receiver:
- │ │ @ CallNode (location: (206...207))
+ │ │ @ CallNode (location: (43,0)-(43,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (206...207) = "a"
+ │ │ ├── message_loc: (43,0)-(43,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (207...209) = "&."
- │ ├── message_loc: (209...210) = "b"
+ │ ├── call_operator_loc: (43,1)-(43,3) = "&."
+ │ ├── message_loc: (43,3)-(43,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- ├── @ CallNode (location: (212...217))
+ ├── @ CallNode (location: (45,0)-(45,5))
│ ├── receiver:
- │ │ @ CallNode (location: (212...213))
+ │ │ @ CallNode (location: (45,0)-(45,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (212...213) = "a"
+ │ │ ├── message_loc: (45,0)-(45,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (213...215) = "&."
+ │ ├── call_operator_loc: (45,1)-(45,3) = "&."
│ ├── message_loc: ∅
- │ ├── opening_loc: (215...216) = "("
+ │ ├── opening_loc: (45,3)-(45,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (216...217) = ")"
+ │ ├── closing_loc: (45,4)-(45,5) = ")"
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "call"
- ├── @ CallNode (location: (219...226))
+ ├── @ CallNode (location: (47,0)-(47,7))
│ ├── receiver:
- │ │ @ CallNode (location: (219...220))
+ │ │ @ CallNode (location: (47,0)-(47,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (219...220) = "a"
+ │ │ ├── message_loc: (47,0)-(47,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (220...222) = "&."
- │ ├── message_loc: (222...223) = "b"
- │ ├── opening_loc: (223...224) = "("
+ │ ├── call_operator_loc: (47,1)-(47,3) = "&."
+ │ ├── message_loc: (47,3)-(47,4) = "b"
+ │ ├── opening_loc: (47,4)-(47,5) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (224...225))
+ │ │ @ ArgumentsNode (location: (47,5)-(47,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (224...225))
+ │ │ └── @ CallNode (location: (47,5)-(47,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (224...225) = "c"
+ │ │ ├── message_loc: (47,5)-(47,6) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── closing_loc: (225...226) = ")"
+ │ ├── closing_loc: (47,6)-(47,7) = ")"
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- ├── @ CallNode (location: (228...234))
+ ├── @ CallNode (location: (49,0)-(49,6))
│ ├── receiver:
- │ │ @ CallNode (location: (228...229))
+ │ │ @ CallNode (location: (49,0)-(49,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (228...229) = "a"
+ │ │ ├── message_loc: (49,0)-(49,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (229...231) = "&."
- │ ├── message_loc: (231...232) = "b"
- │ ├── opening_loc: (232...233) = "("
+ │ ├── call_operator_loc: (49,1)-(49,3) = "&."
+ │ ├── message_loc: (49,3)-(49,4) = "b"
+ │ ├── opening_loc: (49,4)-(49,5) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (233...234) = ")"
+ │ ├── closing_loc: (49,5)-(49,6) = ")"
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- ├── @ IfNode (location: (236...269))
- │ ├── if_keyword_loc: (247...249) = "if"
+ ├── @ IfNode (location: (51,0)-(51,33))
+ │ ├── if_keyword_loc: (51,11)-(51,13) = "if"
│ ├── predicate:
- │ │ @ AndNode (location: (250...269))
+ │ │ @ AndNode (location: (51,14)-(51,33))
│ │ ├── left:
- │ │ │ @ OrNode (location: (250...261))
+ │ │ │ @ OrNode (location: (51,14)-(51,25))
│ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (250...254))
+ │ │ │ │ @ CallNode (location: (51,14)-(51,18))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (250...254) = "bar?"
+ │ │ │ │ ├── message_loc: (51,14)-(51,18) = "bar?"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -652,48 +652,48 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "bar?"
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (258...261))
+ │ │ │ │ @ CallNode (location: (51,22)-(51,25))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (258...261) = "baz"
+ │ │ │ │ ├── message_loc: (51,22)-(51,25) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
- │ │ │ └── operator_loc: (255...257) = "or"
+ │ │ │ └── operator_loc: (51,19)-(51,21) = "or"
│ │ ├── right:
- │ │ │ @ CallNode (location: (266...269))
+ │ │ │ @ CallNode (location: (51,30)-(51,33))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (266...269) = "qux"
+ │ │ │ ├── message_loc: (51,30)-(51,33) = "qux"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "qux"
- │ │ └── operator_loc: (262...265) = "and"
+ │ │ └── operator_loc: (51,26)-(51,29) = "and"
│ ├── statements:
- │ │ @ StatementsNode (location: (236...246))
+ │ │ @ StatementsNode (location: (51,0)-(51,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (236...246))
+ │ │ └── @ CallNode (location: (51,0)-(51,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (236...239) = "foo"
+ │ │ ├── message_loc: (51,0)-(51,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (240...246))
+ │ │ │ @ ArgumentsNode (location: (51,4)-(51,10))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (240...242))
- │ │ │ │ ├── opening_loc: (240...241) = ":"
- │ │ │ │ ├── value_loc: (241...242) = "a"
+ │ │ │ ├── @ 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: (244...246))
- │ │ │ ├── opening_loc: (244...245) = ":"
- │ │ │ ├── value_loc: (245...246) = "b"
+ │ │ │ └── @ 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: ∅
@@ -702,207 +702,207 @@
│ │ └── name: "foo"
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ CallNode (location: (271...286))
+ ├── @ CallNode (location: (53,0)-(56,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (271...274) = "foo"
- │ ├── opening_loc: (274...275) = "("
+ │ ├── message_loc: (53,0)-(53,3) = "foo"
+ │ ├── opening_loc: (53,3)-(53,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (275...284))
+ │ │ @ ArgumentsNode (location: (53,4)-(55,4))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (275...277))
- │ │ │ ├── opening_loc: (275...276) = ":"
- │ │ │ ├── value_loc: (276...277) = "a"
+ │ │ ├── @ 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: (282...284))
- │ │ ├── opening_loc: (282...283) = ":"
- │ │ ├── value_loc: (283...284) = "b"
+ │ │ └── @ 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: (285...286) = ")"
+ │ ├── closing_loc: (56,0)-(56,1) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (288...298))
+ ├── @ CallNode (location: (58,0)-(58,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (288...291) = "foo"
- │ ├── opening_loc: (291...292) = "("
+ │ ├── message_loc: (58,0)-(58,3) = "foo"
+ │ ├── opening_loc: (58,3)-(58,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (292...297))
+ │ │ @ ArgumentsNode (location: (58,4)-(58,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (292...297))
- │ │ ├── operator_loc: (292...293) = "*"
+ │ │ └── @ SplatNode (location: (58,4)-(58,9))
+ │ │ ├── operator_loc: (58,4)-(58,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (293...297))
+ │ │ @ CallNode (location: (58,5)-(58,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (293...297) = "rest"
+ │ │ ├── message_loc: (58,5)-(58,9) = "rest"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "rest"
- │ ├── closing_loc: (297...298) = ")"
+ │ ├── closing_loc: (58,9)-(58,10) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (300...339))
+ ├── @ CallNode (location: (60,0)-(60,39))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (300...303) = "foo"
- │ ├── opening_loc: (303...304) = "("
+ │ ├── message_loc: (60,0)-(60,3) = "foo"
+ │ ├── opening_loc: (60,3)-(60,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (304...332))
+ │ │ @ ArgumentsNode (location: (60,4)-(60,32))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (304...306))
- │ │ │ ├── opening_loc: (304...305) = ":"
- │ │ │ ├── value_loc: (305...306) = "a"
+ │ │ ├── @ 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: (308...332))
+ │ │ └── @ KeywordHashNode (location: (60,8)-(60,32))
│ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (308...322))
+ │ │ ├── @ AssocNode (location: (60,8)-(60,22))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (308...310))
- │ │ │ │ ├── opening_loc: (308...309) = ":"
- │ │ │ │ ├── value_loc: (309...310) = "h"
+ │ │ │ │ @ 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: (314...322))
+ │ │ │ │ @ ArrayNode (location: (60,14)-(60,22))
│ │ │ │ ├── elements: (length: 2)
- │ │ │ │ │ ├── @ SymbolNode (location: (315...317))
- │ │ │ │ │ │ ├── opening_loc: (315...316) = ":"
- │ │ │ │ │ │ ├── value_loc: (316...317) = "x"
+ │ │ │ │ │ ├── @ 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: (319...321))
- │ │ │ │ │ ├── opening_loc: (319...320) = ":"
- │ │ │ │ │ ├── value_loc: (320...321) = "y"
+ │ │ │ │ │ └── @ 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: (314...315) = "["
- │ │ │ │ └── closing_loc: (321...322) = "]"
- │ │ │ └── operator_loc: (311...313) = "=>"
- │ │ └── @ AssocNode (location: (324...332))
+ │ │ │ │ ├── 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: (324...326))
- │ │ │ ├── opening_loc: (324...325) = ":"
- │ │ │ ├── value_loc: (325...326) = "a"
+ │ │ │ @ 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: (330...332))
- │ │ │ ├── opening_loc: (330...331) = ":"
- │ │ │ ├── value_loc: (331...332) = "b"
+ │ │ │ @ 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: (327...329) = "=>"
- │ ├── closing_loc: (339...340) = ")"
+ │ │ └── operator_loc: (60,27)-(60,29) = "=>"
+ │ ├── closing_loc: (60,39)-(60,40) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (334...339))
+ │ │ @ BlockArgumentNode (location: (60,34)-(60,39))
│ │ ├── expression:
- │ │ │ @ SymbolNode (location: (335...339))
- │ │ │ ├── opening_loc: (335...336) = ":"
- │ │ │ ├── value_loc: (336...339) = "bar"
+ │ │ │ @ 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: (334...335) = "&"
+ │ │ └── operator_loc: (60,34)-(60,35) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (342...391))
+ ├── @ CallNode (location: (62,0)-(62,49))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (342...344) = "hi"
+ │ ├── message_loc: (62,0)-(62,2) = "hi"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (345...391))
+ │ │ @ ArgumentsNode (location: (62,3)-(62,49))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (345...348))
+ │ │ ├── @ IntegerNode (location: (62,3)-(62,6))
│ │ │ └── flags: decimal
- │ │ └── @ HashNode (location: (350...391))
- │ │ ├── opening_loc: (350...351) = "{"
+ │ │ └── @ HashNode (location: (62,8)-(62,49))
+ │ │ ├── opening_loc: (62,8)-(62,9) = "{"
│ │ ├── elements: (length: 3)
- │ │ │ ├── @ AssocNode (location: (352...369))
+ │ │ │ ├── @ AssocNode (location: (62,10)-(62,27))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (352...358))
- │ │ │ │ │ ├── opening_loc: (352...353) = ":"
- │ │ │ │ │ ├── value_loc: (353...358) = "there"
+ │ │ │ │ │ @ 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: (362...369))
- │ │ │ │ │ ├── opening_loc: (362...363) = ":"
- │ │ │ │ │ ├── value_loc: (363...369) = "friend"
+ │ │ │ │ │ @ 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: (359...361) = "=>"
- │ │ │ ├── @ AssocSplatNode (location: (371...375))
+ │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>"
+ │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33))
│ │ │ │ ├── value:
- │ │ │ │ │ @ HashNode (location: (373...375))
- │ │ │ │ │ ├── opening_loc: (373...374) = "{"
+ │ │ │ │ │ @ HashNode (location: (62,31)-(62,33))
+ │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{"
│ │ │ │ │ ├── elements: (length: 0)
- │ │ │ │ │ └── closing_loc: (374...375) = "}"
- │ │ │ │ └── operator_loc: (371...373) = "**"
- │ │ │ └── @ AssocNode (location: (377...389))
+ │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}"
+ │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**"
+ │ │ │ └── @ AssocNode (location: (62,35)-(62,47))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (377...384))
+ │ │ │ │ @ SymbolNode (location: (62,35)-(62,42))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (377...383) = "whatup"
- │ │ │ │ ├── closing_loc: (383...384) = ":"
+ │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup"
+ │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":"
│ │ │ │ └── unescaped: "whatup"
│ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (385...389))
- │ │ │ │ ├── opening_loc: (385...386) = ":"
- │ │ │ │ ├── value_loc: (386...389) = "dog"
+ │ │ │ │ @ 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: (390...391) = "}"
+ │ │ └── closing_loc: (62,48)-(62,49) = "}"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "hi"
- ├── @ CallNode (location: (393...429))
+ ├── @ CallNode (location: (64,0)-(64,36))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (393...396) = "foo"
+ │ ├── message_loc: (64,0)-(64,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (397...408))
+ │ │ @ ArgumentsNode (location: (64,4)-(64,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (397...399))
- │ │ │ ├── opening_loc: (397...398) = ":"
- │ │ │ ├── value_loc: (398...399) = "a"
+ │ │ ├── @ 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: (401...408))
+ │ │ └── @ KeywordHashNode (location: (64,8)-(64,15))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (401...408))
+ │ │ └── @ AssocNode (location: (64,8)-(64,15))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (401...403))
+ │ │ │ @ SymbolNode (location: (64,8)-(64,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (401...402) = "b"
- │ │ │ ├── closing_loc: (402...403) = ":"
+ │ │ │ ├── value_loc: (64,8)-(64,9) = "b"
+ │ │ │ ├── closing_loc: (64,9)-(64,10) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ TrueNode (location: (404...408))
+ │ │ │ @ TrueNode (location: (64,11)-(64,15))
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (409...429))
+ │ │ @ BlockNode (location: (64,16)-(64,36))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (412...418))
+ │ │ │ @ BlockParametersNode (location: (64,19)-(64,25))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (413...417))
+ │ │ │ │ @ ParametersNode (location: (64,20)-(64,24))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (413...414))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (416...417))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (64,23)-(64,24))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -911,51 +911,51 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (412...413) = "|"
- │ │ │ └── closing_loc: (417...418) = "|"
+ │ │ │ ├── opening_loc: (64,19)-(64,20) = "|"
+ │ │ │ └── closing_loc: (64,24)-(64,25) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (419...425))
+ │ │ │ @ StatementsNode (location: (64,26)-(64,32))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (419...425))
+ │ │ │ └── @ CallNode (location: (64,26)-(64,32))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (419...423) = "puts"
+ │ │ │ ├── message_loc: (64,26)-(64,30) = "puts"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (424...425))
+ │ │ │ │ @ ArgumentsNode (location: (64,31)-(64,32))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (424...425))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "puts"
- │ │ ├── opening_loc: (409...411) = "do"
- │ │ └── closing_loc: (426...429) = "end"
+ │ │ ├── opening_loc: (64,16)-(64,18) = "do"
+ │ │ └── closing_loc: (64,33)-(64,36) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (431...448))
+ ├── @ CallNode (location: (66,0)-(66,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (431...433) = "hi"
+ │ ├── message_loc: (66,0)-(66,2) = "hi"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (434...448))
+ │ │ @ ArgumentsNode (location: (66,3)-(66,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (434...448))
+ │ │ └── @ KeywordHashNode (location: (66,3)-(66,17))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (434...448))
+ │ │ └── @ AssocNode (location: (66,3)-(66,17))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (434...440))
+ │ │ │ @ SymbolNode (location: (66,3)-(66,9))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (434...439) = "there"
- │ │ │ ├── closing_loc: (439...440) = ":"
+ │ │ │ ├── value_loc: (66,3)-(66,8) = "there"
+ │ │ │ ├── closing_loc: (66,8)-(66,9) = ":"
│ │ │ └── unescaped: "there"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (441...448))
- │ │ │ ├── opening_loc: (441...442) = ":"
- │ │ │ ├── value_loc: (442...448) = "friend"
+ │ │ │ @ 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: ∅
@@ -963,48 +963,48 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "hi"
- ├── @ CallNode (location: (450...490))
+ ├── @ CallNode (location: (68,0)-(68,40))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (450...452) = "hi"
+ │ ├── message_loc: (68,0)-(68,2) = "hi"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (453...490))
+ │ │ @ ArgumentsNode (location: (68,3)-(68,40))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (453...490))
+ │ │ └── @ KeywordHashNode (location: (68,3)-(68,40))
│ │ └── elements: (length: 3)
- │ │ ├── @ AssocNode (location: (453...470))
+ │ │ ├── @ AssocNode (location: (68,3)-(68,20))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (453...459))
- │ │ │ │ ├── opening_loc: (453...454) = ":"
- │ │ │ │ ├── value_loc: (454...459) = "there"
+ │ │ │ │ @ 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: (463...470))
- │ │ │ │ ├── opening_loc: (463...464) = ":"
- │ │ │ │ ├── value_loc: (464...470) = "friend"
+ │ │ │ │ @ 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: (460...462) = "=>"
- │ │ ├── @ AssocSplatNode (location: (472...476))
+ │ │ │ └── operator_loc: (68,10)-(68,12) = "=>"
+ │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26))
│ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (474...476))
- │ │ │ │ ├── opening_loc: (474...475) = "{"
+ │ │ │ │ @ HashNode (location: (68,24)-(68,26))
+ │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{"
│ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (475...476) = "}"
- │ │ │ └── operator_loc: (472...474) = "**"
- │ │ └── @ AssocNode (location: (478...490))
+ │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}"
+ │ │ │ └── operator_loc: (68,22)-(68,24) = "**"
+ │ │ └── @ AssocNode (location: (68,28)-(68,40))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (478...485))
+ │ │ │ @ SymbolNode (location: (68,28)-(68,35))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (478...484) = "whatup"
- │ │ │ ├── closing_loc: (484...485) = ":"
+ │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup"
+ │ │ │ ├── closing_loc: (68,34)-(68,35) = ":"
│ │ │ └── unescaped: "whatup"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (486...490))
- │ │ │ ├── opening_loc: (486...487) = ":"
- │ │ │ ├── value_loc: (487...490) = "dog"
+ │ │ │ @ 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: ∅
@@ -1012,781 +1012,781 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "hi"
- ├── @ CallNode (location: (492...533))
+ ├── @ CallNode (location: (70,0)-(70,41))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (492...494) = "hi"
- │ ├── opening_loc: (494...495) = "("
+ │ ├── message_loc: (70,0)-(70,2) = "hi"
+ │ ├── opening_loc: (70,2)-(70,3) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (495...532))
+ │ │ @ ArgumentsNode (location: (70,3)-(70,40))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (495...532))
+ │ │ └── @ KeywordHashNode (location: (70,3)-(70,40))
│ │ └── elements: (length: 3)
- │ │ ├── @ AssocNode (location: (495...512))
+ │ │ ├── @ AssocNode (location: (70,3)-(70,20))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (495...501))
- │ │ │ │ ├── opening_loc: (495...496) = ":"
- │ │ │ │ ├── value_loc: (496...501) = "there"
+ │ │ │ │ @ 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: (505...512))
- │ │ │ │ ├── opening_loc: (505...506) = ":"
- │ │ │ │ ├── value_loc: (506...512) = "friend"
+ │ │ │ │ @ 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: (502...504) = "=>"
- │ │ ├── @ AssocSplatNode (location: (514...518))
+ │ │ │ └── operator_loc: (70,10)-(70,12) = "=>"
+ │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26))
│ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (516...518))
- │ │ │ │ ├── opening_loc: (516...517) = "{"
+ │ │ │ │ @ HashNode (location: (70,24)-(70,26))
+ │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{"
│ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (517...518) = "}"
- │ │ │ └── operator_loc: (514...516) = "**"
- │ │ └── @ AssocNode (location: (520...532))
+ │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}"
+ │ │ │ └── operator_loc: (70,22)-(70,24) = "**"
+ │ │ └── @ AssocNode (location: (70,28)-(70,40))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (520...527))
+ │ │ │ @ SymbolNode (location: (70,28)-(70,35))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (520...526) = "whatup"
- │ │ │ ├── closing_loc: (526...527) = ":"
+ │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup"
+ │ │ │ ├── closing_loc: (70,34)-(70,35) = ":"
│ │ │ └── unescaped: "whatup"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (528...532))
- │ │ │ ├── opening_loc: (528...529) = ":"
- │ │ │ ├── value_loc: (529...532) = "dog"
+ │ │ │ @ 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: (532...533) = ")"
+ │ ├── closing_loc: (70,40)-(70,41) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "hi"
- ├── @ CallNode (location: (535...570))
+ ├── @ CallNode (location: (72,0)-(72,35))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (535...538) = "foo"
- │ ├── opening_loc: (538...539) = "("
+ │ ├── message_loc: (72,0)-(72,3) = "foo"
+ │ ├── opening_loc: (72,3)-(72,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (539...561))
+ │ │ @ ArgumentsNode (location: (72,4)-(72,26))
│ │ └── arguments: (length: 1)
- │ │ └── @ HashNode (location: (539...561))
- │ │ ├── opening_loc: (539...540) = "{"
+ │ │ └── @ HashNode (location: (72,4)-(72,26))
+ │ │ ├── opening_loc: (72,4)-(72,5) = "{"
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (541...548))
+ │ │ │ ├── @ AssocNode (location: (72,6)-(72,13))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (541...543))
+ │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (541...542) = "a"
- │ │ │ │ │ ├── closing_loc: (542...543) = ":"
+ │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a"
+ │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value:
- │ │ │ │ │ @ TrueNode (location: (544...548))
+ │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13))
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (550...558))
+ │ │ │ └── @ AssocNode (location: (72,15)-(72,23))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (550...552))
+ │ │ │ │ @ SymbolNode (location: (72,15)-(72,17))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (550...551) = "b"
- │ │ │ │ ├── closing_loc: (551...552) = ":"
+ │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b"
+ │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ FalseNode (location: (553...558))
+ │ │ │ │ @ FalseNode (location: (72,18)-(72,23))
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (560...561) = "}"
- │ ├── closing_loc: (570...571) = ")"
+ │ │ └── closing_loc: (72,25)-(72,26) = "}"
+ │ ├── closing_loc: (72,35)-(72,36) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (563...570))
+ │ │ @ BlockArgumentNode (location: (72,28)-(72,35))
│ │ ├── expression:
- │ │ │ @ SymbolNode (location: (564...570))
- │ │ │ ├── opening_loc: (564...565) = ":"
- │ │ │ ├── value_loc: (565...570) = "block"
+ │ │ │ @ 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: (563...564) = "&"
+ │ │ └── operator_loc: (72,28)-(72,29) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (573...593))
+ ├── @ CallNode (location: (74,0)-(74,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (573...575) = "hi"
+ │ ├── message_loc: (74,0)-(74,2) = "hi"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (576...593))
+ │ │ @ ArgumentsNode (location: (74,3)-(74,20))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (576...593))
+ │ │ └── @ KeywordHashNode (location: (74,3)-(74,20))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (576...593))
+ │ │ └── @ AssocNode (location: (74,3)-(74,20))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (576...582))
- │ │ │ ├── opening_loc: (576...577) = ":"
- │ │ │ ├── value_loc: (577...582) = "there"
+ │ │ │ @ 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: (586...593))
- │ │ │ ├── opening_loc: (586...587) = ":"
- │ │ │ ├── value_loc: (587...593) = "friend"
+ │ │ │ @ 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: (583...585) = "=>"
+ │ │ └── operator_loc: (74,10)-(74,12) = "=>"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "hi"
- ├── @ CallNode (location: (595...608))
+ ├── @ CallNode (location: (76,0)-(78,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (595...598) = "foo"
- │ ├── opening_loc: (598...599) = "("
+ │ ├── message_loc: (76,0)-(76,3) = "foo"
+ │ ├── opening_loc: (76,3)-(76,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (599...605))
+ │ │ @ ArgumentsNode (location: (76,4)-(77,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (599...601))
- │ │ │ ├── opening_loc: (599...600) = ":"
- │ │ │ ├── value_loc: (600...601) = "a"
+ │ │ ├── @ 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: (603...605))
- │ │ ├── opening_loc: (603...604) = ":"
- │ │ ├── value_loc: (604...605) = "b"
+ │ │ └── @ 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: (607...608) = ")"
+ │ ├── closing_loc: (78,0)-(78,1) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (610...627))
+ ├── @ CallNode (location: (80,0)-(83,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (610...613) = "foo"
- │ ├── opening_loc: (613...614) = "("
+ │ ├── message_loc: (80,0)-(80,3) = "foo"
+ │ ├── opening_loc: (80,3)-(80,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (615...624))
+ │ │ @ ArgumentsNode (location: (81,0)-(82,5))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (615...617))
- │ │ │ ├── opening_loc: (615...616) = ":"
- │ │ │ ├── value_loc: (616...617) = "a"
+ │ │ ├── @ 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: (619...624))
+ │ │ └── @ KeywordHashNode (location: (82,0)-(82,5))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (619...624))
+ │ │ └── @ AssocNode (location: (82,0)-(82,5))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (619...621))
+ │ │ │ @ SymbolNode (location: (82,0)-(82,2))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (619...620) = "b"
- │ │ │ ├── closing_loc: (620...621) = ":"
+ │ │ │ ├── value_loc: (82,0)-(82,1) = "b"
+ │ │ │ ├── closing_loc: (82,1)-(82,2) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (622...624))
- │ │ │ ├── opening_loc: (622...623) = ":"
- │ │ │ ├── value_loc: (623...624) = "c"
+ │ │ │ @ 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: (626...627) = ")"
+ │ ├── closing_loc: (83,0)-(83,1) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (629...640))
+ ├── @ CallNode (location: (85,0)-(85,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (629...632) = "foo"
+ │ ├── message_loc: (85,0)-(85,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockArgumentNode (location: (633...640))
+ │ │ @ BlockArgumentNode (location: (85,4)-(85,11))
│ │ ├── expression:
- │ │ │ @ SymbolNode (location: (634...640))
- │ │ │ ├── opening_loc: (634...635) = ":"
- │ │ │ ├── value_loc: (635...640) = "block"
+ │ │ │ @ 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: (633...634) = "&"
+ │ │ └── operator_loc: (85,4)-(85,5) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (642...672))
+ ├── @ CallNode (location: (87,0)-(87,30))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (642...645) = "foo"
+ │ ├── message_loc: (87,0)-(87,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (646...663))
+ │ │ @ ArgumentsNode (location: (87,4)-(87,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (646...663))
+ │ │ └── @ KeywordHashNode (location: (87,4)-(87,21))
│ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (646...653))
+ │ │ ├── @ AssocNode (location: (87,4)-(87,11))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (646...648))
+ │ │ │ │ @ SymbolNode (location: (87,4)-(87,6))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (646...647) = "a"
- │ │ │ │ ├── closing_loc: (647...648) = ":"
+ │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a"
+ │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ TrueNode (location: (649...653))
+ │ │ │ │ @ TrueNode (location: (87,7)-(87,11))
│ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (655...663))
+ │ │ └── @ AssocNode (location: (87,13)-(87,21))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (655...657))
+ │ │ │ @ SymbolNode (location: (87,13)-(87,15))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (655...656) = "b"
- │ │ │ ├── closing_loc: (656...657) = ":"
+ │ │ │ ├── value_loc: (87,13)-(87,14) = "b"
+ │ │ │ ├── closing_loc: (87,14)-(87,15) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ FalseNode (location: (658...663))
+ │ │ │ @ FalseNode (location: (87,16)-(87,21))
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockArgumentNode (location: (665...672))
+ │ │ @ BlockArgumentNode (location: (87,23)-(87,30))
│ │ ├── expression:
- │ │ │ @ SymbolNode (location: (666...672))
- │ │ │ ├── opening_loc: (666...667) = ":"
- │ │ │ ├── value_loc: (667...672) = "block"
+ │ │ │ @ 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: (665...666) = "&"
+ │ │ └── operator_loc: (87,23)-(87,24) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (674...695))
+ ├── @ CallNode (location: (89,0)-(89,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (674...683) = "some_func"
+ │ ├── message_loc: (89,0)-(89,9) = "some_func"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (684...695))
+ │ │ @ ArgumentsNode (location: (89,10)-(89,21))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (684...685))
+ │ │ ├── @ IntegerNode (location: (89,10)-(89,11))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (687...695))
+ │ │ └── @ KeywordHashNode (location: (89,13)-(89,21))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (687...695))
+ │ │ └── @ AssocNode (location: (89,13)-(89,21))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (687...693))
+ │ │ │ @ SymbolNode (location: (89,13)-(89,19))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (687...692) = "kwarg"
- │ │ │ ├── closing_loc: (692...693) = ":"
+ │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg"
+ │ │ │ ├── closing_loc: (89,18)-(89,19) = ":"
│ │ │ └── unescaped: "kwarg"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (694...695))
+ │ │ │ @ IntegerNode (location: (89,20)-(89,21))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "some_func"
- ├── @ CallNode (location: (697...715))
+ ├── @ CallNode (location: (91,0)-(91,18))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (697...703))
+ │ │ @ ConstantReadNode (location: (91,0)-(91,6))
│ │ └── name: :Kernel
- │ ├── call_operator_loc: (703...704) = "."
- │ ├── message_loc: (704...711) = "Integer"
- │ ├── opening_loc: (711...712) = "("
+ │ ├── call_operator_loc: (91,6)-(91,7) = "."
+ │ ├── message_loc: (91,7)-(91,14) = "Integer"
+ │ ├── opening_loc: (91,14)-(91,15) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (712...714))
+ │ │ @ ArgumentsNode (location: (91,15)-(91,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (712...714))
+ │ │ └── @ IntegerNode (location: (91,15)-(91,17))
│ │ └── flags: decimal
- │ ├── closing_loc: (714...715) = ")"
+ │ ├── closing_loc: (91,17)-(91,18) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Integer"
- ├── @ CallNode (location: (717...727))
+ ├── @ CallNode (location: (93,0)-(93,10))
│ ├── receiver:
- │ │ @ CallNode (location: (717...718))
+ │ │ @ CallNode (location: (93,0)-(93,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (717...718) = "x"
+ │ │ ├── message_loc: (93,0)-(93,1) = "x"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "x"
- │ ├── call_operator_loc: (718...719) = "."
- │ ├── message_loc: (719...723) = "each"
+ │ ├── call_operator_loc: (93,1)-(93,2) = "."
+ │ ├── message_loc: (93,2)-(93,6) = "each"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (724...727))
+ │ │ @ BlockNode (location: (93,7)-(93,10))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (724...725) = "{"
- │ │ └── closing_loc: (726...727) = "}"
+ │ │ ├── opening_loc: (93,7)-(93,8) = "{"
+ │ │ └── closing_loc: (93,9)-(93,10) = "}"
│ ├── flags: ∅
│ └── name: "each"
- ├── @ CallNode (location: (729...743))
+ ├── @ CallNode (location: (95,0)-(95,14))
│ ├── receiver:
- │ │ @ CallNode (location: (729...732))
+ │ │ @ CallNode (location: (95,0)-(95,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (729...732) = "foo"
+ │ │ ├── message_loc: (95,0)-(95,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (732...733) = "."
- │ ├── message_loc: (733...736) = "map"
+ │ ├── call_operator_loc: (95,3)-(95,4) = "."
+ │ ├── message_loc: (95,4)-(95,7) = "map"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (737...743))
+ │ │ @ BlockNode (location: (95,8)-(95,14))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (739...741))
+ │ │ │ @ StatementsNode (location: (95,10)-(95,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ BackReferenceReadNode (location: (739...741))
- │ │ ├── opening_loc: (737...738) = "{"
- │ │ └── closing_loc: (742...743) = "}"
+ │ │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12))
+ │ │ ├── opening_loc: (95,8)-(95,9) = "{"
+ │ │ └── closing_loc: (95,13)-(95,14) = "}"
│ ├── flags: ∅
│ └── name: "map"
- ├── @ CallNode (location: (745...757))
+ ├── @ CallNode (location: (97,0)-(97,12))
│ ├── receiver:
- │ │ @ ConstantPathNode (location: (745...749))
+ │ │ @ ConstantPathNode (location: (97,0)-(97,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (745...746))
+ │ │ │ @ ConstantReadNode (location: (97,0)-(97,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (748...749))
+ │ │ │ @ ConstantReadNode (location: (97,3)-(97,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (746...748) = "::"
- │ ├── call_operator_loc: (749...751) = "::"
- │ ├── message_loc: (751...752) = "C"
+ │ │ └── delimiter_loc: (97,1)-(97,3) = "::"
+ │ ├── call_operator_loc: (97,4)-(97,6) = "::"
+ │ ├── message_loc: (97,6)-(97,7) = "C"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (753...757))
+ │ │ @ ArgumentsNode (location: (97,8)-(97,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (753...757))
- │ │ ├── opening_loc: (753...754) = ":"
- │ │ ├── value_loc: (754...757) = "foo"
+ │ │ └── @ 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: ∅
│ └── name: "C"
- ├── @ CallNode (location: (759...772))
+ ├── @ CallNode (location: (99,0)-(99,13))
│ ├── receiver:
- │ │ @ ConstantPathNode (location: (759...763))
+ │ │ @ ConstantPathNode (location: (99,0)-(99,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (759...760))
+ │ │ │ @ ConstantReadNode (location: (99,0)-(99,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (762...763))
+ │ │ │ @ ConstantReadNode (location: (99,3)-(99,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (760...762) = "::"
- │ ├── call_operator_loc: (763...765) = "::"
- │ ├── message_loc: (765...766) = "C"
- │ ├── opening_loc: (766...767) = "("
+ │ │ └── delimiter_loc: (99,1)-(99,3) = "::"
+ │ ├── call_operator_loc: (99,4)-(99,6) = "::"
+ │ ├── message_loc: (99,6)-(99,7) = "C"
+ │ ├── opening_loc: (99,7)-(99,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (767...771))
+ │ │ @ ArgumentsNode (location: (99,8)-(99,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (767...771))
- │ │ ├── opening_loc: (767...768) = ":"
- │ │ ├── value_loc: (768...771) = "foo"
+ │ │ └── @ 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: (771...772) = ")"
+ │ ├── closing_loc: (99,12)-(99,13) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "C"
- ├── @ CallNode (location: (774...791))
+ ├── @ CallNode (location: (101,0)-(101,17))
│ ├── receiver:
- │ │ @ ConstantPathNode (location: (774...778))
+ │ │ @ ConstantPathNode (location: (101,0)-(101,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (774...775))
+ │ │ │ @ ConstantReadNode (location: (101,0)-(101,1))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (777...778))
+ │ │ │ @ ConstantReadNode (location: (101,3)-(101,4))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (775...777) = "::"
- │ ├── call_operator_loc: (778...780) = "::"
- │ ├── message_loc: (780...781) = "C"
- │ ├── opening_loc: (781...782) = "("
+ │ │ └── delimiter_loc: (101,1)-(101,3) = "::"
+ │ ├── call_operator_loc: (101,4)-(101,6) = "::"
+ │ ├── message_loc: (101,6)-(101,7) = "C"
+ │ ├── opening_loc: (101,7)-(101,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (782...786))
+ │ │ @ ArgumentsNode (location: (101,8)-(101,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (782...786))
- │ │ ├── opening_loc: (782...783) = ":"
- │ │ ├── value_loc: (783...786) = "foo"
+ │ │ └── @ 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: (786...787) = ")"
+ │ ├── closing_loc: (101,12)-(101,13) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (788...791))
+ │ │ @ BlockNode (location: (101,14)-(101,17))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (788...789) = "{"
- │ │ └── closing_loc: (790...791) = "}"
+ │ │ ├── opening_loc: (101,14)-(101,15) = "{"
+ │ │ └── closing_loc: (101,16)-(101,17) = "}"
│ ├── flags: ∅
│ └── name: "C"
- ├── @ CallNode (location: (793...805))
+ ├── @ CallNode (location: (103,0)-(103,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (793...796) = "foo"
- │ ├── opening_loc: (796...797) = "("
+ │ ├── message_loc: (103,0)-(103,3) = "foo"
+ │ ├── opening_loc: (103,3)-(103,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (797...804))
+ │ │ @ ArgumentsNode (location: (103,4)-(103,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (797...804))
+ │ │ └── @ KeywordHashNode (location: (103,4)-(103,11))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (797...804))
+ │ │ └── @ AssocNode (location: (103,4)-(103,11))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (797...801))
- │ │ │ ├── opening_loc: (797...798) = "\""
- │ │ │ ├── value_loc: (798...799) = "a"
- │ │ │ ├── closing_loc: (799...801) = "\":"
+ │ │ │ @ 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: (802...804))
+ │ │ │ @ IntegerNode (location: (103,9)-(103,11))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (804...805) = ")"
+ │ ├── closing_loc: (103,11)-(103,12) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (807...835))
+ ├── @ CallNode (location: (105,0)-(105,28))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (807...810) = "foo"
+ │ ├── message_loc: (105,0)-(105,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (811...835))
+ │ │ @ ArgumentsNode (location: (105,4)-(105,28))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (811...835))
+ │ │ └── @ KeywordHashNode (location: (105,4)-(105,28))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (811...835))
+ │ │ └── @ AssocNode (location: (105,4)-(105,28))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (811...815))
+ │ │ │ @ SymbolNode (location: (105,4)-(105,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (811...814) = "bar"
- │ │ │ ├── closing_loc: (814...815) = ":"
+ │ │ │ ├── value_loc: (105,4)-(105,7) = "bar"
+ │ │ │ ├── closing_loc: (105,7)-(105,8) = ":"
│ │ │ └── unescaped: "bar"
│ │ ├── value:
- │ │ │ @ HashNode (location: (816...835))
- │ │ │ ├── opening_loc: (816...817) = "{"
+ │ │ │ @ HashNode (location: (105,9)-(105,28))
+ │ │ │ ├── opening_loc: (105,9)-(105,10) = "{"
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (818...833))
+ │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (818...822))
+ │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (818...821) = "baz"
- │ │ │ │ │ ├── closing_loc: (821...822) = ":"
+ │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz"
+ │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":"
│ │ │ │ │ └── unescaped: "baz"
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (823...833))
+ │ │ │ │ │ @ CallNode (location: (105,16)-(105,26))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (823...826) = "qux"
+ │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (827...833))
+ │ │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (827...829) = "do"
- │ │ │ │ │ │ └── closing_loc: (830...833) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do"
+ │ │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "qux"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (834...835) = "}"
+ │ │ │ └── closing_loc: (105,27)-(105,28) = "}"
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (837...861))
+ ├── @ CallNode (location: (107,0)-(107,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (837...840) = "foo"
+ │ ├── message_loc: (107,0)-(107,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (841...861))
+ │ │ @ ArgumentsNode (location: (107,4)-(107,24))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (841...861))
+ │ │ └── @ KeywordHashNode (location: (107,4)-(107,24))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (841...861))
+ │ │ └── @ AssocNode (location: (107,4)-(107,24))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (841...845))
+ │ │ │ @ SymbolNode (location: (107,4)-(107,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (841...844) = "bar"
- │ │ │ ├── closing_loc: (844...845) = ":"
+ │ │ │ ├── value_loc: (107,4)-(107,7) = "bar"
+ │ │ │ ├── closing_loc: (107,7)-(107,8) = ":"
│ │ │ └── unescaped: "bar"
│ │ ├── value:
- │ │ │ @ HashNode (location: (846...861))
- │ │ │ ├── opening_loc: (846...847) = "{"
+ │ │ │ @ HashNode (location: (107,9)-(107,24))
+ │ │ │ ├── opening_loc: (107,9)-(107,10) = "{"
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ AssocSplatNode (location: (848...859))
+ │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22))
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (850...859))
+ │ │ │ │ │ @ CallNode (location: (107,13)-(107,22))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (850...852) = "kw"
+ │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (853...859))
+ │ │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (853...855) = "do"
- │ │ │ │ │ │ └── closing_loc: (856...859) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do"
+ │ │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "kw"
- │ │ │ │ └── operator_loc: (848...850) = "**"
- │ │ │ └── closing_loc: (860...861) = "}"
+ │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**"
+ │ │ │ └── closing_loc: (107,23)-(107,24) = "}"
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (863...899))
+ ├── @ CallNode (location: (109,0)-(109,36))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (863...866) = "foo"
+ │ ├── message_loc: (109,0)-(109,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (867...892))
+ │ │ @ ArgumentsNode (location: (109,4)-(109,29))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (867...892))
- │ │ ├── opening_loc: (867...868) = "\""
+ │ │ └── @ InterpolatedStringNode (location: (109,4)-(109,29))
+ │ │ ├── opening_loc: (109,4)-(109,5) = "\""
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (868...891))
- │ │ │ ├── opening_loc: (868...870) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28))
+ │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (870...890))
+ │ │ │ │ @ StatementsNode (location: (109,7)-(109,27))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (870...890))
+ │ │ │ │ └── @ CallNode (location: (109,7)-(109,27))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (870...873))
+ │ │ │ │ │ @ CallNode (location: (109,7)-(109,10))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (870...873) = "bar"
+ │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ ├── call_operator_loc: (873...874) = "."
- │ │ │ │ ├── message_loc: (874...877) = "map"
+ │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "."
+ │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (878...890))
+ │ │ │ │ │ @ BlockNode (location: (109,15)-(109,27))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (881...886))
+ │ │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ StringNode (location: (881...886))
+ │ │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23))
│ │ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ │ ├── opening_loc: (881...882) = "\""
- │ │ │ │ │ │ ├── content_loc: (882...885) = "baz"
- │ │ │ │ │ │ ├── closing_loc: (885...886) = "\""
+ │ │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\""
+ │ │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz"
+ │ │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\""
│ │ │ │ │ │ └── unescaped: "baz"
- │ │ │ │ │ ├── opening_loc: (878...880) = "do"
- │ │ │ │ │ └── closing_loc: (887...890) = "end"
+ │ │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do"
+ │ │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "map"
- │ │ │ └── closing_loc: (890...891) = "}"
- │ │ └── closing_loc: (891...892) = "\""
+ │ │ │ └── closing_loc: (109,27)-(109,28) = "}"
+ │ │ └── closing_loc: (109,28)-(109,29) = "\""
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (893...899))
+ │ │ @ BlockNode (location: (109,30)-(109,36))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (893...895) = "do"
- │ │ └── closing_loc: (896...899) = "end"
+ │ │ ├── opening_loc: (109,30)-(109,32) = "do"
+ │ │ └── closing_loc: (109,33)-(109,36) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (901...929))
+ ├── @ CallNode (location: (111,0)-(111,28))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (901...904) = "foo"
+ │ ├── message_loc: (111,0)-(111,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (905...929))
+ │ │ @ ArgumentsNode (location: (111,4)-(111,28))
│ │ └── arguments: (length: 1)
- │ │ └── @ ClassNode (location: (905...929))
+ │ │ └── @ ClassNode (location: (111,4)-(111,28))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (905...910) = "class"
+ │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (911...914))
+ │ │ │ @ ConstantReadNode (location: (111,10)-(111,13))
│ │ │ └── name: :Bar
│ │ ├── inheritance_operator_loc: ∅
│ │ ├── superclass: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (915...925))
+ │ │ │ @ StatementsNode (location: (111,14)-(111,24))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (915...925))
+ │ │ │ └── @ CallNode (location: (111,14)-(111,24))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (915...918) = "baz"
+ │ │ │ ├── message_loc: (111,14)-(111,17) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (919...925))
+ │ │ │ │ @ BlockNode (location: (111,18)-(111,24))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (919...921) = "do"
- │ │ │ │ └── closing_loc: (922...925) = "end"
+ │ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do"
+ │ │ │ │ └── closing_loc: (111,21)-(111,24) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
- │ │ ├── end_keyword_loc: (926...929) = "end"
+ │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end"
│ │ └── name: :Bar
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (931...960))
+ ├── @ CallNode (location: (113,0)-(113,29))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (931...934) = "foo"
+ │ ├── message_loc: (113,0)-(113,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (935...960))
+ │ │ @ ArgumentsNode (location: (113,4)-(113,29))
│ │ └── arguments: (length: 1)
- │ │ └── @ ModuleNode (location: (935...960))
+ │ │ └── @ ModuleNode (location: (113,4)-(113,29))
│ │ ├── locals: []
- │ │ ├── module_keyword_loc: (935...941) = "module"
+ │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (942...945))
+ │ │ │ @ ConstantReadNode (location: (113,11)-(113,14))
│ │ │ └── name: :Bar
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (946...956))
+ │ │ │ @ StatementsNode (location: (113,15)-(113,25))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (946...956))
+ │ │ │ └── @ CallNode (location: (113,15)-(113,25))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (946...949) = "baz"
+ │ │ │ ├── message_loc: (113,15)-(113,18) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (950...956))
+ │ │ │ │ @ BlockNode (location: (113,19)-(113,25))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (950...952) = "do"
- │ │ │ │ └── closing_loc: (953...956) = "end"
+ │ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do"
+ │ │ │ │ └── closing_loc: (113,22)-(113,25) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
- │ │ ├── end_keyword_loc: (957...960) = "end"
+ │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end"
│ │ └── name: :Bar
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (962...978))
+ ├── @ CallNode (location: (115,0)-(115,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (962...965) = "foo"
+ │ ├── message_loc: (115,0)-(115,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (966...978))
+ │ │ @ ArgumentsNode (location: (115,4)-(115,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (966...978))
+ │ │ └── @ ArrayNode (location: (115,4)-(115,16))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ CallNode (location: (967...977))
+ │ │ │ └── @ CallNode (location: (115,5)-(115,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (967...970) = "baz"
+ │ │ │ ├── message_loc: (115,5)-(115,8) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (971...977))
+ │ │ │ │ @ BlockNode (location: (115,9)-(115,15))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (971...973) = "do"
- │ │ │ │ └── closing_loc: (974...977) = "end"
+ │ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do"
+ │ │ │ │ └── closing_loc: (115,12)-(115,15) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (966...967) = "["
- │ │ └── closing_loc: (977...978) = "]"
+ │ │ ├── opening_loc: (115,4)-(115,5) = "["
+ │ │ └── closing_loc: (115,15)-(115,16) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (980...1008))
+ ├── @ CallNode (location: (117,0)-(117,28))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (980...981) = "p"
+ │ ├── message_loc: (117,0)-(117,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (982...1008))
+ │ │ @ ArgumentsNode (location: (117,2)-(117,28))
│ │ └── arguments: (length: 1)
- │ │ └── @ BeginNode (location: (982...1008))
- │ │ ├── begin_keyword_loc: (982...987) = "begin"
+ │ │ └── @ BeginNode (location: (117,2)-(117,28))
+ │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (988...1004))
+ │ │ │ @ StatementsNode (location: (117,8)-(117,24))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (988...1004))
+ │ │ │ └── @ CallNode (location: (117,8)-(117,24))
│ │ │ ├── receiver:
- │ │ │ │ @ IntegerNode (location: (988...989))
+ │ │ │ │ @ IntegerNode (location: (117,8)-(117,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── call_operator_loc: (989...990) = "."
- │ │ │ ├── message_loc: (990...995) = "times"
+ │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "."
+ │ │ │ ├── message_loc: (117,10)-(117,15) = "times"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (996...1004))
+ │ │ │ │ @ BlockNode (location: (117,16)-(117,24))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (999...1000))
+ │ │ │ │ │ @ StatementsNode (location: (117,19)-(117,20))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (999...1000))
+ │ │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (996...998) = "do"
- │ │ │ │ └── closing_loc: (1001...1004) = "end"
+ │ │ │ │ ├── opening_loc: (117,16)-(117,18) = "do"
+ │ │ │ │ └── closing_loc: (117,21)-(117,24) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "times"
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (1005...1008) = "end"
+ │ │ └── end_keyword_loc: (117,25)-(117,28) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (1010...1061))
+ ├── @ CallNode (location: (119,0)-(124,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1010...1013) = "foo"
+ │ ├── message_loc: (119,0)-(119,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1014...1061))
+ │ │ @ ArgumentsNode (location: (119,4)-(124,5))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (1014...1016))
- │ │ │ ├── opening_loc: (1014...1015) = ":"
- │ │ │ ├── value_loc: (1015...1016) = "a"
+ │ │ ├── @ 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: (1020...1061))
- │ │ ├── if_keyword_loc: (1020...1022) = "if"
+ │ │ └── @ IfNode (location: (120,2)-(124,5))
+ │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (1023...1024))
+ │ │ │ @ CallNode (location: (120,5)-(120,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1023...1024) = "x"
+ │ │ │ ├── message_loc: (120,5)-(120,6) = "x"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1794,24 +1794,24 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "x"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (1029...1055))
+ │ │ │ @ StatementsNode (location: (121,4)-(123,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1029...1055))
+ │ │ │ └── @ CallNode (location: (121,4)-(123,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1029...1032) = "bar"
+ │ │ │ ├── message_loc: (121,4)-(121,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1033...1055))
+ │ │ │ │ @ BlockNode (location: (121,8)-(123,7))
│ │ │ │ ├── locals: [:a]
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (1036...1039))
+ │ │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14))
│ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (1037...1038))
+ │ │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13))
│ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1037...1038))
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13))
│ │ │ │ │ │ │ └── name: :a
│ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ ├── rest: ∅
@@ -1820,45 +1820,45 @@
│ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (1036...1037) = "|"
- │ │ │ │ │ └── closing_loc: (1038...1039) = "|"
+ │ │ │ │ │ ├── opening_loc: (121,11)-(121,12) = "|"
+ │ │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|"
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1046...1047))
+ │ │ │ │ │ @ StatementsNode (location: (122,6)-(122,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (1046...1047))
+ │ │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
- │ │ │ │ ├── opening_loc: (1033...1035) = "do"
- │ │ │ │ └── closing_loc: (1052...1055) = "end"
+ │ │ │ │ ├── opening_loc: (121,8)-(121,10) = "do"
+ │ │ │ │ └── closing_loc: (123,4)-(123,7) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
│ │ ├── consequent: ∅
- │ │ └── end_keyword_loc: (1058...1061) = "end"
+ │ │ └── end_keyword_loc: (124,2)-(124,5) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (1063...1153))
+ ├── @ CallNode (location: (126,0)-(135,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1063...1066) = "foo"
+ │ ├── message_loc: (126,0)-(126,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1067...1153))
+ │ │ @ ArgumentsNode (location: (126,4)-(135,5))
│ │ └── arguments: (length: 3)
- │ │ ├── @ SymbolNode (location: (1067...1069))
- │ │ │ ├── opening_loc: (1067...1068) = ":"
- │ │ │ ├── value_loc: (1068...1069) = "a"
+ │ │ ├── @ 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: (1073...1117))
- │ │ │ ├── keyword_loc: (1073...1078) = "while"
- │ │ │ ├── closing_loc: (1114...1117) = "end"
+ │ │ ├── @ WhileNode (location: (127,2)-(131,5))
+ │ │ │ ├── keyword_loc: (127,2)-(127,7) = "while"
+ │ │ │ ├── closing_loc: (131,2)-(131,5) = "end"
│ │ │ ├── predicate:
- │ │ │ │ @ CallNode (location: (1079...1080))
+ │ │ │ │ @ CallNode (location: (127,8)-(127,9))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (1079...1080) = "x"
+ │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1866,24 +1866,24 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "x"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (1085...1111))
+ │ │ │ │ @ StatementsNode (location: (128,4)-(130,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (1085...1111))
+ │ │ │ │ └── @ CallNode (location: (128,4)-(130,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (1085...1088) = "bar"
+ │ │ │ │ ├── message_loc: (128,4)-(128,7) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (1089...1111))
+ │ │ │ │ │ @ BlockNode (location: (128,8)-(130,7))
│ │ │ │ │ ├── locals: [:a]
│ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ BlockParametersNode (location: (1092...1095))
+ │ │ │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14))
│ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ @ ParametersNode (location: (1093...1094))
+ │ │ │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13))
│ │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1093...1094))
+ │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13))
│ │ │ │ │ │ │ │ └── name: :a
│ │ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ │ ├── rest: ∅
@@ -1892,27 +1892,27 @@
│ │ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ │ ├── opening_loc: (1092...1093) = "|"
- │ │ │ │ │ │ └── closing_loc: (1094...1095) = "|"
+ │ │ │ │ │ │ ├── opening_loc: (128,11)-(128,12) = "|"
+ │ │ │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|"
│ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (1102...1103))
+ │ │ │ │ │ │ @ StatementsNode (location: (129,6)-(129,7))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (1102...1103))
+ │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7))
│ │ │ │ │ │ ├── name: :a
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ ├── opening_loc: (1089...1091) = "do"
- │ │ │ │ │ └── closing_loc: (1108...1111) = "end"
+ │ │ │ │ │ ├── opening_loc: (128,8)-(128,10) = "do"
+ │ │ │ │ │ └── closing_loc: (130,4)-(130,7) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "bar"
│ │ │ └── flags: ∅
- │ │ └── @ UntilNode (location: (1121...1153))
- │ │ ├── keyword_loc: (1121...1126) = "until"
- │ │ ├── closing_loc: (1150...1153) = "end"
+ │ │ └── @ UntilNode (location: (132,2)-(135,5))
+ │ │ ├── keyword_loc: (132,2)-(132,7) = "until"
+ │ │ ├── closing_loc: (135,2)-(135,5) = "end"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (1127...1128))
+ │ │ │ @ CallNode (location: (132,8)-(132,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1127...1128) = "x"
+ │ │ │ ├── message_loc: (132,8)-(132,9) = "x"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1920,22 +1920,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "x"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (1133...1147))
+ │ │ │ @ StatementsNode (location: (133,4)-(134,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1133...1147))
+ │ │ │ └── @ CallNode (location: (133,4)-(134,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1133...1136) = "baz"
+ │ │ │ ├── message_loc: (133,4)-(133,7) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1137...1147))
+ │ │ │ │ @ BlockNode (location: (133,8)-(134,7))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1137...1139) = "do"
- │ │ │ │ └── closing_loc: (1144...1147) = "end"
+ │ │ │ │ ├── opening_loc: (133,8)-(133,10) = "do"
+ │ │ │ │ └── closing_loc: (134,4)-(134,7) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
│ │ └── flags: ∅
@@ -1943,66 +1943,66 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (1155...1164))
+ ├── @ CallNode (location: (137,0)-(137,9))
│ ├── receiver:
- │ │ @ HashNode (location: (1155...1157))
- │ │ ├── opening_loc: (1155...1156) = "{"
+ │ │ @ HashNode (location: (137,0)-(137,2))
+ │ │ ├── opening_loc: (137,0)-(137,1) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (1156...1157) = "}"
+ │ │ └── closing_loc: (137,1)-(137,2) = "}"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1158...1159) = "+"
+ │ ├── message_loc: (137,3)-(137,4) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1160...1164))
+ │ │ @ ArgumentsNode (location: (137,5)-(137,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1160...1164))
+ │ │ └── @ CallNode (location: (137,5)-(137,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1160...1161) = "A"
+ │ │ ├── message_loc: (137,5)-(137,6) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (1162...1164))
+ │ │ │ @ BlockNode (location: (137,7)-(137,9))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1162...1163) = "{"
- │ │ │ └── closing_loc: (1163...1164) = "}"
+ │ │ │ ├── opening_loc: (137,7)-(137,8) = "{"
+ │ │ │ └── closing_loc: (137,8)-(137,9) = "}"
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (1166...1182))
+ ├── @ CallNode (location: (139,0)-(139,16))
│ ├── receiver:
- │ │ @ HashNode (location: (1166...1168))
- │ │ ├── opening_loc: (1166...1167) = "{"
+ │ │ @ HashNode (location: (139,0)-(139,2))
+ │ │ ├── opening_loc: (139,0)-(139,1) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (1167...1168) = "}"
+ │ │ └── closing_loc: (139,1)-(139,2) = "}"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1169...1170) = "+"
+ │ ├── message_loc: (139,3)-(139,4) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1171...1182))
+ │ │ @ ArgumentsNode (location: (139,5)-(139,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1171...1182))
+ │ │ └── @ CallNode (location: (139,5)-(139,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1171...1172) = "A"
+ │ │ ├── message_loc: (139,5)-(139,6) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (1173...1182))
+ │ │ │ @ BlockNode (location: (139,7)-(139,16))
│ │ │ ├── locals: [:a]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (1175...1178))
+ │ │ │ │ @ BlockParametersNode (location: (139,9)-(139,12))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (1176...1177))
+ │ │ │ │ │ @ ParametersNode (location: (139,10)-(139,11))
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1176...1177))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11))
│ │ │ │ │ │ └── name: :a
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
@@ -2011,72 +2011,72 @@
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (1175...1176) = "|"
- │ │ │ │ └── closing_loc: (1177...1178) = "|"
+ │ │ │ │ ├── opening_loc: (139,9)-(139,10) = "|"
+ │ │ │ │ └── closing_loc: (139,11)-(139,12) = "|"
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1179...1180))
+ │ │ │ │ @ StatementsNode (location: (139,13)-(139,14))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (1179...1180))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ ├── opening_loc: (1173...1174) = "{"
- │ │ │ └── closing_loc: (1181...1182) = "}"
+ │ │ │ ├── opening_loc: (139,7)-(139,8) = "{"
+ │ │ │ └── closing_loc: (139,15)-(139,16) = "}"
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (1184...1195))
+ ├── @ CallNode (location: (141,0)-(141,11))
│ ├── receiver:
- │ │ @ CallNode (location: (1184...1188))
+ │ │ @ CallNode (location: (141,0)-(141,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1184...1185) = "A"
+ │ │ ├── message_loc: (141,0)-(141,1) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (1186...1188))
+ │ │ │ @ BlockNode (location: (141,2)-(141,4))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1186...1187) = "{"
- │ │ │ └── closing_loc: (1187...1188) = "}"
+ │ │ │ ├── opening_loc: (141,2)-(141,3) = "{"
+ │ │ │ └── closing_loc: (141,3)-(141,4) = "}"
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1189...1190) = "+"
+ │ ├── message_loc: (141,5)-(141,6) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1191...1195))
+ │ │ @ ArgumentsNode (location: (141,7)-(141,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1191...1195))
+ │ │ └── @ CallNode (location: (141,7)-(141,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1191...1192) = "A"
+ │ │ ├── message_loc: (141,7)-(141,8) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (1193...1195))
+ │ │ │ @ BlockNode (location: (141,9)-(141,11))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1193...1194) = "{"
- │ │ │ └── closing_loc: (1194...1195) = "}"
+ │ │ │ ├── opening_loc: (141,9)-(141,10) = "{"
+ │ │ │ └── closing_loc: (141,10)-(141,11) = "}"
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (1197...1208))
+ ├── @ CallNode (location: (143,0)-(143,11))
│ ├── receiver:
- │ │ @ CallNode (location: (1197...1200))
+ │ │ @ CallNode (location: (143,0)-(143,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1197...1200) = "lst"
+ │ │ ├── message_loc: (143,0)-(143,3) = "lst"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2084,88 +2084,88 @@
│ │ ├── flags: variable_call
│ │ └── name: "lst"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1201...1203) = "<<"
+ │ ├── message_loc: (143,4)-(143,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (1204...1208))
+ │ │ @ ArgumentsNode (location: (143,7)-(143,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (1204...1208))
+ │ │ └── @ CallNode (location: (143,7)-(143,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1204...1205) = "A"
+ │ │ ├── message_loc: (143,7)-(143,8) = "A"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (1206...1208))
+ │ │ │ @ BlockNode (location: (143,9)-(143,11))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (1206...1207) = "{"
- │ │ │ └── closing_loc: (1207...1208) = "}"
+ │ │ │ ├── opening_loc: (143,9)-(143,10) = "{"
+ │ │ │ └── closing_loc: (143,10)-(143,11) = "}"
│ │ ├── flags: ∅
│ │ └── name: "A"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ InterpolatedStringNode (location: (1210...1227))
- │ ├── opening_loc: (1210...1211) = "\""
+ ├── @ InterpolatedStringNode (location: (145,0)-(145,17))
+ │ ├── opening_loc: (145,0)-(145,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (1211...1226))
- │ │ ├── opening_loc: (1211...1213) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (145,1)-(145,16))
+ │ │ ├── opening_loc: (145,1)-(145,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (1214...1224))
+ │ │ │ @ StatementsNode (location: (145,4)-(145,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1214...1224))
+ │ │ │ └── @ CallNode (location: (145,4)-(145,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1214...1218) = "join"
+ │ │ │ ├── message_loc: (145,4)-(145,8) = "join"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (1219...1224))
+ │ │ │ │ @ ArgumentsNode (location: (145,9)-(145,14))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ ParenthesesNode (location: (1219...1224))
+ │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (1220...1223))
+ │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (1220...1223))
+ │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (1220...1221) = "\""
- │ │ │ │ │ ├── content_loc: (1221...1222) = " "
- │ │ │ │ │ ├── closing_loc: (1222...1223) = "\""
+ │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\""
+ │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " "
+ │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\""
│ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── opening_loc: (1219...1220) = "("
- │ │ │ │ └── closing_loc: (1223...1224) = ")"
+ │ │ │ │ ├── opening_loc: (145,9)-(145,10) = "("
+ │ │ │ │ └── closing_loc: (145,13)-(145,14) = ")"
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "join"
- │ │ └── closing_loc: (1225...1226) = "}"
- │ └── closing_loc: (1226...1227) = "\""
- └── @ InterpolatedStringNode (location: (1229...1237))
- ├── opening_loc: (1229...1230) = "\""
+ │ │ └── closing_loc: (145,15)-(145,16) = "}"
+ │ └── closing_loc: (145,16)-(145,17) = "\""
+ └── @ InterpolatedStringNode (location: (147,0)-(147,8))
+ ├── opening_loc: (147,0)-(147,1) = "\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (1230...1236))
- │ ├── opening_loc: (1230...1232) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (147,1)-(147,7))
+ │ ├── opening_loc: (147,1)-(147,3) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (1232...1235))
+ │ │ @ StatementsNode (location: (147,3)-(147,6))
│ │ └── body: (length: 1)
- │ │ └── @ ParenthesesNode (location: (1232...1235))
+ │ │ └── @ ParenthesesNode (location: (147,3)-(147,6))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (1233...1234))
+ │ │ │ @ StatementsNode (location: (147,4)-(147,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (1233...1234))
+ │ │ │ └── @ CallNode (location: (147,4)-(147,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1233...1234) = "v"
+ │ │ │ ├── message_loc: (147,4)-(147,5) = "v"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "v"
- │ │ ├── opening_loc: (1232...1233) = "("
- │ │ └── closing_loc: (1234...1235) = ")"
- │ └── closing_loc: (1235...1236) = "}"
- └── closing_loc: (1236...1237) = "\""
+ │ │ ├── opening_loc: (147,3)-(147,4) = "("
+ │ │ └── closing_loc: (147,5)-(147,6) = ")"
+ │ └── closing_loc: (147,6)-(147,7) = "}"
+ └── closing_loc: (147,7)-(147,8) = "\""
diff --git a/test/yarp/snapshots/methods.txt b/test/yarp/snapshots/methods.txt
index c4fbc0fa49..7e8091b4d5 100644
--- a/test/yarp/snapshots/methods.txt
+++ b/test/yarp/snapshots/methods.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...1220))
+@ ProgramNode (location: (1,0)-(168,16))
├── locals: [:a, :c, :foo]
└── statements:
- @ StatementsNode (location: (0...1220))
+ @ StatementsNode (location: (1,0)-(168,16))
└── body: (length: 62)
- ├── @ DefNode (location: (0...23))
+ ├── @ DefNode (location: (1,0)-(2,3))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (8...18))
+ │ │ @ ParametersNode (location: (1,8)-(1,18))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...18))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,18))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (9...12))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,12))
│ │ │ │ │ └── name: :bar
- │ │ │ │ └── @ RequiredParameterNode (location: (14...17))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17))
│ │ │ │ └── name: :baz
- │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ └── closing_loc: (17...18) = ")"
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ └── closing_loc: (1,17)-(1,18) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -26,193 +26,193 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (18...19) = ")"
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,18)-(1,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (20...23) = "end"
- ├── @ DefNode (location: (25...74))
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ ├── @ DefNode (location: (4,0)-(5,3))
│ ├── name: :foo
- │ ├── name_loc: (29...32) = "foo"
+ │ ├── name_loc: (4,4)-(4,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (33...69))
+ │ │ @ ParametersNode (location: (4,8)-(4,44))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (33...43))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (4,8)-(4,18))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (34...37))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (4,9)-(4,12))
│ │ │ │ │ └── name: :bar
- │ │ │ │ └── @ RequiredParameterNode (location: (39...42))
+ │ │ │ │ └── @ RequiredParameterNode (location: (4,14)-(4,17))
│ │ │ │ └── name: :baz
- │ │ │ ├── opening_loc: (33...34) = "("
- │ │ │ └── closing_loc: (42...43) = ")"
+ │ │ │ ├── opening_loc: (4,8)-(4,9) = "("
+ │ │ │ └── closing_loc: (4,17)-(4,18) = ")"
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (45...57))
+ │ │ │ └── @ OptionalParameterNode (location: (4,20)-(4,32))
│ │ │ ├── name: :optional
- │ │ │ ├── name_loc: (45...53) = "optional"
- │ │ │ ├── operator_loc: (54...55) = "="
+ │ │ │ ├── name_loc: (4,20)-(4,28) = "optional"
+ │ │ │ ├── operator_loc: (4,29)-(4,30) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (56...57))
+ │ │ │ @ IntegerNode (location: (4,31)-(4,32))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (59...69))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (4,34)-(4,44))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (60...63))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (4,35)-(4,38))
│ │ │ │ │ └── name: :bin
- │ │ │ │ └── @ RequiredParameterNode (location: (65...68))
+ │ │ │ │ └── @ RequiredParameterNode (location: (4,40)-(4,43))
│ │ │ │ └── name: :bag
- │ │ │ ├── opening_loc: (59...60) = "("
- │ │ │ └── closing_loc: (68...69) = ")"
+ │ │ │ ├── opening_loc: (4,34)-(4,35) = "("
+ │ │ │ └── closing_loc: (4,43)-(4,44) = ")"
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz, :optional, :bin, :bag]
- │ ├── def_keyword_loc: (25...28) = "def"
+ │ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (32...33) = "("
- │ ├── rparen_loc: (69...70) = ")"
+ │ ├── lparen_loc: (4,7)-(4,8) = "("
+ │ ├── rparen_loc: (4,44)-(4,45) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (71...74) = "end"
- ├── @ DefNode (location: (77...95))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ DefNode (location: (8,0)-(8,18))
│ ├── name: :a
- │ ├── name_loc: (81...82) = "a"
+ │ ├── name_loc: (8,4)-(8,5) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (84...95))
+ │ │ @ BeginNode (location: (8,7)-(8,18))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (84...95))
- │ │ │ ├── ensure_keyword_loc: (84...90) = "ensure"
+ │ │ │ @ EnsureNode (location: (8,7)-(8,18))
+ │ │ │ ├── ensure_keyword_loc: (8,7)-(8,13) = "ensure"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (92...95) = "end"
- │ │ └── end_keyword_loc: (92...95) = "end"
+ │ │ │ └── end_keyword_loc: (8,15)-(8,18) = "end"
+ │ │ └── end_keyword_loc: (8,15)-(8,18) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (77...80) = "def"
+ │ ├── def_keyword_loc: (8,0)-(8,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (92...95) = "end"
- ├── @ DefNode (location: (97...110))
+ │ └── end_keyword_loc: (8,15)-(8,18) = "end"
+ ├── @ DefNode (location: (10,0)-(11,3))
│ ├── name: :a
- │ ├── name_loc: (105...106) = "a"
+ │ ├── name_loc: (10,8)-(10,9) = "a"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (101...104))
+ │ │ @ ParenthesesNode (location: (10,4)-(10,7))
│ │ ├── body:
- │ │ │ @ CallNode (location: (102...103))
+ │ │ │ @ CallNode (location: (10,5)-(10,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (102...103) = "b"
+ │ │ │ ├── message_loc: (10,5)-(10,6) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── opening_loc: (101...102) = "("
- │ │ └── closing_loc: (103...104) = ")"
+ │ │ ├── opening_loc: (10,4)-(10,5) = "("
+ │ │ └── closing_loc: (10,6)-(10,7) = ")"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (97...100) = "def"
- │ ├── operator_loc: (104...105) = "."
+ │ ├── def_keyword_loc: (10,0)-(10,3) = "def"
+ │ ├── operator_loc: (10,7)-(10,8) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (107...110) = "end"
- ├── @ DefNode (location: (112...126))
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ DefNode (location: (13,0)-(14,3))
│ ├── name: :b
- │ ├── name_loc: (121...122) = "b"
+ │ ├── name_loc: (13,9)-(13,10) = "b"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (116...119))
+ │ │ @ ParenthesesNode (location: (13,4)-(13,7))
│ │ ├── body:
- │ │ │ @ CallNode (location: (117...118))
+ │ │ │ @ CallNode (location: (13,5)-(13,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (117...118) = "a"
+ │ │ │ ├── message_loc: (13,5)-(13,6) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── opening_loc: (116...117) = "("
- │ │ └── closing_loc: (118...119) = ")"
+ │ │ ├── opening_loc: (13,4)-(13,5) = "("
+ │ │ └── closing_loc: (13,6)-(13,7) = ")"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (112...115) = "def"
- │ ├── operator_loc: (119...121) = "::"
+ │ ├── def_keyword_loc: (13,0)-(13,3) = "def"
+ │ ├── operator_loc: (13,7)-(13,9) = "::"
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (123...126) = "end"
- ├── @ DefNode (location: (128...143))
+ │ └── end_keyword_loc: (14,0)-(14,3) = "end"
+ ├── @ DefNode (location: (16,0)-(17,3))
│ ├── name: :a
- │ ├── name_loc: (138...139) = "a"
+ │ ├── name_loc: (16,10)-(16,11) = "a"
│ ├── receiver:
- │ │ @ FalseNode (location: (132...137))
+ │ │ @ FalseNode (location: (16,4)-(16,9))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (128...131) = "def"
- │ ├── operator_loc: (137...138) = "."
+ │ ├── def_keyword_loc: (16,0)-(16,3) = "def"
+ │ ├── operator_loc: (16,9)-(16,10) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (140...143) = "end"
- ├── @ DefNode (location: (145...159))
+ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ ├── @ DefNode (location: (19,0)-(20,3))
│ ├── name: :a
- │ ├── name_loc: (149...150) = "a"
+ │ ├── name_loc: (19,4)-(19,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (151...154))
+ │ │ @ ParametersNode (location: (19,6)-(19,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (151...154))
+ │ │ │ @ ForwardingParameterNode (location: (19,6)-(19,9))
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (145...148) = "def"
+ │ ├── def_keyword_loc: (19,0)-(19,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (150...151) = "("
- │ ├── rparen_loc: (154...155) = ")"
+ │ ├── lparen_loc: (19,5)-(19,6) = "("
+ │ ├── rparen_loc: (19,9)-(19,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (156...159) = "end"
- ├── @ DefNode (location: (161...175))
+ │ └── end_keyword_loc: (20,0)-(20,3) = "end"
+ ├── @ DefNode (location: (22,0)-(23,3))
│ ├── name: :a
- │ ├── name_loc: (170...171) = "a"
+ │ ├── name_loc: (22,9)-(22,10) = "a"
│ ├── receiver:
- │ │ @ GlobalVariableReadNode (location: (165...169))
+ │ │ @ GlobalVariableReadNode (location: (22,4)-(22,8))
│ │ └── name: :$var
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (161...164) = "def"
- │ ├── operator_loc: (169...170) = "."
+ │ ├── def_keyword_loc: (22,0)-(22,3) = "def"
+ │ ├── operator_loc: (22,8)-(22,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (172...175) = "end"
- ├── @ DefNode (location: (177...188))
+ │ └── end_keyword_loc: (23,0)-(23,3) = "end"
+ ├── @ DefNode (location: (25,0)-(26,3))
│ ├── name: :b
- │ ├── name_loc: (183...184) = "b"
+ │ ├── name_loc: (25,6)-(25,7) = "b"
│ ├── receiver:
- │ │ @ CallNode (location: (181...182))
+ │ │ @ CallNode (location: (25,4)-(25,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (181...182) = "a"
+ │ │ ├── message_loc: (25,4)-(25,5) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -222,166 +222,166 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (177...180) = "def"
- │ ├── operator_loc: (182...183) = "."
+ │ ├── def_keyword_loc: (25,0)-(25,3) = "def"
+ │ ├── operator_loc: (25,5)-(25,6) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (185...188) = "end"
- ├── @ DefNode (location: (190...204))
+ │ └── end_keyword_loc: (26,0)-(26,3) = "end"
+ ├── @ DefNode (location: (28,0)-(29,3))
│ ├── name: :a
- │ ├── name_loc: (199...200) = "a"
+ │ ├── name_loc: (28,9)-(28,10) = "a"
│ ├── receiver:
- │ │ @ InstanceVariableReadNode (location: (194...198))
+ │ │ @ InstanceVariableReadNode (location: (28,4)-(28,8))
│ │ └── name: :@var
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (190...193) = "def"
- │ ├── operator_loc: (198...199) = "."
+ │ ├── def_keyword_loc: (28,0)-(28,3) = "def"
+ │ ├── operator_loc: (28,8)-(28,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (201...204) = "end"
- ├── @ DefNode (location: (206...219))
+ │ └── end_keyword_loc: (29,0)-(29,3) = "end"
+ ├── @ DefNode (location: (31,0)-(31,13))
│ ├── name: :a
- │ ├── name_loc: (210...211) = "a"
+ │ ├── name_loc: (31,4)-(31,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (212...214))
+ │ │ @ ParametersNode (location: (31,6)-(31,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (212...214))
+ │ │ │ └── @ KeywordParameterNode (location: (31,6)-(31,8))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (212...214) = "b:"
+ │ │ │ ├── name_loc: (31,6)-(31,8) = "b:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (206...209) = "def"
+ │ ├── def_keyword_loc: (31,0)-(31,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (216...219) = "end"
- ├── @ StringNode (location: (221...227))
+ │ └── end_keyword_loc: (31,10)-(31,13) = "end"
+ ├── @ StringNode (location: (33,0)-(33,6))
│ ├── flags: ∅
- │ ├── opening_loc: (221...223) = "%,"
- │ ├── content_loc: (223...226) = "abc"
- │ ├── closing_loc: (226...227) = ","
+ │ ├── opening_loc: (33,0)-(33,2) = "%,"
+ │ ├── content_loc: (33,2)-(33,5) = "abc"
+ │ ├── closing_loc: (33,5)-(33,6) = ","
│ └── unescaped: "abc"
- ├── @ DefNode (location: (229...242))
+ ├── @ DefNode (location: (35,0)-(36,3))
│ ├── name: :a
- │ ├── name_loc: (233...234) = "a"
+ │ ├── name_loc: (35,4)-(35,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (235...237))
+ │ │ @ ParametersNode (location: (35,6)-(35,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (235...237))
+ │ │ │ └── @ KeywordParameterNode (location: (35,6)-(35,8))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (235...237) = "b:"
+ │ │ │ ├── name_loc: (35,6)-(35,8) = "b:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (229...232) = "def"
+ │ ├── def_keyword_loc: (35,0)-(35,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (234...235) = "("
- │ ├── rparen_loc: (237...238) = ")"
+ │ ├── lparen_loc: (35,5)-(35,6) = "("
+ │ ├── rparen_loc: (35,8)-(35,9) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (239...242) = "end"
- ├── @ DefNode (location: (244...258))
+ │ └── end_keyword_loc: (36,0)-(36,3) = "end"
+ ├── @ DefNode (location: (38,0)-(39,3))
│ ├── name: :a
- │ ├── name_loc: (248...249) = "a"
+ │ ├── name_loc: (38,4)-(38,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (250...253))
+ │ │ @ ParametersNode (location: (38,6)-(38,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (250...253))
+ │ │ │ @ KeywordRestParameterNode (location: (38,6)-(38,9))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (252...253) = "b"
- │ │ │ └── operator_loc: (250...252) = "**"
+ │ │ │ ├── name_loc: (38,8)-(38,9) = "b"
+ │ │ │ └── operator_loc: (38,6)-(38,8) = "**"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (244...247) = "def"
+ │ ├── def_keyword_loc: (38,0)-(38,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (249...250) = "("
- │ ├── rparen_loc: (253...254) = ")"
+ │ ├── lparen_loc: (38,5)-(38,6) = "("
+ │ ├── rparen_loc: (38,9)-(38,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (255...258) = "end"
- ├── @ DefNode (location: (260...273))
+ │ └── end_keyword_loc: (39,0)-(39,3) = "end"
+ ├── @ DefNode (location: (41,0)-(42,3))
│ ├── name: :a
- │ ├── name_loc: (264...265) = "a"
+ │ ├── name_loc: (41,4)-(41,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (266...268))
+ │ │ @ ParametersNode (location: (41,6)-(41,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (266...268))
+ │ │ │ @ KeywordRestParameterNode (location: (41,6)-(41,8))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (266...268) = "**"
+ │ │ │ └── operator_loc: (41,6)-(41,8) = "**"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:**]
- │ ├── def_keyword_loc: (260...263) = "def"
+ │ ├── def_keyword_loc: (41,0)-(41,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (265...266) = "("
- │ ├── rparen_loc: (268...269) = ")"
+ │ ├── lparen_loc: (41,5)-(41,6) = "("
+ │ ├── rparen_loc: (41,8)-(41,9) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (270...273) = "end"
- ├── @ LocalVariableWriteNode (location: (275...280))
+ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
+ ├── @ LocalVariableWriteNode (location: (44,0)-(44,5))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (275...276) = "a"
+ │ ├── name_loc: (44,0)-(44,1) = "a"
│ ├── value:
- │ │ @ IntegerNode (location: (279...280))
+ │ │ @ IntegerNode (location: (44,4)-(44,5))
│ │ └── flags: decimal
- │ └── operator_loc: (277...278) = "="
- ├── @ DefNode (location: (282...291))
+ │ └── operator_loc: (44,2)-(44,3) = "="
+ ├── @ DefNode (location: (44,7)-(45,3))
│ ├── name: :a
- │ ├── name_loc: (286...287) = "a"
+ │ ├── name_loc: (44,11)-(44,12) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (282...285) = "def"
+ │ ├── def_keyword_loc: (44,7)-(44,10) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (288...291) = "end"
- ├── @ DefNode (location: (293...310))
+ │ └── end_keyword_loc: (45,0)-(45,3) = "end"
+ ├── @ DefNode (location: (47,0)-(48,3))
│ ├── name: :a
- │ ├── name_loc: (297...298) = "a"
+ │ ├── name_loc: (47,4)-(47,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (299...306))
+ │ │ @ ParametersNode (location: (47,6)-(47,13))
│ │ ├── requireds: (length: 3)
- │ │ │ ├── @ RequiredParameterNode (location: (299...300))
+ │ │ │ ├── @ RequiredParameterNode (location: (47,6)-(47,7))
│ │ │ │ └── name: :b
- │ │ │ ├── @ RequiredParameterNode (location: (302...303))
+ │ │ │ ├── @ RequiredParameterNode (location: (47,9)-(47,10))
│ │ │ │ └── name: :c
- │ │ │ └── @ RequiredParameterNode (location: (305...306))
+ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13))
│ │ │ └── name: :d
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -391,146 +391,146 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c, :d]
- │ ├── def_keyword_loc: (293...296) = "def"
+ │ ├── def_keyword_loc: (47,0)-(47,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (307...310) = "end"
- ├── @ DefNode (location: (312...325))
+ │ └── end_keyword_loc: (48,0)-(48,3) = "end"
+ ├── @ DefNode (location: (50,0)-(51,3))
│ ├── name: :a
- │ ├── name_loc: (320...321) = "a"
+ │ ├── name_loc: (50,8)-(50,9) = "a"
│ ├── receiver:
- │ │ @ NilNode (location: (316...319))
+ │ │ @ NilNode (location: (50,4)-(50,7))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (312...315) = "def"
- │ ├── operator_loc: (319...320) = "."
+ │ ├── def_keyword_loc: (50,0)-(50,3) = "def"
+ │ ├── operator_loc: (50,7)-(50,8) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (322...325) = "end"
- ├── @ DefNode (location: (327...345))
+ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ ├── @ DefNode (location: (53,0)-(54,3))
│ ├── name: :a
- │ ├── name_loc: (331...332) = "a"
+ │ ├── name_loc: (53,4)-(53,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (333...341))
+ │ │ @ ParametersNode (location: (53,6)-(53,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (333...335))
+ │ │ │ ├── @ KeywordParameterNode (location: (53,6)-(53,8))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (333...335) = "b:"
+ │ │ │ │ ├── name_loc: (53,6)-(53,8) = "b:"
│ │ │ │ └── value: ∅
- │ │ │ └── @ KeywordParameterNode (location: (337...341))
+ │ │ │ └── @ KeywordParameterNode (location: (53,10)-(53,14))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (337...339) = "c:"
+ │ │ │ ├── name_loc: (53,10)-(53,12) = "c:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (340...341))
+ │ │ │ @ IntegerNode (location: (53,13)-(53,14))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
- │ ├── def_keyword_loc: (327...330) = "def"
+ │ ├── def_keyword_loc: (53,0)-(53,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (342...345) = "end"
- ├── @ DefNode (location: (347...366))
+ │ └── end_keyword_loc: (54,0)-(54,3) = "end"
+ ├── @ DefNode (location: (56,0)-(57,3))
│ ├── name: :a
- │ ├── name_loc: (351...352) = "a"
+ │ ├── name_loc: (56,4)-(56,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (353...361))
+ │ │ @ ParametersNode (location: (56,6)-(56,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (353...355))
+ │ │ │ ├── @ KeywordParameterNode (location: (56,6)-(56,8))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (353...355) = "b:"
+ │ │ │ │ ├── name_loc: (56,6)-(56,8) = "b:"
│ │ │ │ └── value: ∅
- │ │ │ └── @ KeywordParameterNode (location: (357...361))
+ │ │ │ └── @ KeywordParameterNode (location: (56,10)-(56,14))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (357...359) = "c:"
+ │ │ │ ├── name_loc: (56,10)-(56,12) = "c:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (360...361))
+ │ │ │ @ IntegerNode (location: (56,13)-(56,14))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
- │ ├── def_keyword_loc: (347...350) = "def"
+ │ ├── def_keyword_loc: (56,0)-(56,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (352...353) = "("
- │ ├── rparen_loc: (361...362) = ")"
+ │ ├── lparen_loc: (56,5)-(56,6) = "("
+ │ ├── rparen_loc: (56,14)-(56,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (363...366) = "end"
- ├── @ DefNode (location: (368...389))
+ │ └── end_keyword_loc: (57,0)-(57,3) = "end"
+ ├── @ DefNode (location: (59,0)-(61,3))
│ ├── name: :a
- │ ├── name_loc: (372...373) = "a"
+ │ ├── name_loc: (59,4)-(59,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (374...384))
+ │ │ @ ParametersNode (location: (59,6)-(60,7))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (374...380))
+ │ │ │ ├── @ KeywordParameterNode (location: (59,6)-(60,3))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (374...376) = "b:"
+ │ │ │ │ ├── name_loc: (59,6)-(59,8) = "b:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (379...380))
+ │ │ │ │ @ IntegerNode (location: (60,2)-(60,3))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ KeywordParameterNode (location: (382...384))
+ │ │ │ └── @ KeywordParameterNode (location: (60,5)-(60,7))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (382...384) = "c:"
+ │ │ │ ├── name_loc: (60,5)-(60,7) = "c:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
- │ ├── def_keyword_loc: (368...371) = "def"
+ │ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (373...374) = "("
- │ ├── rparen_loc: (384...385) = ")"
+ │ ├── lparen_loc: (59,5)-(59,6) = "("
+ │ ├── rparen_loc: (60,7)-(60,8) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (386...389) = "end"
- ├── @ StringNode (location: (391...397))
+ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
+ ├── @ StringNode (location: (63,0)-(63,6))
│ ├── flags: ∅
- │ ├── opening_loc: (391...393) = "%."
- │ ├── content_loc: (393...396) = "abc"
- │ ├── closing_loc: (396...397) = "."
+ │ ├── opening_loc: (63,0)-(63,2) = "%."
+ │ ├── content_loc: (63,2)-(63,5) = "abc"
+ │ ├── closing_loc: (63,5)-(63,6) = "."
│ └── unescaped: "abc"
- ├── @ DefNode (location: (399...421))
+ ├── @ DefNode (location: (65,0)-(66,3))
│ ├── name: :a
- │ ├── name_loc: (403...404) = "a"
+ │ ├── name_loc: (65,4)-(65,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (405...417))
+ │ │ @ ParametersNode (location: (65,6)-(65,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 2)
- │ │ │ ├── @ OptionalParameterNode (location: (405...410))
+ │ │ │ ├── @ OptionalParameterNode (location: (65,6)-(65,11))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (405...406) = "b"
- │ │ │ │ ├── operator_loc: (407...408) = "="
+ │ │ │ │ ├── name_loc: (65,6)-(65,7) = "b"
+ │ │ │ │ ├── operator_loc: (65,8)-(65,9) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (409...410))
+ │ │ │ │ @ IntegerNode (location: (65,10)-(65,11))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ OptionalParameterNode (location: (412...417))
+ │ │ │ └── @ OptionalParameterNode (location: (65,13)-(65,18))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (412...413) = "c"
- │ │ │ ├── operator_loc: (414...415) = "="
+ │ │ │ ├── name_loc: (65,13)-(65,14) = "c"
+ │ │ │ ├── operator_loc: (65,15)-(65,16) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (416...417))
+ │ │ │ @ IntegerNode (location: (65,17)-(65,18))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -539,41 +539,41 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
- │ ├── def_keyword_loc: (399...402) = "def"
+ │ ├── def_keyword_loc: (65,0)-(65,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (418...421) = "end"
- ├── @ DefNode (location: (423...434))
+ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ ├── @ DefNode (location: (68,0)-(69,3))
│ ├── name: :a
- │ ├── name_loc: (427...428) = "a"
+ │ ├── name_loc: (68,4)-(68,5) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (423...426) = "def"
+ │ ├── def_keyword_loc: (68,0)-(68,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (428...429) = "("
- │ ├── rparen_loc: (429...430) = ")"
+ │ ├── lparen_loc: (68,5)-(68,6) = "("
+ │ ├── rparen_loc: (68,6)-(68,7) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (431...434) = "end"
- ├── @ DefNode (location: (436...454))
+ │ └── end_keyword_loc: (69,0)-(69,3) = "end"
+ ├── @ DefNode (location: (71,0)-(72,3))
│ ├── name: :a
- │ ├── name_loc: (440...441) = "a"
+ │ ├── name_loc: (71,4)-(71,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (442...450))
+ │ │ @ ParametersNode (location: (71,6)-(71,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (442...443))
+ │ │ │ └── @ RequiredParameterNode (location: (71,6)-(71,7))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (445...450))
+ │ │ │ └── @ OptionalParameterNode (location: (71,9)-(71,14))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (445...446) = "c"
- │ │ │ ├── operator_loc: (447...448) = "="
+ │ │ │ ├── name_loc: (71,9)-(71,10) = "c"
+ │ │ │ ├── operator_loc: (71,11)-(71,12) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (449...450))
+ │ │ │ @ IntegerNode (location: (71,13)-(71,14))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -582,20 +582,20 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b, :c]
- │ ├── def_keyword_loc: (436...439) = "def"
+ │ ├── def_keyword_loc: (71,0)-(71,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (451...454) = "end"
- ├── @ DefNode (location: (456...467))
+ │ └── end_keyword_loc: (72,0)-(72,3) = "end"
+ ├── @ DefNode (location: (74,0)-(75,3))
│ ├── name: :a
- │ ├── name_loc: (460...461) = "a"
+ │ ├── name_loc: (74,4)-(74,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (462...463))
+ │ │ @ ParametersNode (location: (74,6)-(74,7))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (462...463))
+ │ │ │ └── @ RequiredParameterNode (location: (74,6)-(74,7))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -605,242 +605,242 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (456...459) = "def"
+ │ ├── def_keyword_loc: (74,0)-(74,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (464...467) = "end"
- ├── @ DefNode (location: (469...501))
+ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ ├── @ DefNode (location: (77,0)-(77,32))
│ ├── name: :a
- │ ├── name_loc: (473...474) = "a"
+ │ ├── name_loc: (77,4)-(77,5) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (476...501))
+ │ │ @ BeginNode (location: (77,7)-(77,32))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (476...482))
- │ │ │ ├── keyword_loc: (476...482) = "rescue"
+ │ │ │ @ RescueNode (location: (77,7)-(77,13))
+ │ │ │ ├── keyword_loc: (77,7)-(77,13) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements: ∅
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (484...496))
- │ │ │ ├── else_keyword_loc: (484...488) = "else"
+ │ │ │ @ ElseNode (location: (77,15)-(77,27))
+ │ │ │ ├── else_keyword_loc: (77,15)-(77,19) = "else"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (490...496) = "ensure"
+ │ │ │ └── end_keyword_loc: (77,21)-(77,27) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (490...501))
- │ │ │ ├── ensure_keyword_loc: (490...496) = "ensure"
+ │ │ │ @ EnsureNode (location: (77,21)-(77,32))
+ │ │ │ ├── ensure_keyword_loc: (77,21)-(77,27) = "ensure"
│ │ │ ├── statements: ∅
- │ │ │ └── end_keyword_loc: (498...501) = "end"
- │ │ └── end_keyword_loc: (498...501) = "end"
+ │ │ │ └── end_keyword_loc: (77,29)-(77,32) = "end"
+ │ │ └── end_keyword_loc: (77,29)-(77,32) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (469...472) = "def"
+ │ ├── def_keyword_loc: (77,0)-(77,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (498...501) = "end"
- ├── @ DefNode (location: (503...515))
+ │ └── end_keyword_loc: (77,29)-(77,32) = "end"
+ ├── @ DefNode (location: (79,0)-(80,3))
│ ├── name: :a
- │ ├── name_loc: (507...508) = "a"
+ │ ├── name_loc: (79,4)-(79,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (509...511))
+ │ │ @ ParametersNode (location: (79,6)-(79,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (509...511))
+ │ │ │ @ RestParameterNode (location: (79,6)-(79,8))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (510...511) = "b"
- │ │ │ └── operator_loc: (509...510) = "*"
+ │ │ │ ├── name_loc: (79,7)-(79,8) = "b"
+ │ │ │ └── operator_loc: (79,6)-(79,7) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (503...506) = "def"
+ │ ├── def_keyword_loc: (79,0)-(79,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (512...515) = "end"
- ├── @ DefNode (location: (517...529))
+ │ └── end_keyword_loc: (80,0)-(80,3) = "end"
+ ├── @ DefNode (location: (82,0)-(83,3))
│ ├── name: :a
- │ ├── name_loc: (521...522) = "a"
+ │ ├── name_loc: (82,4)-(82,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (523...524))
+ │ │ @ ParametersNode (location: (82,6)-(82,7))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (523...524))
+ │ │ │ @ RestParameterNode (location: (82,6)-(82,7))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (523...524) = "*"
+ │ │ │ └── operator_loc: (82,6)-(82,7) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:*]
- │ ├── def_keyword_loc: (517...520) = "def"
+ │ ├── def_keyword_loc: (82,0)-(82,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (522...523) = "("
- │ ├── rparen_loc: (524...525) = ")"
+ │ ├── lparen_loc: (82,5)-(82,6) = "("
+ │ ├── rparen_loc: (82,7)-(82,8) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (526...529) = "end"
- ├── @ DefNode (location: (531...546))
+ │ └── end_keyword_loc: (83,0)-(83,3) = "end"
+ ├── @ DefNode (location: (85,0)-(87,3))
│ ├── name: :a
- │ ├── name_loc: (535...536) = "a"
+ │ ├── name_loc: (85,4)-(85,5) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (537...542))
+ │ │ @ StatementsNode (location: (86,0)-(86,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (537...542))
+ │ │ └── @ LocalVariableWriteNode (location: (86,0)-(86,5))
│ │ ├── name: :b
│ │ ├── depth: 0
- │ │ ├── name_loc: (537...538) = "b"
+ │ │ ├── name_loc: (86,0)-(86,1) = "b"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (541...542))
+ │ │ │ @ IntegerNode (location: (86,4)-(86,5))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (539...540) = "="
+ │ │ └── operator_loc: (86,2)-(86,3) = "="
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (531...534) = "def"
+ │ ├── def_keyword_loc: (85,0)-(85,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (543...546) = "end"
- ├── @ DefNode (location: (548...562))
+ │ └── end_keyword_loc: (87,0)-(87,3) = "end"
+ ├── @ DefNode (location: (89,0)-(90,3))
│ ├── name: :a
- │ ├── name_loc: (557...558) = "a"
+ │ ├── name_loc: (89,9)-(89,10) = "a"
│ ├── receiver:
- │ │ @ SelfNode (location: (552...556))
+ │ │ @ SelfNode (location: (89,4)-(89,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (548...551) = "def"
- │ ├── operator_loc: (556...557) = "."
+ │ ├── def_keyword_loc: (89,0)-(89,3) = "def"
+ │ ├── operator_loc: (89,8)-(89,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (559...562) = "end"
- ├── @ DefNode (location: (564...578))
+ │ └── end_keyword_loc: (90,0)-(90,3) = "end"
+ ├── @ DefNode (location: (92,0)-(93,3))
│ ├── name: :a
- │ ├── name_loc: (573...574) = "a"
+ │ ├── name_loc: (92,9)-(92,10) = "a"
│ ├── receiver:
- │ │ @ TrueNode (location: (568...572))
+ │ │ @ TrueNode (location: (92,4)-(92,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (564...567) = "def"
- │ ├── operator_loc: (572...573) = "."
+ │ ├── def_keyword_loc: (92,0)-(92,3) = "def"
+ │ ├── operator_loc: (92,8)-(92,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (575...578) = "end"
- ├── @ DefNode (location: (580...589))
+ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ ├── @ DefNode (location: (95,0)-(96,3))
│ ├── name: :a
- │ ├── name_loc: (584...585) = "a"
+ │ ├── name_loc: (95,4)-(95,5) = "a"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (580...583) = "def"
+ │ ├── def_keyword_loc: (95,0)-(95,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (586...589) = "end"
- ├── @ DefNode (location: (591...625))
+ │ └── end_keyword_loc: (96,0)-(96,3) = "end"
+ ├── @ DefNode (location: (98,0)-(101,3))
│ ├── name: :hi
- │ ├── name_loc: (595...597) = "hi"
+ │ ├── name_loc: (98,4)-(98,6) = "hi"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (598...621))
+ │ │ @ StatementsNode (location: (99,0)-(100,4))
│ │ └── body: (length: 2)
- │ │ ├── @ IfNode (location: (598...616))
- │ │ │ ├── if_keyword_loc: (609...611) = "if"
+ │ │ ├── @ IfNode (location: (99,0)-(99,18))
+ │ │ │ ├── if_keyword_loc: (99,11)-(99,13) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (612...616))
+ │ │ │ │ @ TrueNode (location: (99,14)-(99,18))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (598...608))
+ │ │ │ │ @ StatementsNode (location: (99,0)-(99,10))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ReturnNode (location: (598...608))
- │ │ │ │ ├── keyword_loc: (598...604) = "return"
+ │ │ │ │ └── @ ReturnNode (location: (99,0)-(99,10))
+ │ │ │ │ ├── keyword_loc: (99,0)-(99,6) = "return"
│ │ │ │ └── arguments:
- │ │ │ │ @ ArgumentsNode (location: (605...608))
+ │ │ │ │ @ ArgumentsNode (location: (99,7)-(99,10))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (605...608))
- │ │ │ │ ├── opening_loc: (605...606) = ":"
- │ │ │ │ ├── value_loc: (606...608) = "hi"
+ │ │ │ │ └── @ 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: (617...621))
- │ │ ├── opening_loc: (617...618) = ":"
- │ │ ├── value_loc: (618...621) = "bye"
+ │ │ └── @ SymbolNode (location: (100,0)-(100,4))
+ │ │ ├── opening_loc: (100,0)-(100,1) = ":"
+ │ │ ├── value_loc: (100,1)-(100,4) = "bye"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bye"
│ ├── locals: []
- │ ├── def_keyword_loc: (591...594) = "def"
+ │ ├── def_keyword_loc: (98,0)-(98,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (622...625) = "end"
- ├── @ DefNode (location: (627...638))
+ │ └── end_keyword_loc: (101,0)-(101,3) = "end"
+ ├── @ DefNode (location: (103,0)-(103,11))
│ ├── name: :foo
- │ ├── name_loc: (631...634) = "foo"
+ │ ├── name_loc: (103,4)-(103,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (637...638))
+ │ │ @ StatementsNode (location: (103,10)-(103,11))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (637...638))
+ │ │ └── @ IntegerNode (location: (103,10)-(103,11))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (627...630) = "def"
+ │ ├── def_keyword_loc: (103,0)-(103,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (635...636) = "="
+ │ ├── equal_loc: (103,8)-(103,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (639...650))
+ ├── @ DefNode (location: (104,0)-(104,11))
│ ├── name: :bar
- │ ├── name_loc: (643...646) = "bar"
+ │ ├── name_loc: (104,4)-(104,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (649...650))
+ │ │ @ StatementsNode (location: (104,10)-(104,11))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (649...650))
+ │ │ └── @ IntegerNode (location: (104,10)-(104,11))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (639...642) = "def"
+ │ ├── def_keyword_loc: (104,0)-(104,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (647...648) = "="
+ │ ├── equal_loc: (104,8)-(104,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (652...670))
+ ├── @ DefNode (location: (106,0)-(106,18))
│ ├── name: :foo
- │ ├── name_loc: (656...659) = "foo"
+ │ ├── name_loc: (106,4)-(106,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (660...663))
+ │ │ @ ParametersNode (location: (106,8)-(106,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (660...663))
+ │ │ │ └── @ RequiredParameterNode (location: (106,8)-(106,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -849,193 +849,193 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (667...670))
+ │ │ @ StatementsNode (location: (106,15)-(106,18))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (667...670))
+ │ │ └── @ IntegerNode (location: (106,15)-(106,18))
│ │ └── flags: decimal
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (652...655) = "def"
+ │ ├── def_keyword_loc: (106,0)-(106,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (659...660) = "("
- │ ├── rparen_loc: (663...664) = ")"
- │ ├── equal_loc: (665...666) = "="
+ │ ├── lparen_loc: (106,7)-(106,8) = "("
+ │ ├── rparen_loc: (106,11)-(106,12) = ")"
+ │ ├── equal_loc: (106,13)-(106,14) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (672...685))
+ ├── @ DefNode (location: (108,0)-(108,13))
│ ├── name: :foo
- │ ├── name_loc: (676...679) = "foo"
+ │ ├── name_loc: (108,4)-(108,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (682...685))
+ │ │ @ StatementsNode (location: (108,10)-(108,13))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (682...685))
+ │ │ └── @ IntegerNode (location: (108,10)-(108,13))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (672...675) = "def"
+ │ ├── def_keyword_loc: (108,0)-(108,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (680...681) = "="
+ │ ├── equal_loc: (108,8)-(108,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (687...706))
+ ├── @ DefNode (location: (110,0)-(110,19))
│ ├── name: :a
- │ ├── name_loc: (691...692) = "a"
+ │ ├── name_loc: (110,4)-(110,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (693...694))
+ │ │ @ ParametersNode (location: (110,6)-(110,7))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (693...694))
+ │ │ │ @ RestParameterNode (location: (110,6)-(110,7))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (693...694) = "*"
+ │ │ │ └── operator_loc: (110,6)-(110,7) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (697...701))
+ │ │ @ StatementsNode (location: (110,10)-(110,14))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (697...701))
+ │ │ └── @ CallNode (location: (110,10)-(110,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (697...698) = "b"
- │ │ ├── opening_loc: (698...699) = "("
+ │ │ ├── message_loc: (110,10)-(110,11) = "b"
+ │ │ ├── opening_loc: (110,11)-(110,12) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (699...700))
+ │ │ │ @ ArgumentsNode (location: (110,12)-(110,13))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (699...700))
- │ │ │ ├── operator_loc: (699...700) = "*"
+ │ │ │ └── @ SplatNode (location: (110,12)-(110,13))
+ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*"
│ │ │ └── expression: ∅
- │ │ ├── closing_loc: (700...701) = ")"
+ │ │ ├── closing_loc: (110,13)-(110,14) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── locals: [:*]
- │ ├── def_keyword_loc: (687...690) = "def"
+ │ ├── def_keyword_loc: (110,0)-(110,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (692...693) = "("
- │ ├── rparen_loc: (694...695) = ")"
+ │ ├── lparen_loc: (110,5)-(110,6) = "("
+ │ ├── rparen_loc: (110,7)-(110,8) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (703...706) = "end"
- ├── @ DefNode (location: (708...731))
+ │ └── end_keyword_loc: (110,16)-(110,19) = "end"
+ ├── @ DefNode (location: (112,0)-(112,23))
│ ├── name: :a
- │ ├── name_loc: (712...713) = "a"
+ │ ├── name_loc: (112,4)-(112,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (714...717))
+ │ │ @ ParametersNode (location: (112,6)-(112,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (714...717))
+ │ │ │ @ ForwardingParameterNode (location: (112,6)-(112,9))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (720...726))
+ │ │ @ StatementsNode (location: (112,12)-(112,18))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (720...726))
+ │ │ └── @ CallNode (location: (112,12)-(112,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (720...721) = "b"
- │ │ ├── opening_loc: (721...722) = "("
+ │ │ ├── message_loc: (112,12)-(112,13) = "b"
+ │ │ ├── opening_loc: (112,13)-(112,14) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (722...725))
+ │ │ │ @ ArgumentsNode (location: (112,14)-(112,17))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (722...725))
- │ │ ├── closing_loc: (725...726) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17))
+ │ │ ├── closing_loc: (112,17)-(112,18) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (708...711) = "def"
+ │ ├── def_keyword_loc: (112,0)-(112,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (713...714) = "("
- │ ├── rparen_loc: (717...718) = ")"
+ │ ├── lparen_loc: (112,5)-(112,6) = "("
+ │ ├── rparen_loc: (112,9)-(112,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (728...731) = "end"
- ├── @ DefNode (location: (733...762))
+ │ └── end_keyword_loc: (112,20)-(112,23) = "end"
+ ├── @ DefNode (location: (114,0)-(114,29))
│ ├── name: :a
- │ ├── name_loc: (737...738) = "a"
+ │ ├── name_loc: (114,4)-(114,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (739...742))
+ │ │ @ ParametersNode (location: (114,6)-(114,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (739...742))
+ │ │ │ @ ForwardingParameterNode (location: (114,6)-(114,9))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (745...757))
+ │ │ @ StatementsNode (location: (114,12)-(114,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (745...757))
+ │ │ └── @ CallNode (location: (114,12)-(114,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (745...746) = "b"
- │ │ ├── opening_loc: (746...747) = "("
+ │ │ ├── message_loc: (114,12)-(114,13) = "b"
+ │ │ ├── opening_loc: (114,13)-(114,14) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (747...756))
+ │ │ │ @ ArgumentsNode (location: (114,14)-(114,23))
│ │ │ └── arguments: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (747...748))
+ │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (750...751))
+ │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ ForwardingArgumentsNode (location: (753...756))
- │ │ ├── closing_loc: (756...757) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23))
+ │ │ ├── closing_loc: (114,23)-(114,24) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (733...736) = "def"
+ │ ├── def_keyword_loc: (114,0)-(114,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (738...739) = "("
- │ ├── rparen_loc: (742...743) = ")"
+ │ ├── lparen_loc: (114,5)-(114,6) = "("
+ │ ├── rparen_loc: (114,9)-(114,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (759...762) = "end"
- ├── @ DefNode (location: (764...781))
+ │ └── end_keyword_loc: (114,26)-(114,29) = "end"
+ ├── @ DefNode (location: (116,0)-(117,3))
│ ├── name: :a
- │ ├── name_loc: (776...777) = "a"
+ │ ├── name_loc: (116,12)-(116,13) = "a"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (768...775))
+ │ │ @ ParenthesesNode (location: (116,4)-(116,11))
│ │ ├── body:
- │ │ │ @ LocalVariableWriteNode (location: (769...774))
+ │ │ │ @ LocalVariableWriteNode (location: (116,5)-(116,10))
│ │ │ ├── name: :c
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (769...770) = "c"
+ │ │ │ ├── name_loc: (116,5)-(116,6) = "c"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (773...774))
+ │ │ │ │ @ CallNode (location: (116,9)-(116,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (773...774) = "b"
+ │ │ │ │ ├── message_loc: (116,9)-(116,10) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── operator_loc: (771...772) = "="
- │ │ ├── opening_loc: (768...769) = "("
- │ │ └── closing_loc: (774...775) = ")"
+ │ │ │ └── operator_loc: (116,7)-(116,8) = "="
+ │ │ ├── opening_loc: (116,4)-(116,5) = "("
+ │ │ └── closing_loc: (116,10)-(116,11) = ")"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (764...767) = "def"
- │ ├── operator_loc: (775...776) = "."
+ │ ├── def_keyword_loc: (116,0)-(116,3) = "def"
+ │ ├── operator_loc: (116,11)-(116,12) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (778...781) = "end"
- ├── @ DefNode (location: (783...795))
+ │ └── end_keyword_loc: (117,0)-(117,3) = "end"
+ ├── @ DefNode (location: (119,0)-(120,3))
│ ├── name: :a
- │ ├── name_loc: (787...788) = "a"
+ │ ├── name_loc: (119,4)-(119,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (789...791))
+ │ │ @ ParametersNode (location: (119,6)-(119,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -1043,24 +1043,24 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (789...791))
+ │ │ @ BlockParameterNode (location: (119,6)-(119,8))
│ │ ├── name: :b
- │ │ ├── name_loc: (790...791) = "b"
- │ │ └── operator_loc: (789...790) = "&"
+ │ │ ├── name_loc: (119,7)-(119,8) = "b"
+ │ │ └── operator_loc: (119,6)-(119,7) = "&"
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (783...786) = "def"
+ │ ├── def_keyword_loc: (119,0)-(119,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (792...795) = "end"
- ├── @ DefNode (location: (797...809))
+ │ └── end_keyword_loc: (120,0)-(120,3) = "end"
+ ├── @ DefNode (location: (122,0)-(123,3))
│ ├── name: :a
- │ ├── name_loc: (801...802) = "a"
+ │ ├── name_loc: (122,4)-(122,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (803...804))
+ │ │ @ ParametersNode (location: (122,6)-(122,7))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -1068,371 +1068,371 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (803...804))
+ │ │ @ BlockParameterNode (location: (122,6)-(122,7))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (803...804) = "&"
+ │ │ └── operator_loc: (122,6)-(122,7) = "&"
│ ├── body: ∅
│ ├── locals: [:&]
- │ ├── def_keyword_loc: (797...800) = "def"
+ │ ├── def_keyword_loc: (122,0)-(122,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (802...803) = "("
- │ ├── rparen_loc: (804...805) = ")"
+ │ ├── lparen_loc: (122,5)-(122,6) = "("
+ │ ├── rparen_loc: (122,7)-(122,8) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (806...809) = "end"
- ├── @ DefNode (location: (811...826))
+ │ └── end_keyword_loc: (123,0)-(123,3) = "end"
+ ├── @ DefNode (location: (125,0)-(126,3))
│ ├── name: :a
- │ ├── name_loc: (821...822) = "a"
+ │ ├── name_loc: (125,10)-(125,11) = "a"
│ ├── receiver:
- │ │ @ ClassVariableReadNode (location: (815...820))
+ │ │ @ ClassVariableReadNode (location: (125,4)-(125,9))
│ │ └── name: :@@var
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (811...814) = "def"
- │ ├── operator_loc: (820...821) = "."
+ │ ├── def_keyword_loc: (125,0)-(125,3) = "def"
+ │ ├── operator_loc: (125,9)-(125,10) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (823...826) = "end"
- ├── @ DefNode (location: (828...845))
+ │ └── end_keyword_loc: (126,0)-(126,3) = "end"
+ ├── @ DefNode (location: (128,0)-(129,3))
│ ├── name: :C
- │ ├── name_loc: (840...841) = "C"
+ │ ├── name_loc: (128,12)-(128,13) = "C"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (832...839))
+ │ │ @ ParenthesesNode (location: (128,4)-(128,11))
│ │ ├── body:
- │ │ │ @ LocalVariableWriteNode (location: (833...838))
+ │ │ │ @ LocalVariableWriteNode (location: (128,5)-(128,10))
│ │ │ ├── name: :a
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (833...834) = "a"
+ │ │ │ ├── name_loc: (128,5)-(128,6) = "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (837...838))
+ │ │ │ │ @ CallNode (location: (128,9)-(128,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (837...838) = "b"
+ │ │ │ │ ├── message_loc: (128,9)-(128,10) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ └── operator_loc: (835...836) = "="
- │ │ ├── opening_loc: (832...833) = "("
- │ │ └── closing_loc: (838...839) = ")"
+ │ │ │ └── operator_loc: (128,7)-(128,8) = "="
+ │ │ ├── opening_loc: (128,4)-(128,5) = "("
+ │ │ └── closing_loc: (128,10)-(128,11) = ")"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (828...831) = "def"
- │ ├── operator_loc: (839...840) = "."
+ │ ├── def_keyword_loc: (128,0)-(128,3) = "def"
+ │ ├── operator_loc: (128,11)-(128,12) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (842...845) = "end"
- ├── @ DefNode (location: (847...875))
+ │ └── end_keyword_loc: (129,0)-(129,3) = "end"
+ ├── @ DefNode (location: (131,0)-(131,28))
│ ├── name: :Array_function
- │ ├── name_loc: (856...870) = "Array_function"
+ │ ├── name_loc: (131,9)-(131,23) = "Array_function"
│ ├── receiver:
- │ │ @ SelfNode (location: (851...855))
+ │ │ @ SelfNode (location: (131,4)-(131,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (847...850) = "def"
- │ ├── operator_loc: (855...856) = "."
+ │ ├── def_keyword_loc: (131,0)-(131,3) = "def"
+ │ ├── operator_loc: (131,8)-(131,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (872...875) = "end"
- ├── @ ConstantWriteNode (location: (877...886))
+ │ └── end_keyword_loc: (131,25)-(131,28) = "end"
+ ├── @ ConstantWriteNode (location: (133,0)-(133,9))
│ ├── name: :Const
- │ ├── name_loc: (877...882) = "Const"
+ │ ├── name_loc: (133,0)-(133,5) = "Const"
│ ├── value:
- │ │ @ IntegerNode (location: (885...886))
+ │ │ @ IntegerNode (location: (133,8)-(133,9))
│ │ └── flags: decimal
- │ └── operator_loc: (883...884) = "="
- ├── @ DefNode (location: (888...903))
+ │ └── operator_loc: (133,6)-(133,7) = "="
+ ├── @ DefNode (location: (133,11)-(134,3))
│ ├── name: :a
- │ ├── name_loc: (898...899) = "a"
+ │ ├── name_loc: (133,21)-(133,22) = "a"
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (892...897))
+ │ │ @ ConstantReadNode (location: (133,15)-(133,20))
│ │ └── name: :Const
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (888...891) = "def"
- │ ├── operator_loc: (897...898) = "."
+ │ ├── def_keyword_loc: (133,11)-(133,14) = "def"
+ │ ├── operator_loc: (133,20)-(133,21) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (900...903) = "end"
- ├── @ DefNode (location: (905...936))
+ │ └── end_keyword_loc: (134,0)-(134,3) = "end"
+ ├── @ DefNode (location: (136,0)-(136,31))
│ ├── name: :a
- │ ├── name_loc: (909...910) = "a"
+ │ ├── name_loc: (136,4)-(136,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (911...914))
+ │ │ @ ParametersNode (location: (136,6)-(136,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (911...914))
+ │ │ │ @ ForwardingParameterNode (location: (136,6)-(136,9))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (917...931))
+ │ │ @ StatementsNode (location: (136,12)-(136,26))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (917...931))
- │ │ ├── opening_loc: (917...918) = "\""
+ │ │ └── @ InterpolatedStringNode (location: (136,12)-(136,26))
+ │ │ ├── opening_loc: (136,12)-(136,13) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (918...921))
+ │ │ │ ├── @ StringNode (location: (136,13)-(136,16))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (918...921) = "foo"
+ │ │ │ │ ├── content_loc: (136,13)-(136,16) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ └── @ EmbeddedStatementsNode (location: (921...930))
- │ │ │ ├── opening_loc: (921...923) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (136,16)-(136,25))
+ │ │ │ ├── opening_loc: (136,16)-(136,18) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (923...929))
+ │ │ │ │ @ StatementsNode (location: (136,18)-(136,24))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (923...929))
+ │ │ │ │ └── @ CallNode (location: (136,18)-(136,24))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (923...924) = "b"
- │ │ │ │ ├── opening_loc: (924...925) = "("
+ │ │ │ │ ├── message_loc: (136,18)-(136,19) = "b"
+ │ │ │ │ ├── opening_loc: (136,19)-(136,20) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (925...928))
+ │ │ │ │ │ @ ArgumentsNode (location: (136,20)-(136,23))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (925...928))
- │ │ │ │ ├── closing_loc: (928...929) = ")"
+ │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23))
+ │ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "b"
- │ │ │ └── closing_loc: (929...930) = "}"
- │ │ └── closing_loc: (930...931) = "\""
+ │ │ │ └── closing_loc: (136,24)-(136,25) = "}"
+ │ │ └── closing_loc: (136,25)-(136,26) = "\""
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (905...908) = "def"
+ │ ├── def_keyword_loc: (136,0)-(136,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (910...911) = "("
- │ ├── rparen_loc: (914...915) = ")"
+ │ ├── lparen_loc: (136,5)-(136,6) = "("
+ │ ├── rparen_loc: (136,9)-(136,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (933...936) = "end"
- ├── @ DefNode (location: (938...980))
+ │ └── end_keyword_loc: (136,28)-(136,31) = "end"
+ ├── @ DefNode (location: (138,0)-(140,3))
│ ├── name: :foo
- │ ├── name_loc: (942...945) = "foo"
+ │ ├── name_loc: (138,4)-(138,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (948...976))
+ │ │ @ StatementsNode (location: (139,2)-(139,30))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (948...976))
+ │ │ └── @ CallNode (location: (139,2)-(139,30))
│ │ ├── receiver:
- │ │ │ @ HashNode (location: (948...950))
- │ │ │ ├── opening_loc: (948...949) = "{"
+ │ │ │ @ HashNode (location: (139,2)-(139,4))
+ │ │ │ ├── opening_loc: (139,2)-(139,3) = "{"
│ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (949...950) = "}"
- │ │ ├── call_operator_loc: (950...951) = "."
- │ │ ├── message_loc: (951...956) = "merge"
+ │ │ │ └── closing_loc: (139,3)-(139,4) = "}"
+ │ │ ├── call_operator_loc: (139,4)-(139,5) = "."
+ │ │ ├── message_loc: (139,5)-(139,10) = "merge"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (957...976))
+ │ │ │ @ ArgumentsNode (location: (139,11)-(139,30))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (957...976))
+ │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30))
│ │ │ └── elements: (length: 3)
- │ │ │ ├── @ AssocSplatNode (location: (957...962))
+ │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16))
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (959...962))
+ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (959...962) = "bar"
+ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ └── operator_loc: (957...959) = "**"
- │ │ │ ├── @ AssocSplatNode (location: (964...969))
+ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**"
+ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23))
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (966...969))
+ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (966...969) = "baz"
+ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "baz"
- │ │ │ │ └── operator_loc: (964...966) = "**"
- │ │ │ └── @ AssocSplatNode (location: (971...976))
+ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**"
+ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30))
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (973...976))
+ │ │ │ │ @ CallNode (location: (139,27)-(139,30))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (973...976) = "qux"
+ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "qux"
- │ │ │ └── operator_loc: (971...973) = "**"
+ │ │ │ └── operator_loc: (139,25)-(139,27) = "**"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "merge"
│ ├── locals: []
- │ ├── def_keyword_loc: (938...941) = "def"
+ │ ├── def_keyword_loc: (138,0)-(138,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (977...980) = "end"
- ├── @ DefNode (location: (982...1006))
+ │ └── end_keyword_loc: (140,0)-(140,3) = "end"
+ ├── @ DefNode (location: (142,0)-(143,3))
│ ├── name: :bar
- │ ├── name_loc: (986...989) = "bar"
+ │ ├── name_loc: (142,4)-(142,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (990...1001))
+ │ │ @ ParametersNode (location: (142,8)-(142,19))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (990...1001))
+ │ │ │ └── @ KeywordParameterNode (location: (142,8)-(142,19))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (990...992) = "a:"
+ │ │ │ ├── name_loc: (142,8)-(142,10) = "a:"
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (993...1001))
+ │ │ │ @ ParenthesesNode (location: (142,11)-(142,19))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (994...1000))
+ │ │ │ │ @ StatementsNode (location: (142,12)-(142,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (994...1000))
+ │ │ │ │ └── @ RangeNode (location: (142,12)-(142,18))
│ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (994...995))
+ │ │ │ │ │ @ IntegerNode (location: (142,12)-(142,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (998...1000))
+ │ │ │ │ │ @ IntegerNode (location: (142,16)-(142,18))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (995...998) = "..."
+ │ │ │ │ ├── operator_loc: (142,13)-(142,16) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (993...994) = "("
- │ │ │ └── closing_loc: (1000...1001) = ")"
+ │ │ │ ├── opening_loc: (142,11)-(142,12) = "("
+ │ │ │ └── closing_loc: (142,18)-(142,19) = ")"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (982...985) = "def"
+ │ ├── def_keyword_loc: (142,0)-(142,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (989...990) = "("
- │ ├── rparen_loc: (1001...1002) = ")"
+ │ ├── lparen_loc: (142,7)-(142,8) = "("
+ │ ├── rparen_loc: (142,19)-(142,20) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1003...1006) = "end"
- ├── @ DefNode (location: (1008...1031))
+ │ └── end_keyword_loc: (143,0)-(143,3) = "end"
+ ├── @ DefNode (location: (145,0)-(146,3))
│ ├── name: :bar
- │ ├── name_loc: (1012...1015) = "bar"
+ │ ├── name_loc: (145,4)-(145,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1016...1026))
+ │ │ @ ParametersNode (location: (145,8)-(145,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (1016...1026))
+ │ │ │ └── @ KeywordParameterNode (location: (145,8)-(145,18))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (1016...1018) = "a:"
+ │ │ │ ├── name_loc: (145,8)-(145,10) = "a:"
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (1019...1026))
+ │ │ │ @ ParenthesesNode (location: (145,11)-(145,18))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1020...1025))
+ │ │ │ │ @ StatementsNode (location: (145,12)-(145,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (1020...1025))
+ │ │ │ │ └── @ RangeNode (location: (145,12)-(145,17))
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (1023...1025))
+ │ │ │ │ │ @ IntegerNode (location: (145,15)-(145,17))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (1020...1023) = "..."
+ │ │ │ │ ├── operator_loc: (145,12)-(145,15) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (1019...1020) = "("
- │ │ │ └── closing_loc: (1025...1026) = ")"
+ │ │ │ ├── opening_loc: (145,11)-(145,12) = "("
+ │ │ │ └── closing_loc: (145,17)-(145,18) = ")"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1008...1011) = "def"
+ │ ├── def_keyword_loc: (145,0)-(145,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1015...1016) = "("
- │ ├── rparen_loc: (1026...1027) = ")"
+ │ ├── lparen_loc: (145,7)-(145,8) = "("
+ │ ├── rparen_loc: (145,18)-(145,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1028...1031) = "end"
- ├── @ DefNode (location: (1033...1055))
+ │ └── end_keyword_loc: (146,0)-(146,3) = "end"
+ ├── @ DefNode (location: (148,0)-(149,3))
│ ├── name: :bar
- │ ├── name_loc: (1037...1040) = "bar"
+ │ ├── name_loc: (148,4)-(148,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1041...1050))
+ │ │ @ ParametersNode (location: (148,8)-(148,17))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (1041...1050))
+ │ │ │ └── @ KeywordParameterNode (location: (148,8)-(148,17))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (1041...1043) = "a:"
+ │ │ │ ├── name_loc: (148,8)-(148,10) = "a:"
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (1044...1050))
+ │ │ │ @ ParenthesesNode (location: (148,11)-(148,17))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1045...1049))
+ │ │ │ │ @ StatementsNode (location: (148,12)-(148,16))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (1045...1049))
+ │ │ │ │ └── @ RangeNode (location: (148,12)-(148,16))
│ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (1045...1046))
+ │ │ │ │ │ @ IntegerNode (location: (148,12)-(148,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
- │ │ │ │ ├── operator_loc: (1046...1049) = "..."
+ │ │ │ │ ├── operator_loc: (148,13)-(148,16) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (1044...1045) = "("
- │ │ │ └── closing_loc: (1049...1050) = ")"
+ │ │ │ ├── opening_loc: (148,11)-(148,12) = "("
+ │ │ │ └── closing_loc: (148,16)-(148,17) = ")"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1033...1036) = "def"
+ │ ├── def_keyword_loc: (148,0)-(148,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1040...1041) = "("
- │ ├── rparen_loc: (1050...1051) = ")"
+ │ ├── lparen_loc: (148,7)-(148,8) = "("
+ │ ├── rparen_loc: (148,17)-(148,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1052...1055) = "end"
- ├── @ DefNode (location: (1057...1082))
+ │ └── end_keyword_loc: (149,0)-(149,3) = "end"
+ ├── @ DefNode (location: (151,0)-(152,3))
│ ├── name: :bar
- │ ├── name_loc: (1061...1064) = "bar"
+ │ ├── name_loc: (151,4)-(151,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1065...1077))
+ │ │ @ ParametersNode (location: (151,8)-(151,20))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (1065...1077))
+ │ │ │ └── @ OptionalParameterNode (location: (151,8)-(151,20))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (1065...1066) = "a"
- │ │ │ ├── operator_loc: (1067...1068) = "="
+ │ │ │ ├── name_loc: (151,8)-(151,9) = "a"
+ │ │ │ ├── operator_loc: (151,10)-(151,11) = "="
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (1069...1077))
+ │ │ │ @ ParenthesesNode (location: (151,12)-(151,20))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1070...1076))
+ │ │ │ │ @ StatementsNode (location: (151,13)-(151,19))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (1070...1076))
+ │ │ │ │ └── @ RangeNode (location: (151,13)-(151,19))
│ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (1070...1071))
+ │ │ │ │ │ @ IntegerNode (location: (151,13)-(151,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (1074...1076))
+ │ │ │ │ │ @ IntegerNode (location: (151,17)-(151,19))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (1071...1074) = "..."
+ │ │ │ │ ├── operator_loc: (151,14)-(151,17) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (1069...1070) = "("
- │ │ │ └── closing_loc: (1076...1077) = ")"
+ │ │ │ ├── opening_loc: (151,12)-(151,13) = "("
+ │ │ │ └── closing_loc: (151,19)-(151,20) = ")"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
@@ -1440,38 +1440,38 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1057...1060) = "def"
+ │ ├── def_keyword_loc: (151,0)-(151,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1064...1065) = "("
- │ ├── rparen_loc: (1077...1078) = ")"
+ │ ├── lparen_loc: (151,7)-(151,8) = "("
+ │ ├── rparen_loc: (151,20)-(151,21) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1079...1082) = "end"
- ├── @ DefNode (location: (1084...1108))
+ │ └── end_keyword_loc: (152,0)-(152,3) = "end"
+ ├── @ DefNode (location: (154,0)-(155,3))
│ ├── name: :bar
- │ ├── name_loc: (1088...1091) = "bar"
+ │ ├── name_loc: (154,4)-(154,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1092...1103))
+ │ │ @ ParametersNode (location: (154,8)-(154,19))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (1092...1103))
+ │ │ │ └── @ OptionalParameterNode (location: (154,8)-(154,19))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (1092...1093) = "a"
- │ │ │ ├── operator_loc: (1094...1095) = "="
+ │ │ │ ├── name_loc: (154,8)-(154,9) = "a"
+ │ │ │ ├── operator_loc: (154,10)-(154,11) = "="
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (1096...1103))
+ │ │ │ @ ParenthesesNode (location: (154,12)-(154,19))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1097...1102))
+ │ │ │ │ @ StatementsNode (location: (154,13)-(154,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (1097...1102))
+ │ │ │ │ └── @ RangeNode (location: (154,13)-(154,18))
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (1100...1102))
+ │ │ │ │ │ @ IntegerNode (location: (154,16)-(154,18))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── operator_loc: (1097...1100) = "..."
+ │ │ │ │ ├── operator_loc: (154,13)-(154,16) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (1096...1097) = "("
- │ │ │ └── closing_loc: (1102...1103) = ")"
+ │ │ │ ├── opening_loc: (154,12)-(154,13) = "("
+ │ │ │ └── closing_loc: (154,18)-(154,19) = ")"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
@@ -1479,38 +1479,38 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1084...1087) = "def"
+ │ ├── def_keyword_loc: (154,0)-(154,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1091...1092) = "("
- │ ├── rparen_loc: (1103...1104) = ")"
+ │ ├── lparen_loc: (154,7)-(154,8) = "("
+ │ ├── rparen_loc: (154,19)-(154,20) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1105...1108) = "end"
- ├── @ DefNode (location: (1110...1133))
+ │ └── end_keyword_loc: (155,0)-(155,3) = "end"
+ ├── @ DefNode (location: (157,0)-(158,3))
│ ├── name: :bar
- │ ├── name_loc: (1114...1117) = "bar"
+ │ ├── name_loc: (157,4)-(157,7) = "bar"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1118...1128))
+ │ │ @ ParametersNode (location: (157,8)-(157,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (1118...1128))
+ │ │ │ └── @ OptionalParameterNode (location: (157,8)-(157,18))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (1118...1119) = "a"
- │ │ │ ├── operator_loc: (1120...1121) = "="
+ │ │ │ ├── name_loc: (157,8)-(157,9) = "a"
+ │ │ │ ├── operator_loc: (157,10)-(157,11) = "="
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (1122...1128))
+ │ │ │ @ ParenthesesNode (location: (157,12)-(157,18))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (1123...1127))
+ │ │ │ │ @ StatementsNode (location: (157,13)-(157,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RangeNode (location: (1123...1127))
+ │ │ │ │ └── @ RangeNode (location: (157,13)-(157,17))
│ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (1123...1124))
+ │ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
- │ │ │ │ ├── operator_loc: (1124...1127) = "..."
+ │ │ │ │ ├── operator_loc: (157,14)-(157,17) = "..."
│ │ │ │ └── flags: exclude_end
- │ │ │ ├── opening_loc: (1122...1123) = "("
- │ │ │ └── closing_loc: (1127...1128) = ")"
+ │ │ │ ├── opening_loc: (157,12)-(157,13) = "("
+ │ │ │ └── closing_loc: (157,17)-(157,18) = ")"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
@@ -1518,20 +1518,20 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1110...1113) = "def"
+ │ ├── def_keyword_loc: (157,0)-(157,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1117...1118) = "("
- │ ├── rparen_loc: (1128...1129) = ")"
+ │ ├── lparen_loc: (157,7)-(157,8) = "("
+ │ ├── rparen_loc: (157,18)-(157,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1130...1133) = "end"
- ├── @ DefNode (location: (1135...1167))
+ │ └── end_keyword_loc: (158,0)-(158,3) = "end"
+ ├── @ DefNode (location: (160,0)-(162,3))
│ ├── name: :method
- │ ├── name_loc: (1139...1145) = "method"
+ │ ├── name_loc: (160,4)-(160,10) = "method"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1146...1147))
+ │ │ @ ParametersNode (location: (160,11)-(160,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (1146...1147))
+ │ │ │ └── @ RequiredParameterNode (location: (160,11)-(160,12))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -1540,14 +1540,14 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (1151...1163))
+ │ │ @ StatementsNode (location: (161,2)-(161,14))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (1151...1163))
+ │ │ └── @ CallNode (location: (161,2)-(161,14))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (1151...1155))
+ │ │ │ @ CallNode (location: (161,2)-(161,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1151...1155) = "item"
+ │ │ │ ├── message_loc: (161,2)-(161,6) = "item"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1555,25 +1555,25 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "item"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1156...1158) = ">>"
+ │ │ ├── message_loc: (161,7)-(161,9) = ">>"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (1159...1163))
+ │ │ │ @ ArgumentsNode (location: (161,10)-(161,14))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (1159...1163))
+ │ │ │ └── @ CallNode (location: (161,10)-(161,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1159...1160) = "a"
+ │ │ │ ├── message_loc: (161,10)-(161,11) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (1161...1163))
+ │ │ │ │ @ BlockNode (location: (161,12)-(161,14))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (1161...1162) = "{"
- │ │ │ │ └── closing_loc: (1162...1163) = "}"
+ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
+ │ │ │ │ └── closing_loc: (161,13)-(161,14) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "a"
│ │ ├── closing_loc: ∅
@@ -1581,26 +1581,26 @@
│ │ ├── flags: ∅
│ │ └── name: ">>"
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (1135...1138) = "def"
+ │ ├── def_keyword_loc: (160,0)-(160,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1145...1146) = "("
- │ ├── rparen_loc: (1147...1148) = ")"
+ │ ├── lparen_loc: (160,10)-(160,11) = "("
+ │ ├── rparen_loc: (160,12)-(160,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1164...1167) = "end"
- ├── @ DefNode (location: (1169...1194))
+ │ └── end_keyword_loc: (162,0)-(162,3) = "end"
+ ├── @ DefNode (location: (164,0)-(165,3))
│ ├── name: :foo
- │ ├── name_loc: (1173...1176) = "foo"
+ │ ├── name_loc: (164,4)-(164,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (1177...1189))
+ │ │ @ ParametersNode (location: (164,8)-(164,20))
│ │ ├── requireds: (length: 4)
- │ │ │ ├── @ RequiredParameterNode (location: (1177...1179))
+ │ │ │ ├── @ RequiredParameterNode (location: (164,8)-(164,10))
│ │ │ │ └── name: :_a
- │ │ │ ├── @ RequiredParameterNode (location: (1181...1183))
+ │ │ │ ├── @ RequiredParameterNode (location: (164,12)-(164,14))
│ │ │ │ └── name: :_a
- │ │ │ ├── @ RequiredParameterNode (location: (1185...1186))
+ │ │ │ ├── @ RequiredParameterNode (location: (164,16)-(164,17))
│ │ │ │ └── name: :b
- │ │ │ └── @ RequiredParameterNode (location: (1188...1189))
+ │ │ │ └── @ RequiredParameterNode (location: (164,19)-(164,20))
│ │ │ └── name: :c
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -1610,33 +1610,33 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:_a, :b, :c]
- │ ├── def_keyword_loc: (1169...1172) = "def"
+ │ ├── def_keyword_loc: (164,0)-(164,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (1176...1177) = "("
- │ ├── rparen_loc: (1189...1190) = ")"
+ │ ├── lparen_loc: (164,7)-(164,8) = "("
+ │ ├── rparen_loc: (164,20)-(164,21) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (1191...1194) = "end"
- ├── @ LocalVariableWriteNode (location: (1196...1203))
+ │ └── end_keyword_loc: (165,0)-(165,3) = "end"
+ ├── @ LocalVariableWriteNode (location: (167,0)-(167,7))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (1196...1199) = "foo"
+ │ ├── name_loc: (167,0)-(167,3) = "foo"
│ ├── value:
- │ │ @ IntegerNode (location: (1202...1203))
+ │ │ @ IntegerNode (location: (167,6)-(167,7))
│ │ └── flags: decimal
- │ └── operator_loc: (1200...1201) = "="
- └── @ DefNode (location: (1204...1220))
+ │ └── operator_loc: (167,4)-(167,5) = "="
+ └── @ DefNode (location: (168,0)-(168,16))
├── name: :bar
- ├── name_loc: (1212...1215) = "bar"
+ ├── name_loc: (168,8)-(168,11) = "bar"
├── receiver:
- │ @ LocalVariableReadNode (location: (1208...1211))
+ │ @ LocalVariableReadNode (location: (168,4)-(168,7))
│ ├── name: :foo
│ └── depth: 0
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (1204...1207) = "def"
- ├── operator_loc: (1211...1212) = "."
+ ├── def_keyword_loc: (168,0)-(168,3) = "def"
+ ├── operator_loc: (168,7)-(168,8) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (1217...1220) = "end"
+ └── end_keyword_loc: (168,13)-(168,16) = "end"
diff --git a/test/yarp/snapshots/modules.txt b/test/yarp/snapshots/modules.txt
index 43f090866a..94f4bdb8eb 100644
--- a/test/yarp/snapshots/modules.txt
+++ b/test/yarp/snapshots/modules.txt
@@ -1,69 +1,69 @@
-@ ProgramNode (location: (0...140))
+@ ProgramNode (location: (1,0)-(18,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...140))
+ @ StatementsNode (location: (1,0)-(18,3))
└── body: (length: 7)
- ├── @ ModuleNode (location: (0...18))
+ ├── @ ModuleNode (location: (1,0)-(1,18))
│ ├── locals: [:a]
- │ ├── module_keyword_loc: (0...6) = "module"
+ │ ├── module_keyword_loc: (1,0)-(1,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (7...8))
+ │ │ @ ConstantReadNode (location: (1,7)-(1,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (9...14))
+ │ │ @ StatementsNode (location: (1,9)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (9...14))
+ │ │ └── @ LocalVariableWriteNode (location: (1,9)-(1,14))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (9...10) = "a"
+ │ │ ├── name_loc: (1,9)-(1,10) = "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (13...14))
+ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (11...12) = "="
- │ ├── end_keyword_loc: (15...18) = "end"
+ │ │ └── operator_loc: (1,11)-(1,12) = "="
+ │ ├── end_keyword_loc: (1,15)-(1,18) = "end"
│ └── name: :A
- ├── @ InterpolatedStringNode (location: (20...38))
- │ ├── opening_loc: (20...23) = "%Q{"
+ ├── @ InterpolatedStringNode (location: (3,0)-(3,18))
+ │ ├── opening_loc: (3,0)-(3,3) = "%Q{"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (23...27))
+ │ │ ├── @ StringNode (location: (3,3)-(3,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (23...27) = "aaa "
+ │ │ │ ├── content_loc: (3,3)-(3,7) = "aaa "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "aaa "
- │ │ ├── @ EmbeddedStatementsNode (location: (27...33))
- │ │ │ ├── opening_loc: (27...29) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (3,7)-(3,13))
+ │ │ │ ├── opening_loc: (3,7)-(3,9) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (29...32))
+ │ │ │ │ @ StatementsNode (location: (3,9)-(3,12))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (29...32))
+ │ │ │ │ └── @ CallNode (location: (3,9)-(3,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (29...32) = "bbb"
+ │ │ │ │ ├── message_loc: (3,9)-(3,12) = "bbb"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bbb"
- │ │ │ └── closing_loc: (32...33) = "}"
- │ │ └── @ StringNode (location: (33...37))
+ │ │ │ └── closing_loc: (3,12)-(3,13) = "}"
+ │ │ └── @ StringNode (location: (3,13)-(3,17))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (33...37) = " ccc"
+ │ │ ├── content_loc: (3,13)-(3,17) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
- │ └── closing_loc: (37...38) = "}"
- ├── @ ModuleNode (location: (40...55))
+ │ └── closing_loc: (3,17)-(3,18) = "}"
+ ├── @ ModuleNode (location: (5,0)-(6,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (40...46) = "module"
+ │ ├── module_keyword_loc: (5,0)-(5,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (47...51))
+ │ │ @ ConstantPathNode (location: (5,7)-(5,11))
│ │ ├── parent:
- │ │ │ @ CallNode (location: (47...48))
+ │ │ │ @ CallNode (location: (5,7)-(5,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (47...48) = "m"
+ │ │ │ ├── message_loc: (5,7)-(5,8) = "m"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -71,35 +71,35 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "m"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (50...51))
+ │ │ │ @ ConstantReadNode (location: (5,10)-(5,11))
│ │ │ └── name: :M
- │ │ └── delimiter_loc: (48...50) = "::"
+ │ │ └── delimiter_loc: (5,8)-(5,10) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (52...55) = "end"
+ │ ├── end_keyword_loc: (6,0)-(6,3) = "end"
│ └── name: :M
- ├── @ ModuleNode (location: (57...85))
+ ├── @ ModuleNode (location: (8,0)-(9,19))
│ ├── locals: [:x]
- │ ├── module_keyword_loc: (57...63) = "module"
+ │ ├── module_keyword_loc: (8,0)-(8,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (64...65))
+ │ │ @ ConstantReadNode (location: (8,7)-(8,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ BeginNode (location: (67...85))
+ │ │ @ BeginNode (location: (9,1)-(9,19))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (67...72))
+ │ │ │ @ StatementsNode (location: (9,1)-(9,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (67...72))
+ │ │ │ └── @ LocalVariableWriteNode (location: (9,1)-(9,6))
│ │ │ ├── name: :x
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (67...68) = "x"
+ │ │ │ ├── name_loc: (9,1)-(9,2) = "x"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (71...72))
+ │ │ │ │ @ IntegerNode (location: (9,5)-(9,6))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (69...70) = "="
+ │ │ │ └── operator_loc: (9,3)-(9,4) = "="
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (74...80))
- │ │ │ ├── keyword_loc: (74...80) = "rescue"
+ │ │ │ @ RescueNode (location: (9,8)-(9,14))
+ │ │ │ ├── keyword_loc: (9,8)-(9,14) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
@@ -107,73 +107,73 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (82...85) = "end"
- │ ├── end_keyword_loc: (82...85) = "end"
+ │ │ └── end_keyword_loc: (9,16)-(9,19) = "end"
+ │ ├── end_keyword_loc: (9,16)-(9,19) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (87...101))
+ ├── @ ModuleNode (location: (11,0)-(12,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (87...93) = "module"
+ │ ├── module_keyword_loc: (11,0)-(11,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (94...97))
+ │ │ @ ConstantPathNode (location: (11,7)-(11,10))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (96...97))
+ │ │ │ @ ConstantReadNode (location: (11,9)-(11,10))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (94...96) = "::"
+ │ │ └── delimiter_loc: (11,7)-(11,9) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (98...101) = "end"
+ │ ├── end_keyword_loc: (12,0)-(12,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (103...120))
+ ├── @ ModuleNode (location: (14,0)-(15,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (103...109) = "module"
+ │ ├── module_keyword_loc: (14,0)-(14,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (110...116))
+ │ │ @ ConstantPathNode (location: (14,7)-(14,13))
│ │ ├── parent:
- │ │ │ @ CallNode (location: (110...113))
+ │ │ │ @ CallNode (location: (14,7)-(14,10))
│ │ │ ├── receiver:
- │ │ │ │ @ ConstantReadNode (location: (110...111))
+ │ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8))
│ │ │ │ └── name: :A
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (111...113) = "[]"
- │ │ │ ├── opening_loc: (111...112) = "["
+ │ │ │ ├── message_loc: (14,8)-(14,10) = "[]"
+ │ │ │ ├── opening_loc: (14,8)-(14,9) = "["
│ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: (112...113) = "]"
+ │ │ │ ├── closing_loc: (14,9)-(14,10) = "]"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "[]"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (115...116))
+ │ │ │ @ ConstantReadNode (location: (14,12)-(14,13))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (113...115) = "::"
+ │ │ └── delimiter_loc: (14,10)-(14,12) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (117...120) = "end"
+ │ ├── end_keyword_loc: (15,0)-(15,3) = "end"
│ └── name: :B
- └── @ ModuleNode (location: (122...140))
+ └── @ ModuleNode (location: (17,0)-(18,3))
├── locals: []
- ├── module_keyword_loc: (122...128) = "module"
+ ├── module_keyword_loc: (17,0)-(17,6) = "module"
├── constant_path:
- │ @ ConstantPathNode (location: (129...136))
+ │ @ ConstantPathNode (location: (17,7)-(17,14))
│ ├── parent:
- │ │ @ CallNode (location: (129...133))
+ │ │ @ CallNode (location: (17,7)-(17,11))
│ │ ├── receiver:
- │ │ │ @ ConstantReadNode (location: (129...130))
+ │ │ │ @ ConstantReadNode (location: (17,7)-(17,8))
│ │ │ └── name: :A
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (130...133) = "[1]"
- │ │ ├── opening_loc: (130...131) = "["
+ │ │ ├── message_loc: (17,8)-(17,11) = "[1]"
+ │ │ ├── opening_loc: (17,8)-(17,9) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (131...132))
+ │ │ │ @ ArgumentsNode (location: (17,9)-(17,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (131...132))
+ │ │ │ └── @ IntegerNode (location: (17,9)-(17,10))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (132...133) = "]"
+ │ │ ├── closing_loc: (17,10)-(17,11) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]"
│ ├── child:
- │ │ @ ConstantReadNode (location: (135...136))
+ │ │ @ ConstantReadNode (location: (17,13)-(17,14))
│ │ └── name: :B
- │ └── delimiter_loc: (133...135) = "::"
+ │ └── delimiter_loc: (17,11)-(17,13) = "::"
├── body: ∅
- ├── end_keyword_loc: (137...140) = "end"
+ ├── end_keyword_loc: (18,0)-(18,3) = "end"
└── name: :B
diff --git a/test/yarp/snapshots/newline_terminated.txt b/test/yarp/snapshots/newline_terminated.txt
index 7f6130b741..bf75257104 100644
--- a/test/yarp/snapshots/newline_terminated.txt
+++ b/test/yarp/snapshots/newline_terminated.txt
@@ -1,107 +1,107 @@
-@ ProgramNode (location: (76...212))
+@ ProgramNode (location: (3,0)-(40,0))
├── locals: []
└── statements:
- @ StatementsNode (location: (76...212))
+ @ StatementsNode (location: (3,0)-(40,0))
└── body: (length: 17)
- ├── @ StringNode (location: (76...82))
+ ├── @ StringNode (location: (3,0)-(3,6))
│ ├── flags: ∅
- │ ├── opening_loc: (76...78) = "% "
- │ ├── content_loc: (78...81) = "abc"
- │ ├── closing_loc: (81...82) = " "
+ │ ├── opening_loc: (3,0)-(3,2) = "% "
+ │ ├── content_loc: (3,2)-(3,5) = "abc"
+ │ ├── closing_loc: (3,5)-(3,6) = " "
│ └── unescaped: "abc"
- ├── @ StringNode (location: (84...90))
+ ├── @ StringNode (location: (4,0)-(4,6))
│ ├── flags: ∅
- │ ├── opening_loc: (84...86) = "%\t"
- │ ├── content_loc: (86...89) = "abc"
- │ ├── closing_loc: (89...90) = "\t"
+ │ ├── opening_loc: (4,0)-(4,2) = "%\t"
+ │ ├── content_loc: (4,2)-(4,5) = "abc"
+ │ ├── closing_loc: (4,5)-(4,6) = "\t"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (92...98))
+ ├── @ StringNode (location: (5,0)-(5,6))
│ ├── flags: ∅
- │ ├── opening_loc: (92...94) = "%\v"
- │ ├── content_loc: (94...97) = "abc"
- │ ├── closing_loc: (97...98) = "\v"
+ │ ├── opening_loc: (5,0)-(5,2) = "%\v"
+ │ ├── content_loc: (5,2)-(5,5) = "abc"
+ │ ├── closing_loc: (5,5)-(5,6) = "\v"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (100...106))
+ ├── @ StringNode (location: (6,0)-(6,6))
│ ├── flags: ∅
- │ ├── opening_loc: (100...102) = "%\r"
- │ ├── content_loc: (102...105) = "abc"
- │ ├── closing_loc: (105...106) = "\r"
+ │ ├── opening_loc: (6,0)-(6,2) = "%\r"
+ │ ├── content_loc: (6,2)-(6,5) = "abc"
+ │ ├── closing_loc: (6,5)-(6,6) = "\r"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (108...114))
+ ├── @ StringNode (location: (7,0)-(8,0))
│ ├── flags: ∅
- │ ├── opening_loc: (108...110) = "%\n"
- │ ├── content_loc: (110...113) = "abc"
- │ ├── closing_loc: (113...114) = "\n"
+ │ ├── opening_loc: (7,0)-(7,0) = "%\n"
+ │ ├── content_loc: (8,0)-(8,3) = "abc"
+ │ ├── closing_loc: (8,3)-(8,0) = "\n"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (116...122))
+ ├── @ StringNode (location: (10,0)-(10,6))
│ ├── flags: ∅
- │ ├── opening_loc: (116...118) = "%\u0000"
- │ ├── content_loc: (118...121) = "abc"
- │ ├── closing_loc: (121...122) = "\u0000"
+ │ ├── opening_loc: (10,0)-(10,2) = "%\u0000"
+ │ ├── content_loc: (10,2)-(10,5) = "abc"
+ │ ├── closing_loc: (10,5)-(10,6) = "\u0000"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (124...130))
+ ├── @ StringNode (location: (11,0)-(12,0))
│ ├── flags: ∅
- │ ├── opening_loc: (124...126) = "%\n"
- │ ├── content_loc: (126...129) = "abc"
- │ ├── closing_loc: (129...130) = "\n"
+ │ ├── opening_loc: (11,0)-(11,0) = "%\n"
+ │ ├── content_loc: (12,0)-(12,3) = "abc"
+ │ ├── closing_loc: (12,3)-(12,0) = "\n"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (132...139))
+ ├── @ StringNode (location: (14,0)-(15,0))
│ ├── flags: ∅
- │ ├── opening_loc: (132...134) = "%\n"
- │ ├── content_loc: (134...138) = "\rabc"
- │ ├── closing_loc: (138...139) = "\n"
+ │ ├── opening_loc: (14,0)-(14,0) = "%\n"
+ │ ├── content_loc: (15,0)-(15,4) = "\rabc"
+ │ ├── closing_loc: (15,4)-(15,0) = "\n"
│ └── unescaped: "\rabc"
- ├── @ StringNode (location: (142...149))
+ ├── @ StringNode (location: (17,0)-(18,0))
│ ├── flags: ∅
- │ ├── opening_loc: (142...144) = "%\n"
- │ ├── content_loc: (144...148) = "\rabc"
- │ ├── closing_loc: (148...149) = "\n"
+ │ ├── opening_loc: (17,0)-(17,0) = "%\n"
+ │ ├── content_loc: (18,0)-(18,4) = "\rabc"
+ │ ├── closing_loc: (18,4)-(18,0) = "\n"
│ └── unescaped: "\rabc"
- ├── @ StringNode (location: (151...157))
+ ├── @ StringNode (location: (20,0)-(21,0))
│ ├── flags: ∅
- │ ├── opening_loc: (151...153) = "%\n"
- │ ├── content_loc: (153...156) = "abc"
- │ ├── closing_loc: (156...157) = "\n"
+ │ ├── opening_loc: (20,0)-(20,0) = "%\n"
+ │ ├── content_loc: (21,0)-(21,3) = "abc"
+ │ ├── closing_loc: (21,3)-(21,0) = "\n"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (159...165))
+ ├── @ StringNode (location: (23,0)-(23,6))
│ ├── flags: ∅
- │ ├── opening_loc: (159...161) = "%\r"
- │ ├── content_loc: (161...164) = "abc"
- │ ├── closing_loc: (164...165) = "\r"
+ │ ├── opening_loc: (23,0)-(23,2) = "%\r"
+ │ ├── content_loc: (23,2)-(23,5) = "abc"
+ │ ├── closing_loc: (23,5)-(23,6) = "\r"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (167...173))
+ ├── @ StringNode (location: (24,0)-(25,0))
│ ├── flags: ∅
- │ ├── opening_loc: (167...169) = "%\n"
- │ ├── content_loc: (169...172) = "abc"
- │ ├── closing_loc: (172...173) = "\n"
+ │ ├── opening_loc: (24,0)-(24,0) = "%\n"
+ │ ├── content_loc: (25,0)-(25,3) = "abc"
+ │ ├── closing_loc: (25,3)-(25,0) = "\n"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (175...181))
+ ├── @ StringNode (location: (27,0)-(28,0))
│ ├── flags: ∅
- │ ├── opening_loc: (175...177) = "%\n"
- │ ├── content_loc: (177...180) = "abc"
- │ ├── closing_loc: (180...181) = "\n"
+ │ ├── opening_loc: (27,0)-(27,0) = "%\n"
+ │ ├── content_loc: (28,0)-(28,3) = "abc"
+ │ ├── closing_loc: (28,3)-(28,0) = "\n"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (182...188))
+ ├── @ StringNode (location: (30,0)-(31,0))
│ ├── flags: ∅
- │ ├── opening_loc: (182...184) = "%\n"
- │ ├── content_loc: (184...187) = "foo"
- │ ├── closing_loc: (187...188) = "\n"
+ │ ├── opening_loc: (30,0)-(30,0) = "%\n"
+ │ ├── content_loc: (31,0)-(31,3) = "foo"
+ │ ├── closing_loc: (31,3)-(31,0) = "\n"
│ └── unescaped: "foo"
- ├── @ StringNode (location: (189...196))
+ ├── @ StringNode (location: (33,0)-(34,0))
│ ├── flags: ∅
- │ ├── opening_loc: (189...192) = "%q\n"
- │ ├── content_loc: (192...195) = "foo"
- │ ├── closing_loc: (195...196) = "\n"
+ │ ├── opening_loc: (33,0)-(33,0) = "%q\n"
+ │ ├── content_loc: (34,0)-(34,3) = "foo"
+ │ ├── closing_loc: (34,3)-(34,0) = "\n"
│ └── unescaped: "foo"
- ├── @ StringNode (location: (197...204))
+ ├── @ StringNode (location: (36,0)-(37,0))
│ ├── flags: ∅
- │ ├── opening_loc: (197...200) = "%Q\n"
- │ ├── content_loc: (200...203) = "foo"
- │ ├── closing_loc: (203...204) = "\n"
+ │ ├── opening_loc: (36,0)-(36,0) = "%Q\n"
+ │ ├── content_loc: (37,0)-(37,3) = "foo"
+ │ ├── closing_loc: (37,3)-(37,0) = "\n"
│ └── unescaped: "foo"
- └── @ RegularExpressionNode (location: (205...212))
- ├── opening_loc: (205...208) = "%r\n"
- ├── content_loc: (208...211) = "foo"
- ├── closing_loc: (211...212) = "\n"
+ └── @ RegularExpressionNode (location: (39,0)-(40,0))
+ ├── opening_loc: (39,0)-(39,0) = "%r\n"
+ ├── content_loc: (40,0)-(40,3) = "foo"
+ ├── closing_loc: (40,3)-(40,0) = "\n"
├── unescaped: "foo"
└── flags: ∅
diff --git a/test/yarp/snapshots/next.txt b/test/yarp/snapshots/next.txt
index 839c5d3c35..508cb1e539 100644
--- a/test/yarp/snapshots/next.txt
+++ b/test/yarp/snapshots/next.txt
@@ -1,123 +1,123 @@
-@ ProgramNode (location: (0...118))
+@ ProgramNode (location: (1,0)-(24,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...118))
+ @ StatementsNode (location: (1,0)-(24,7))
└── body: (length: 11)
- ├── @ NextNode (location: (0...4))
+ ├── @ NextNode (location: (1,0)-(1,4))
│ ├── arguments: ∅
- │ └── keyword_loc: (0...4) = "next"
- ├── @ NextNode (location: (6...24))
+ │ └── keyword_loc: (1,0)-(1,4) = "next"
+ ├── @ NextNode (location: (3,0)-(3,18))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (11...24))
+ │ │ @ ArgumentsNode (location: (3,5)-(3,18))
│ │ └── arguments: (length: 3)
- │ │ ├── @ ParenthesesNode (location: (11...14))
+ │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (12...13))
+ │ │ │ │ @ StatementsNode (location: (3,6)-(3,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (12...13))
+ │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (11...12) = "("
- │ │ │ └── closing_loc: (13...14) = ")"
- │ │ ├── @ ParenthesesNode (location: (16...19))
+ │ │ │ ├── opening_loc: (3,5)-(3,6) = "("
+ │ │ │ └── closing_loc: (3,7)-(3,8) = ")"
+ │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (17...18))
+ │ │ │ │ @ StatementsNode (location: (3,11)-(3,12))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (17...18))
+ │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (16...17) = "("
- │ │ │ └── closing_loc: (18...19) = ")"
- │ │ └── @ ParenthesesNode (location: (21...24))
+ │ │ │ ├── opening_loc: (3,10)-(3,11) = "("
+ │ │ │ └── closing_loc: (3,12)-(3,13) = ")"
+ │ │ └── @ ParenthesesNode (location: (3,15)-(3,18))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (22...23))
+ │ │ │ @ StatementsNode (location: (3,16)-(3,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (22...23))
+ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (21...22) = "("
- │ │ └── closing_loc: (23...24) = ")"
- │ └── keyword_loc: (6...10) = "next"
- ├── @ NextNode (location: (26...32))
+ │ │ ├── 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: (31...32))
+ │ │ @ ArgumentsNode (location: (5,5)-(5,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (31...32))
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
- │ └── keyword_loc: (26...30) = "next"
- ├── @ NextNode (location: (34...46))
+ │ └── keyword_loc: (5,0)-(5,4) = "next"
+ ├── @ NextNode (location: (7,0)-(8,1))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (39...46))
+ │ │ @ ArgumentsNode (location: (7,5)-(8,1))
│ │ └── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (39...40))
+ │ │ ├── @ IntegerNode (location: (7,5)-(7,6))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (42...43))
+ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (45...46))
+ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ └── flags: decimal
- │ └── keyword_loc: (34...38) = "next"
- ├── @ NextNode (location: (48...60))
+ │ └── keyword_loc: (7,0)-(7,4) = "next"
+ ├── @ NextNode (location: (10,0)-(10,12))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (53...60))
+ │ │ @ ArgumentsNode (location: (10,5)-(10,12))
│ │ └── arguments: (length: 3)
- │ │ ├── @ IntegerNode (location: (53...54))
+ │ │ ├── @ IntegerNode (location: (10,5)-(10,6))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (56...57))
+ │ │ ├── @ IntegerNode (location: (10,8)-(10,9))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (59...60))
+ │ │ └── @ IntegerNode (location: (10,11)-(10,12))
│ │ └── flags: decimal
- │ └── keyword_loc: (48...52) = "next"
- ├── @ NextNode (location: (62...76))
+ │ └── keyword_loc: (10,0)-(10,4) = "next"
+ ├── @ NextNode (location: (12,0)-(12,14))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (67...76))
+ │ │ @ ArgumentsNode (location: (12,5)-(12,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (67...76))
+ │ │ └── @ ArrayNode (location: (12,5)-(12,14))
│ │ ├── elements: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (68...69))
+ │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (71...72))
+ │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (74...75))
+ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (67...68) = "["
- │ │ └── closing_loc: (75...76) = "]"
- │ └── keyword_loc: (62...66) = "next"
- ├── @ NextNode (location: (78...93))
+ │ │ ├── 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: (82...93))
+ │ │ @ ArgumentsNode (location: (14,4)-(17,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (82...93))
+ │ │ └── @ ParenthesesNode (location: (14,4)-(17,1))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (86...91))
+ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (86...87))
+ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (90...91))
+ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (82...83) = "("
- │ │ └── closing_loc: (92...93) = ")"
- │ └── keyword_loc: (78...82) = "next"
- ├── @ NextNode (location: (95...99))
+ │ │ ├── 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: ∅
- │ └── keyword_loc: (95...99) = "next"
- ├── @ IntegerNode (location: (100...101))
+ │ └── keyword_loc: (19,0)-(19,4) = "next"
+ ├── @ IntegerNode (location: (20,0)-(20,1))
│ └── flags: decimal
- ├── @ NextNode (location: (103...109))
+ ├── @ NextNode (location: (22,0)-(22,6))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (107...109))
+ │ │ @ ArgumentsNode (location: (22,4)-(22,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (107...109))
+ │ │ └── @ ParenthesesNode (location: (22,4)-(22,6))
│ │ ├── body: ∅
- │ │ ├── opening_loc: (107...108) = "("
- │ │ └── closing_loc: (108...109) = ")"
- │ └── keyword_loc: (103...107) = "next"
- └── @ NextNode (location: (111...118))
+ │ │ ├── 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: (115...118))
+ │ @ ArgumentsNode (location: (24,4)-(24,7))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (115...118))
+ │ └── @ ParenthesesNode (location: (24,4)-(24,7))
│ ├── body:
- │ │ @ StatementsNode (location: (116...117))
+ │ │ @ StatementsNode (location: (24,5)-(24,6))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (116...117))
+ │ │ └── @ IntegerNode (location: (24,5)-(24,6))
│ │ └── flags: decimal
- │ ├── opening_loc: (115...116) = "("
- │ └── closing_loc: (117...118) = ")"
- └── keyword_loc: (111...115) = "next"
+ │ ├── opening_loc: (24,4)-(24,5) = "("
+ │ └── closing_loc: (24,6)-(24,7) = ")"
+ └── keyword_loc: (24,0)-(24,4) = "next"
diff --git a/test/yarp/snapshots/nils.txt b/test/yarp/snapshots/nils.txt
index b86c54548b..cbadbcf911 100644
--- a/test/yarp/snapshots/nils.txt
+++ b/test/yarp/snapshots/nils.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(12,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(12,11))
└── body: (length: 5)
- ├── @ NilNode (location: (0...3))
- ├── @ ParenthesesNode (location: (5...7))
+ ├── @ NilNode (location: (1,0)-(1,3))
+ ├── @ ParenthesesNode (location: (3,0)-(3,2))
│ ├── body: ∅
- │ ├── opening_loc: (5...6) = "("
- │ └── closing_loc: (6...7) = ")"
- ├── @ ParenthesesNode (location: (9...16))
+ │ ├── opening_loc: (3,0)-(3,1) = "("
+ │ └── closing_loc: (3,1)-(3,2) = ")"
+ ├── @ ParenthesesNode (location: (5,0)-(8,1))
│ ├── body: ∅
- │ ├── opening_loc: (9...10) = "("
- │ └── closing_loc: (15...16) = ")"
- ├── @ PostExecutionNode (location: (18...27))
+ │ ├── opening_loc: (5,0)-(5,1) = "("
+ │ └── closing_loc: (8,0)-(8,1) = ")"
+ ├── @ PostExecutionNode (location: (10,0)-(10,9))
│ ├── statements:
- │ │ @ StatementsNode (location: (24...25))
+ │ │ @ StatementsNode (location: (10,6)-(10,7))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (24...25))
+ │ │ └── @ IntegerNode (location: (10,6)-(10,7))
│ │ └── flags: decimal
- │ ├── keyword_loc: (18...21) = "END"
- │ ├── opening_loc: (22...23) = "{"
- │ └── closing_loc: (26...27) = "}"
- └── @ PreExecutionNode (location: (29...40))
+ │ ├── keyword_loc: (10,0)-(10,3) = "END"
+ │ ├── opening_loc: (10,4)-(10,5) = "{"
+ │ └── closing_loc: (10,8)-(10,9) = "}"
+ └── @ PreExecutionNode (location: (12,0)-(12,11))
├── statements:
- │ @ StatementsNode (location: (37...38))
+ │ @ StatementsNode (location: (12,8)-(12,9))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (37...38))
+ │ └── @ IntegerNode (location: (12,8)-(12,9))
│ └── flags: decimal
- ├── keyword_loc: (29...34) = "BEGIN"
- ├── opening_loc: (35...36) = "{"
- └── closing_loc: (39...40) = "}"
+ ├── keyword_loc: (12,0)-(12,5) = "BEGIN"
+ ├── opening_loc: (12,6)-(12,7) = "{"
+ └── closing_loc: (12,10)-(12,11) = "}"
diff --git a/test/yarp/snapshots/non_alphanumeric_methods.txt b/test/yarp/snapshots/non_alphanumeric_methods.txt
index 74d3f63846..725b94c4e5 100644
--- a/test/yarp/snapshots/non_alphanumeric_methods.txt
+++ b/test/yarp/snapshots/non_alphanumeric_methods.txt
@@ -1,165 +1,165 @@
-@ ProgramNode (location: (0...434))
+@ ProgramNode (location: (1,0)-(105,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...434))
+ @ StatementsNode (location: (1,0)-(105,3))
└── body: (length: 36)
- ├── @ DefNode (location: (0...9))
+ ├── @ DefNode (location: (1,0)-(2,3))
│ ├── name: :!
- │ ├── name_loc: (4...5) = "!"
+ │ ├── name_loc: (1,4)-(1,5) = "!"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (6...9) = "end"
- ├── @ DefNode (location: (11...21))
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ ├── @ DefNode (location: (4,0)-(5,3))
│ ├── name: :!=
- │ ├── name_loc: (15...17) = "!="
+ │ ├── name_loc: (4,4)-(4,6) = "!="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (11...14) = "def"
+ │ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (18...21) = "end"
- ├── @ DefNode (location: (23...33))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ DefNode (location: (7,0)-(8,3))
│ ├── name: :!~
- │ ├── name_loc: (27...29) = "!~"
+ │ ├── name_loc: (7,4)-(7,6) = "!~"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (23...26) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (30...33) = "end"
- ├── @ DefNode (location: (35...44))
+ │ └── end_keyword_loc: (8,0)-(8,3) = "end"
+ ├── @ DefNode (location: (10,0)-(11,3))
│ ├── name: :%
- │ ├── name_loc: (39...40) = "%"
+ │ ├── name_loc: (10,4)-(10,5) = "%"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (35...38) = "def"
+ │ ├── def_keyword_loc: (10,0)-(10,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (41...44) = "end"
- ├── @ DefNode (location: (46...60))
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ DefNode (location: (13,0)-(14,3))
│ ├── name: :+
- │ ├── name_loc: (55...56) = "+"
+ │ ├── name_loc: (13,9)-(13,10) = "+"
│ ├── receiver:
- │ │ @ SelfNode (location: (50...54))
+ │ │ @ SelfNode (location: (13,4)-(13,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (46...49) = "def"
- │ ├── operator_loc: (54...55) = "."
+ │ ├── def_keyword_loc: (13,0)-(13,3) = "def"
+ │ ├── operator_loc: (13,8)-(13,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (57...60) = "end"
- ├── @ DefNode (location: (62...71))
+ │ └── end_keyword_loc: (14,0)-(14,3) = "end"
+ ├── @ DefNode (location: (16,0)-(17,3))
│ ├── name: :&
- │ ├── name_loc: (66...67) = "&"
+ │ ├── name_loc: (16,4)-(16,5) = "&"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (62...65) = "def"
+ │ ├── def_keyword_loc: (16,0)-(16,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (68...71) = "end"
- ├── @ DefNode (location: (73...82))
+ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ ├── @ DefNode (location: (19,0)-(20,3))
│ ├── name: :*
- │ ├── name_loc: (77...78) = "*"
+ │ ├── name_loc: (19,4)-(19,5) = "*"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (73...76) = "def"
+ │ ├── def_keyword_loc: (19,0)-(19,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (79...82) = "end"
- ├── @ DefNode (location: (84...94))
+ │ └── end_keyword_loc: (20,0)-(20,3) = "end"
+ ├── @ DefNode (location: (22,0)-(23,3))
│ ├── name: :**
- │ ├── name_loc: (88...90) = "**"
+ │ ├── name_loc: (22,4)-(22,6) = "**"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (84...87) = "def"
+ │ ├── def_keyword_loc: (22,0)-(22,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (91...94) = "end"
- ├── @ StringNode (location: (96...102))
+ │ └── end_keyword_loc: (23,0)-(23,3) = "end"
+ ├── @ StringNode (location: (25,0)-(25,6))
│ ├── flags: ∅
- │ ├── opening_loc: (96...98) = "%|"
- │ ├── content_loc: (98...101) = "abc"
- │ ├── closing_loc: (101...102) = "|"
+ │ ├── opening_loc: (25,0)-(25,2) = "%|"
+ │ ├── content_loc: (25,2)-(25,5) = "abc"
+ │ ├── closing_loc: (25,5)-(25,6) = "|"
│ └── unescaped: "abc"
- ├── @ DefNode (location: (104...117))
+ ├── @ DefNode (location: (27,0)-(28,3))
│ ├── name: :+
- │ ├── name_loc: (108...109) = "+"
+ │ ├── name_loc: (27,4)-(27,5) = "+"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (110...113))
+ │ │ @ ParametersNode (location: (27,6)-(27,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (110...113))
+ │ │ │ @ KeywordRestParameterNode (location: (27,6)-(27,9))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (112...113) = "b"
- │ │ │ └── operator_loc: (110...112) = "**"
+ │ │ │ ├── name_loc: (27,8)-(27,9) = "b"
+ │ │ │ └── operator_loc: (27,6)-(27,8) = "**"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (104...107) = "def"
+ │ ├── def_keyword_loc: (27,0)-(27,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (114...117) = "end"
- ├── @ DefNode (location: (119...130))
+ │ └── end_keyword_loc: (28,0)-(28,3) = "end"
+ ├── @ DefNode (location: (30,0)-(31,3))
│ ├── name: :+
- │ ├── name_loc: (123...124) = "+"
+ │ ├── name_loc: (30,4)-(30,5) = "+"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (119...122) = "def"
+ │ ├── def_keyword_loc: (30,0)-(30,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (124...125) = "("
- │ ├── rparen_loc: (125...126) = ")"
+ │ ├── lparen_loc: (30,5)-(30,6) = "("
+ │ ├── rparen_loc: (30,6)-(30,7) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (127...130) = "end"
- ├── @ DefNode (location: (132...143))
+ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ ├── @ DefNode (location: (33,0)-(34,3))
│ ├── name: :+
- │ ├── name_loc: (136...137) = "+"
+ │ ├── name_loc: (33,4)-(33,5) = "+"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (138...139))
+ │ │ @ ParametersNode (location: (33,6)-(33,7))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (138...139))
+ │ │ │ └── @ RequiredParameterNode (location: (33,6)-(33,7))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -169,73 +169,73 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (132...135) = "def"
+ │ ├── def_keyword_loc: (33,0)-(33,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (140...143) = "end"
- ├── @ DefNode (location: (145...159))
+ │ └── end_keyword_loc: (34,0)-(34,3) = "end"
+ ├── @ DefNode (location: (36,0)-(37,3))
│ ├── name: :+
- │ ├── name_loc: (154...155) = "+"
+ │ ├── name_loc: (36,9)-(36,10) = "+"
│ ├── receiver:
- │ │ @ SelfNode (location: (149...153))
+ │ │ @ SelfNode (location: (36,4)-(36,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (145...148) = "def"
- │ ├── operator_loc: (153...154) = "."
+ │ ├── def_keyword_loc: (36,0)-(36,3) = "def"
+ │ ├── operator_loc: (36,8)-(36,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (156...159) = "end"
- ├── @ DefNode (location: (161...170))
+ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
+ ├── @ DefNode (location: (39,0)-(40,3))
│ ├── name: :+
- │ ├── name_loc: (165...166) = "+"
+ │ ├── name_loc: (39,4)-(39,5) = "+"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (161...164) = "def"
+ │ ├── def_keyword_loc: (39,0)-(39,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (167...170) = "end"
- ├── @ DefNode (location: (172...182))
+ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
+ ├── @ DefNode (location: (42,0)-(43,3))
│ ├── name: :+@
- │ ├── name_loc: (176...178) = "+@"
+ │ ├── name_loc: (42,4)-(42,6) = "+@"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (172...175) = "def"
+ │ ├── def_keyword_loc: (42,0)-(42,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (179...182) = "end"
- ├── @ DefNode (location: (184...193))
+ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
+ ├── @ DefNode (location: (45,0)-(46,3))
│ ├── name: :-
- │ ├── name_loc: (188...189) = "-"
+ │ ├── name_loc: (45,4)-(45,5) = "-"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (184...187) = "def"
+ │ ├── def_keyword_loc: (45,0)-(45,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (190...193) = "end"
- ├── @ DefNode (location: (195...206))
+ │ └── end_keyword_loc: (46,0)-(46,3) = "end"
+ ├── @ DefNode (location: (48,0)-(48,11))
│ ├── name: :-
- │ ├── name_loc: (201...202) = "-"
+ │ ├── name_loc: (48,6)-(48,7) = "-"
│ ├── receiver:
- │ │ @ CallNode (location: (199...200))
+ │ │ @ CallNode (location: (48,4)-(48,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (199...200) = "a"
+ │ │ ├── message_loc: (48,4)-(48,5) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -245,257 +245,257 @@
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (195...198) = "def"
- │ ├── operator_loc: (200...201) = "."
+ │ ├── def_keyword_loc: (48,0)-(48,3) = "def"
+ │ ├── operator_loc: (48,5)-(48,6) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (203...206) = "end"
- ├── @ DefNode (location: (208...218))
+ │ └── end_keyword_loc: (48,8)-(48,11) = "end"
+ ├── @ DefNode (location: (50,0)-(51,3))
│ ├── name: :-@
- │ ├── name_loc: (212...214) = "-@"
+ │ ├── name_loc: (50,4)-(50,6) = "-@"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (208...211) = "def"
+ │ ├── def_keyword_loc: (50,0)-(50,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (215...218) = "end"
- ├── @ DefNode (location: (220...229))
+ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ ├── @ DefNode (location: (53,0)-(54,3))
│ ├── name: :/
- │ ├── name_loc: (224...225) = "/"
+ │ ├── name_loc: (53,4)-(53,5) = "/"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (220...223) = "def"
+ │ ├── def_keyword_loc: (53,0)-(53,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (226...229) = "end"
- ├── @ DefNode (location: (231...240))
+ │ └── end_keyword_loc: (54,0)-(54,3) = "end"
+ ├── @ DefNode (location: (56,0)-(57,3))
│ ├── name: :<
- │ ├── name_loc: (235...236) = "<"
+ │ ├── name_loc: (56,4)-(56,5) = "<"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (231...234) = "def"
+ │ ├── def_keyword_loc: (56,0)-(56,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (237...240) = "end"
- ├── @ DefNode (location: (242...252))
+ │ └── end_keyword_loc: (57,0)-(57,3) = "end"
+ ├── @ DefNode (location: (59,0)-(60,3))
│ ├── name: :<<
- │ ├── name_loc: (246...248) = "<<"
+ │ ├── name_loc: (59,4)-(59,6) = "<<"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (242...245) = "def"
+ │ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (249...252) = "end"
- ├── @ DefNode (location: (254...264))
+ │ └── end_keyword_loc: (60,0)-(60,3) = "end"
+ ├── @ DefNode (location: (62,0)-(63,3))
│ ├── name: :<=
- │ ├── name_loc: (258...260) = "<="
+ │ ├── name_loc: (62,4)-(62,6) = "<="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (254...257) = "def"
+ │ ├── def_keyword_loc: (62,0)-(62,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (261...264) = "end"
- ├── @ DefNode (location: (266...277))
+ │ └── end_keyword_loc: (63,0)-(63,3) = "end"
+ ├── @ DefNode (location: (65,0)-(66,3))
│ ├── name: :<=>
- │ ├── name_loc: (270...273) = "<=>"
+ │ ├── name_loc: (65,4)-(65,7) = "<=>"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (266...269) = "def"
+ │ ├── def_keyword_loc: (65,0)-(65,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (274...277) = "end"
- ├── @ DefNode (location: (279...289))
+ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ ├── @ DefNode (location: (68,0)-(69,3))
│ ├── name: :==
- │ ├── name_loc: (283...285) = "=="
+ │ ├── name_loc: (68,4)-(68,6) = "=="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (279...282) = "def"
+ │ ├── def_keyword_loc: (68,0)-(68,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (286...289) = "end"
- ├── @ DefNode (location: (291...302))
+ │ └── end_keyword_loc: (69,0)-(69,3) = "end"
+ ├── @ DefNode (location: (71,0)-(72,3))
│ ├── name: :===
- │ ├── name_loc: (295...298) = "==="
+ │ ├── name_loc: (71,4)-(71,7) = "==="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (291...294) = "def"
+ │ ├── def_keyword_loc: (71,0)-(71,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (299...302) = "end"
- ├── @ DefNode (location: (304...314))
+ │ └── end_keyword_loc: (72,0)-(72,3) = "end"
+ ├── @ DefNode (location: (74,0)-(75,3))
│ ├── name: :=~
- │ ├── name_loc: (308...310) = "=~"
+ │ ├── name_loc: (74,4)-(74,6) = "=~"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (304...307) = "def"
+ │ ├── def_keyword_loc: (74,0)-(74,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (311...314) = "end"
- ├── @ DefNode (location: (316...325))
+ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ ├── @ DefNode (location: (77,0)-(78,3))
│ ├── name: :>
- │ ├── name_loc: (320...321) = ">"
+ │ ├── name_loc: (77,4)-(77,5) = ">"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (316...319) = "def"
+ │ ├── def_keyword_loc: (77,0)-(77,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (322...325) = "end"
- ├── @ DefNode (location: (327...337))
+ │ └── end_keyword_loc: (78,0)-(78,3) = "end"
+ ├── @ DefNode (location: (80,0)-(81,3))
│ ├── name: :>=
- │ ├── name_loc: (331...333) = ">="
+ │ ├── name_loc: (80,4)-(80,6) = ">="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (327...330) = "def"
+ │ ├── def_keyword_loc: (80,0)-(80,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (334...337) = "end"
- ├── @ DefNode (location: (339...349))
+ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ ├── @ DefNode (location: (83,0)-(84,3))
│ ├── name: :>>
- │ ├── name_loc: (343...345) = ">>"
+ │ ├── name_loc: (83,4)-(83,6) = ">>"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (339...342) = "def"
+ │ ├── def_keyword_loc: (83,0)-(83,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (346...349) = "end"
- ├── @ DefNode (location: (351...361))
+ │ └── end_keyword_loc: (84,0)-(84,3) = "end"
+ ├── @ DefNode (location: (86,0)-(87,3))
│ ├── name: :[]
- │ ├── name_loc: (355...357) = "[]"
+ │ ├── name_loc: (86,4)-(86,6) = "[]"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (351...354) = "def"
+ │ ├── def_keyword_loc: (86,0)-(86,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (358...361) = "end"
- ├── @ DefNode (location: (363...374))
+ │ └── end_keyword_loc: (87,0)-(87,3) = "end"
+ ├── @ DefNode (location: (89,0)-(90,3))
│ ├── name: :[]=
- │ ├── name_loc: (367...370) = "[]="
+ │ ├── name_loc: (89,4)-(89,7) = "[]="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (363...366) = "def"
+ │ ├── def_keyword_loc: (89,0)-(89,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (371...374) = "end"
- ├── @ DefNode (location: (376...385))
+ │ └── end_keyword_loc: (90,0)-(90,3) = "end"
+ ├── @ DefNode (location: (92,0)-(93,3))
│ ├── name: :^
- │ ├── name_loc: (380...381) = "^"
+ │ ├── name_loc: (92,4)-(92,5) = "^"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (376...379) = "def"
+ │ ├── def_keyword_loc: (92,0)-(92,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (382...385) = "end"
- ├── @ DefNode (location: (387...396))
+ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ ├── @ DefNode (location: (95,0)-(96,3))
│ ├── name: :`
- │ ├── name_loc: (391...392) = "`"
+ │ ├── name_loc: (95,4)-(95,5) = "`"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (387...390) = "def"
+ │ ├── def_keyword_loc: (95,0)-(95,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (393...396) = "end"
- ├── @ DefNode (location: (398...412))
+ │ └── end_keyword_loc: (96,0)-(96,3) = "end"
+ ├── @ DefNode (location: (98,0)-(99,3))
│ ├── name: :`
- │ ├── name_loc: (407...408) = "`"
+ │ ├── name_loc: (98,9)-(98,10) = "`"
│ ├── receiver:
- │ │ @ SelfNode (location: (402...406))
+ │ │ @ SelfNode (location: (98,4)-(98,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (398...401) = "def"
- │ ├── operator_loc: (406...407) = "."
+ │ ├── def_keyword_loc: (98,0)-(98,3) = "def"
+ │ ├── operator_loc: (98,8)-(98,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (409...412) = "end"
- ├── @ DefNode (location: (414...423))
+ │ └── end_keyword_loc: (99,0)-(99,3) = "end"
+ ├── @ DefNode (location: (101,0)-(102,3))
│ ├── name: :|
- │ ├── name_loc: (418...419) = "|"
+ │ ├── name_loc: (101,4)-(101,5) = "|"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (414...417) = "def"
+ │ ├── def_keyword_loc: (101,0)-(101,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (420...423) = "end"
- └── @ DefNode (location: (425...434))
+ │ └── end_keyword_loc: (102,0)-(102,3) = "end"
+ └── @ DefNode (location: (104,0)-(105,3))
├── name: :~
- ├── name_loc: (429...430) = "~"
+ ├── name_loc: (104,4)-(104,5) = "~"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (425...428) = "def"
+ ├── def_keyword_loc: (104,0)-(104,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (431...434) = "end"
+ └── end_keyword_loc: (105,0)-(105,3) = "end"
diff --git a/test/yarp/snapshots/not.txt b/test/yarp/snapshots/not.txt
index eab8b5a095..6f4255b48a 100644
--- a/test/yarp/snapshots/not.txt
+++ b/test/yarp/snapshots/not.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...190))
+@ ProgramNode (location: (1,0)-(37,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...190))
+ @ StatementsNode (location: (1,0)-(37,16))
└── body: (length: 10)
- ├── @ AndNode (location: (0...19))
+ ├── @ AndNode (location: (1,0)-(1,19))
│ ├── left:
- │ │ @ CallNode (location: (0...7))
+ │ │ @ CallNode (location: (1,0)-(1,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (4...7))
+ │ │ │ @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...7) = "foo"
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -18,7 +18,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "not"
+ │ │ ├── message_loc: (1,0)-(1,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -26,12 +26,12 @@
│ │ ├── flags: ∅
│ │ └── name: "!"
│ ├── right:
- │ │ @ CallNode (location: (12...19))
+ │ │ @ CallNode (location: (1,12)-(1,19))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (16...19))
+ │ │ │ @ CallNode (location: (1,16)-(1,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (16...19) = "bar"
+ │ │ │ ├── message_loc: (1,16)-(1,19) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -39,22 +39,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "not"
+ │ │ ├── message_loc: (1,12)-(1,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "!"
- │ └── operator_loc: (8...11) = "and"
- ├── @ CallNode (location: (21...37))
+ │ └── operator_loc: (1,8)-(1,11) = "and"
+ ├── @ CallNode (location: (3,0)-(3,16))
│ ├── receiver:
- │ │ @ AndNode (location: (25...36))
+ │ │ @ AndNode (location: (3,4)-(3,15))
│ │ ├── left:
- │ │ │ @ CallNode (location: (25...28))
+ │ │ │ @ CallNode (location: (3,4)-(3,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (25...28) = "foo"
+ │ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -62,31 +62,31 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── right:
- │ │ │ @ CallNode (location: (33...36))
+ │ │ │ @ CallNode (location: (3,12)-(3,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (33...36) = "bar"
+ │ │ │ ├── message_loc: (3,12)-(3,15) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (29...32) = "and"
+ │ │ └── operator_loc: (3,8)-(3,11) = "and"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "not"
- │ ├── opening_loc: (24...25) = "("
+ │ ├── message_loc: (3,0)-(3,3) = "not"
+ │ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (36...37) = ")"
+ │ ├── closing_loc: (3,15)-(3,16) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (39...46))
+ ├── @ CallNode (location: (5,0)-(5,7))
│ ├── receiver:
- │ │ @ CallNode (location: (43...46))
+ │ │ @ CallNode (location: (5,4)-(5,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (43...46) = "foo"
+ │ │ ├── message_loc: (5,4)-(5,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -94,21 +94,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (39...42) = "not"
+ │ ├── message_loc: (5,0)-(5,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ AndNode (location: (48...69))
+ ├── @ AndNode (location: (7,0)-(8,5))
│ ├── left:
- │ │ @ CallNode (location: (48...55))
+ │ │ @ CallNode (location: (7,0)-(7,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (52...55))
+ │ │ │ @ CallNode (location: (7,4)-(7,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (52...55) = "foo"
+ │ │ │ ├── message_loc: (7,4)-(7,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -116,7 +116,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (48...51) = "not"
+ │ │ ├── message_loc: (7,0)-(7,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -124,12 +124,12 @@
│ │ ├── flags: ∅
│ │ └── name: "!"
│ ├── right:
- │ │ @ CallNode (location: (60...69))
+ │ │ @ CallNode (location: (7,12)-(8,5))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (66...69))
+ │ │ │ @ CallNode (location: (8,2)-(8,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (66...69) = "bar"
+ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -137,22 +137,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (60...63) = "not"
+ │ │ ├── message_loc: (7,12)-(7,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "!"
- │ └── operator_loc: (56...59) = "and"
- ├── @ AndNode (location: (72...97))
+ │ └── operator_loc: (7,8)-(7,11) = "and"
+ ├── @ AndNode (location: (11,0)-(13,5))
│ ├── left:
- │ │ @ CallNode (location: (72...79))
+ │ │ @ CallNode (location: (11,0)-(11,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (76...79))
+ │ │ │ @ CallNode (location: (11,4)-(11,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (76...79) = "foo"
+ │ │ │ ├── message_loc: (11,4)-(11,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -160,7 +160,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (72...75) = "not"
+ │ │ ├── message_loc: (11,0)-(11,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -168,12 +168,12 @@
│ │ ├── flags: ∅
│ │ └── name: "!"
│ ├── right:
- │ │ @ CallNode (location: (88...97))
+ │ │ @ CallNode (location: (12,4)-(13,5))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (94...97))
+ │ │ │ @ CallNode (location: (13,2)-(13,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (94...97) = "bar"
+ │ │ │ ├── message_loc: (13,2)-(13,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -181,22 +181,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (88...91) = "not"
+ │ │ ├── message_loc: (12,4)-(12,7) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "!"
- │ └── operator_loc: (80...83) = "and"
- ├── @ AndNode (location: (100...125))
+ │ └── operator_loc: (11,8)-(11,11) = "and"
+ ├── @ AndNode (location: (16,0)-(20,5))
│ ├── left:
- │ │ @ CallNode (location: (100...107))
+ │ │ @ CallNode (location: (16,0)-(16,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (104...107))
+ │ │ │ @ CallNode (location: (16,4)-(16,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (104...107) = "foo"
+ │ │ │ ├── message_loc: (16,4)-(16,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -204,7 +204,7 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (100...103) = "not"
+ │ │ ├── message_loc: (16,0)-(16,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -212,12 +212,12 @@
│ │ ├── flags: ∅
│ │ └── name: "!"
│ ├── right:
- │ │ @ CallNode (location: (114...125))
+ │ │ @ CallNode (location: (17,2)-(20,5))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (122...125))
+ │ │ │ @ CallNode (location: (20,2)-(20,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (122...125) = "bar"
+ │ │ │ ├── message_loc: (20,2)-(20,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -225,20 +225,20 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (114...117) = "not"
+ │ │ ├── message_loc: (17,2)-(17,5) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "!"
- │ └── operator_loc: (108...111) = "and"
- ├── @ CallNode (location: (127...138))
+ │ └── operator_loc: (16,8)-(16,11) = "and"
+ ├── @ CallNode (location: (22,0)-(25,1))
│ ├── receiver:
- │ │ @ CallNode (location: (131...134))
+ │ │ @ CallNode (location: (22,4)-(22,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (131...134) = "foo"
+ │ │ ├── message_loc: (22,4)-(22,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -246,19 +246,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (127...130) = "not"
- │ ├── opening_loc: (130...131) = "("
+ │ ├── message_loc: (22,0)-(22,3) = "not"
+ │ ├── opening_loc: (22,3)-(22,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (137...138) = ")"
+ │ ├── closing_loc: (25,0)-(25,1) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (140...156))
+ ├── @ CallNode (location: (27,0)-(33,3))
│ ├── receiver:
- │ │ @ CallNode (location: (147...150))
+ │ │ @ CallNode (location: (30,0)-(30,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (147...150) = "foo"
+ │ │ ├── message_loc: (30,0)-(30,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -266,21 +266,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (140...143) = "not"
- │ ├── opening_loc: (143...144) = "("
+ │ ├── message_loc: (27,0)-(27,3) = "not"
+ │ ├── opening_loc: (27,3)-(27,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (155...156) = ")"
+ │ ├── closing_loc: (33,2)-(33,3) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (158...172))
+ ├── @ CallNode (location: (35,0)-(35,14))
│ ├── receiver:
- │ │ @ FlipFlopNode (location: (162...172))
+ │ │ @ FlipFlopNode (location: (35,4)-(35,14))
│ │ ├── left:
- │ │ │ @ CallNode (location: (162...165))
+ │ │ │ @ CallNode (location: (35,4)-(35,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (162...165) = "foo"
+ │ │ │ ├── message_loc: (35,4)-(35,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -288,38 +288,38 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── right:
- │ │ │ @ CallNode (location: (169...172))
+ │ │ │ @ CallNode (location: (35,11)-(35,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (169...172) = "bar"
+ │ │ │ ├── message_loc: (35,11)-(35,14) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── operator_loc: (166...168) = ".."
+ │ │ ├── operator_loc: (35,8)-(35,10) = ".."
│ │ └── flags: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (158...161) = "not"
+ │ ├── message_loc: (35,0)-(35,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- └── @ CallNode (location: (174...190))
+ └── @ CallNode (location: (37,0)-(37,16))
├── receiver:
- │ @ ParenthesesNode (location: (178...190))
+ │ @ ParenthesesNode (location: (37,4)-(37,16))
│ ├── body:
- │ │ @ StatementsNode (location: (179...189))
+ │ │ @ StatementsNode (location: (37,5)-(37,15))
│ │ └── body: (length: 1)
- │ │ └── @ FlipFlopNode (location: (179...189))
+ │ │ └── @ FlipFlopNode (location: (37,5)-(37,15))
│ │ ├── left:
- │ │ │ @ CallNode (location: (179...182))
+ │ │ │ @ CallNode (location: (37,5)-(37,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (179...182) = "foo"
+ │ │ │ ├── message_loc: (37,5)-(37,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -327,22 +327,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── right:
- │ │ │ @ CallNode (location: (186...189))
+ │ │ │ @ CallNode (location: (37,12)-(37,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (186...189) = "bar"
+ │ │ │ ├── message_loc: (37,12)-(37,15) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── operator_loc: (183...185) = ".."
+ │ │ ├── operator_loc: (37,9)-(37,11) = ".."
│ │ └── flags: ∅
- │ ├── opening_loc: (178...179) = "("
- │ └── closing_loc: (189...190) = ")"
+ │ ├── opening_loc: (37,4)-(37,5) = "("
+ │ └── closing_loc: (37,15)-(37,16) = ")"
├── call_operator_loc: ∅
- ├── message_loc: (174...177) = "not"
+ ├── message_loc: (37,0)-(37,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/numbers.txt b/test/yarp/snapshots/numbers.txt
index 33cd381451..ca31480f67 100644
--- a/test/yarp/snapshots/numbers.txt
+++ b/test/yarp/snapshots/numbers.txt
@@ -1,102 +1,102 @@
-@ ProgramNode (location: (0...161))
+@ ProgramNode (location: (1,0)-(63,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...161))
+ @ StatementsNode (location: (1,0)-(63,5))
└── body: (length: 32)
- ├── @ IntegerNode (location: (0...1))
+ ├── @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
- ├── @ IntegerNode (location: (3...4))
+ ├── @ IntegerNode (location: (3,0)-(3,1))
│ └── flags: decimal
- ├── @ FloatNode (location: (6...9))
- ├── @ IntegerNode (location: (11...12))
+ ├── @ FloatNode (location: (5,0)-(5,3))
+ ├── @ IntegerNode (location: (7,0)-(7,1))
│ └── flags: decimal
- ├── @ IntegerNode (location: (14...17))
+ ├── @ IntegerNode (location: (9,0)-(9,3))
│ └── flags: binary
- ├── @ IntegerNode (location: (19...22))
+ ├── @ IntegerNode (location: (11,0)-(11,3))
│ └── flags: binary
- ├── @ IntegerNode (location: (24...28))
+ ├── @ IntegerNode (location: (13,0)-(13,4))
│ └── flags: binary
- ├── @ IntegerNode (location: (30...33))
+ ├── @ IntegerNode (location: (15,0)-(15,3))
│ └── flags: decimal
- ├── @ IntegerNode (location: (35...38))
+ ├── @ IntegerNode (location: (17,0)-(17,3))
│ └── flags: decimal
- ├── @ IntegerNode (location: (40...43))
+ ├── @ IntegerNode (location: (19,0)-(19,3))
│ └── flags: decimal
- ├── @ IntegerNode (location: (45...47))
+ ├── @ IntegerNode (location: (21,0)-(21,2))
│ └── flags: octal
- ├── @ IntegerNode (location: (49...51))
+ ├── @ IntegerNode (location: (23,0)-(23,2))
│ └── flags: octal
- ├── @ IntegerNode (location: (53...55))
+ ├── @ IntegerNode (location: (25,0)-(25,2))
│ └── flags: octal
- ├── @ IntegerNode (location: (57...60))
+ ├── @ IntegerNode (location: (27,0)-(27,3))
│ └── flags: octal
- ├── @ IntegerNode (location: (62...65))
+ ├── @ IntegerNode (location: (29,0)-(29,3))
│ └── flags: octal
- ├── @ IntegerNode (location: (67...70))
+ ├── @ IntegerNode (location: (31,0)-(31,3))
│ └── flags: octal
- ├── @ IntegerNode (location: (72...75))
+ ├── @ IntegerNode (location: (33,0)-(33,3))
│ └── flags: hexadecimal
- ├── @ IntegerNode (location: (77...80))
+ ├── @ IntegerNode (location: (35,0)-(35,3))
│ └── flags: hexadecimal
- ├── @ IntegerNode (location: (82...85))
+ ├── @ IntegerNode (location: (37,0)-(37,3))
│ └── flags: hexadecimal
- ├── @ ImaginaryNode (location: (87...89))
+ ├── @ ImaginaryNode (location: (39,0)-(39,2))
│ └── numeric:
- │ @ IntegerNode (location: (87...88))
+ │ @ IntegerNode (location: (39,0)-(39,1))
│ └── flags: decimal
- ├── @ RationalNode (location: (91...93))
+ ├── @ RationalNode (location: (41,0)-(41,2))
│ └── numeric:
- │ @ IntegerNode (location: (91...92))
+ │ @ IntegerNode (location: (41,0)-(41,1))
│ └── flags: decimal
- ├── @ IntegerNode (location: (95...97))
+ ├── @ IntegerNode (location: (43,0)-(43,2))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (99...102))
+ ├── @ ImaginaryNode (location: (45,0)-(45,3))
│ └── numeric:
- │ @ RationalNode (location: (99...101))
+ │ @ RationalNode (location: (45,0)-(45,2))
│ └── numeric:
- │ @ IntegerNode (location: (99...100))
+ │ @ IntegerNode (location: (45,0)-(45,1))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (104...109))
+ ├── @ ImaginaryNode (location: (47,0)-(47,5))
│ └── numeric:
- │ @ RationalNode (location: (104...108))
+ │ @ RationalNode (location: (47,0)-(47,4))
│ └── numeric:
- │ @ FloatNode (location: (104...107))
- ├── @ ImaginaryNode (location: (111...115))
+ │ @ FloatNode (location: (47,0)-(47,3))
+ ├── @ ImaginaryNode (location: (49,0)-(49,4))
│ └── numeric:
- │ @ RationalNode (location: (111...114))
+ │ @ RationalNode (location: (49,0)-(49,3))
│ └── numeric:
- │ @ IntegerNode (location: (111...113))
+ │ @ IntegerNode (location: (49,0)-(49,2))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (117...123))
+ ├── @ ImaginaryNode (location: (51,0)-(51,6))
│ └── numeric:
- │ @ RationalNode (location: (117...122))
+ │ @ RationalNode (location: (51,0)-(51,5))
│ └── numeric:
- │ @ FloatNode (location: (117...121))
- ├── @ RationalNode (location: (125...129))
+ │ @ FloatNode (location: (51,0)-(51,4))
+ ├── @ RationalNode (location: (53,0)-(53,4))
│ └── numeric:
- │ @ IntegerNode (location: (125...128))
+ │ @ IntegerNode (location: (53,0)-(53,3))
│ └── flags: octal
- ├── @ ImaginaryNode (location: (131...135))
+ ├── @ ImaginaryNode (location: (55,0)-(55,4))
│ └── numeric:
- │ @ IntegerNode (location: (131...134))
+ │ @ IntegerNode (location: (55,0)-(55,3))
│ └── flags: octal
- ├── @ ImaginaryNode (location: (137...142))
+ ├── @ ImaginaryNode (location: (57,0)-(57,5))
│ └── numeric:
- │ @ RationalNode (location: (137...141))
+ │ @ RationalNode (location: (57,0)-(57,4))
│ └── numeric:
- │ @ IntegerNode (location: (137...140))
+ │ @ IntegerNode (location: (57,0)-(57,3))
│ └── flags: octal
- ├── @ RationalNode (location: (144...148))
+ ├── @ RationalNode (location: (59,0)-(59,4))
│ └── numeric:
- │ @ IntegerNode (location: (144...147))
+ │ @ IntegerNode (location: (59,0)-(59,3))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (150...154))
+ ├── @ ImaginaryNode (location: (61,0)-(61,4))
│ └── numeric:
- │ @ IntegerNode (location: (150...153))
+ │ @ IntegerNode (location: (61,0)-(61,3))
│ └── flags: decimal
- └── @ ImaginaryNode (location: (156...161))
+ └── @ ImaginaryNode (location: (63,0)-(63,5))
└── numeric:
- @ RationalNode (location: (156...160))
+ @ RationalNode (location: (63,0)-(63,4))
└── numeric:
- @ IntegerNode (location: (156...159))
+ @ IntegerNode (location: (63,0)-(63,3))
└── flags: binary
diff --git a/test/yarp/snapshots/patterns.txt b/test/yarp/snapshots/patterns.txt
index 80a0f4134e..2cb524e1e0 100644
--- a/test/yarp/snapshots/patterns.txt
+++ b/test/yarp/snapshots/patterns.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...3743))
+@ ProgramNode (location: (1,0)-(192,1))
├── locals: [:bar, :baz, :qux, :b, :a]
└── statements:
- @ StatementsNode (location: (0...3743))
+ @ StatementsNode (location: (1,0)-(192,1))
└── body: (length: 170)
- ├── @ MatchRequiredNode (location: (0...10))
+ ├── @ MatchRequiredNode (location: (1,0)-(1,10))
│ ├── value:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ LocalVariableTargetNode (location: (7...10))
+ │ │ @ LocalVariableTargetNode (location: (1,7)-(1,10))
│ │ ├── name: :bar
│ │ └── depth: 0
- │ └── operator_loc: (4...6) = "=>"
- ├── @ MatchRequiredNode (location: (11...19))
+ │ └── operator_loc: (1,4)-(1,6) = "=>"
+ ├── @ MatchRequiredNode (location: (2,0)-(2,8))
│ ├── value:
- │ │ @ CallNode (location: (11...14))
+ │ │ @ CallNode (location: (2,0)-(2,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (2,0)-(2,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -33,15 +33,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ IntegerNode (location: (18...19))
+ │ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ └── flags: decimal
- │ └── operator_loc: (15...17) = "=>"
- ├── @ MatchRequiredNode (location: (20...30))
+ │ └── operator_loc: (2,4)-(2,6) = "=>"
+ ├── @ MatchRequiredNode (location: (3,0)-(3,10))
│ ├── value:
- │ │ @ CallNode (location: (20...23))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...23) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -49,14 +49,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FloatNode (location: (27...30))
- │ └── operator_loc: (24...26) = "=>"
- ├── @ MatchRequiredNode (location: (31...40))
+ │ │ @ FloatNode (location: (3,7)-(3,10))
+ │ └── operator_loc: (3,4)-(3,6) = "=>"
+ ├── @ MatchRequiredNode (location: (4,0)-(4,9))
│ ├── value:
- │ │ @ CallNode (location: (31...34))
+ │ │ @ CallNode (location: (4,0)-(4,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "foo"
+ │ │ ├── message_loc: (4,0)-(4,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -64,17 +64,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ImaginaryNode (location: (38...40))
+ │ │ @ ImaginaryNode (location: (4,7)-(4,9))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (38...39))
+ │ │ @ IntegerNode (location: (4,7)-(4,8))
│ │ └── flags: decimal
- │ └── operator_loc: (35...37) = "=>"
- ├── @ MatchRequiredNode (location: (41...50))
+ │ └── operator_loc: (4,4)-(4,6) = "=>"
+ ├── @ MatchRequiredNode (location: (5,0)-(5,9))
│ ├── value:
- │ │ @ CallNode (location: (41...44))
+ │ │ @ CallNode (location: (5,0)-(5,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (41...44) = "foo"
+ │ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -82,17 +82,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RationalNode (location: (48...50))
+ │ │ @ RationalNode (location: (5,7)-(5,9))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (48...49))
+ │ │ @ IntegerNode (location: (5,7)-(5,8))
│ │ └── flags: decimal
- │ └── operator_loc: (45...47) = "=>"
- ├── @ MatchRequiredNode (location: (51...62))
+ │ └── operator_loc: (5,4)-(5,6) = "=>"
+ ├── @ MatchRequiredNode (location: (6,0)-(6,11))
│ ├── value:
- │ │ @ CallNode (location: (51...54))
+ │ │ @ CallNode (location: (6,0)-(6,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (51...54) = "foo"
+ │ │ ├── message_loc: (6,0)-(6,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -100,18 +100,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (58...62))
- │ │ ├── opening_loc: (58...59) = ":"
- │ │ ├── value_loc: (59...62) = "foo"
+ │ │ @ SymbolNode (location: (6,7)-(6,11))
+ │ │ ├── opening_loc: (6,7)-(6,8) = ":"
+ │ │ ├── value_loc: (6,8)-(6,11) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── operator_loc: (55...57) = "=>"
- ├── @ MatchRequiredNode (location: (63...77))
+ │ └── operator_loc: (6,4)-(6,6) = "=>"
+ ├── @ MatchRequiredNode (location: (7,0)-(7,14))
│ ├── value:
- │ │ @ CallNode (location: (63...66))
+ │ │ @ CallNode (location: (7,0)-(7,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (63...66) = "foo"
+ │ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -119,18 +119,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (70...77))
- │ │ ├── opening_loc: (70...73) = "%s["
- │ │ ├── value_loc: (73...76) = "foo"
- │ │ ├── closing_loc: (76...77) = "]"
+ │ │ @ SymbolNode (location: (7,7)-(7,14))
+ │ │ ├── opening_loc: (7,7)-(7,10) = "%s["
+ │ │ ├── value_loc: (7,10)-(7,13) = "foo"
+ │ │ ├── closing_loc: (7,13)-(7,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (67...69) = "=>"
- ├── @ MatchRequiredNode (location: (78...91))
+ │ └── operator_loc: (7,4)-(7,6) = "=>"
+ ├── @ MatchRequiredNode (location: (8,0)-(8,13))
│ ├── value:
- │ │ @ CallNode (location: (78...81))
+ │ │ @ CallNode (location: (8,0)-(8,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (78...81) = "foo"
+ │ │ ├── message_loc: (8,0)-(8,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -138,18 +138,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (85...91))
- │ │ ├── opening_loc: (85...87) = ":\""
- │ │ ├── value_loc: (87...90) = "foo"
- │ │ ├── closing_loc: (90...91) = "\""
+ │ │ @ SymbolNode (location: (8,7)-(8,13))
+ │ │ ├── opening_loc: (8,7)-(8,9) = ":\""
+ │ │ ├── value_loc: (8,9)-(8,12) = "foo"
+ │ │ ├── closing_loc: (8,12)-(8,13) = "\""
│ │ └── unescaped: "foo"
- │ └── operator_loc: (82...84) = "=>"
- ├── @ MatchRequiredNode (location: (92...104))
+ │ └── operator_loc: (8,4)-(8,6) = "=>"
+ ├── @ MatchRequiredNode (location: (9,0)-(9,12))
│ ├── value:
- │ │ @ CallNode (location: (92...95))
+ │ │ @ CallNode (location: (9,0)-(9,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (92...95) = "foo"
+ │ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -157,19 +157,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RegularExpressionNode (location: (99...104))
- │ │ ├── opening_loc: (99...100) = "/"
- │ │ ├── content_loc: (100...103) = "foo"
- │ │ ├── closing_loc: (103...104) = "/"
+ │ │ @ RegularExpressionNode (location: (9,7)-(9,12))
+ │ │ ├── opening_loc: (9,7)-(9,8) = "/"
+ │ │ ├── content_loc: (9,8)-(9,11) = "foo"
+ │ │ ├── closing_loc: (9,11)-(9,12) = "/"
│ │ ├── unescaped: "foo"
│ │ └── flags: ∅
- │ └── operator_loc: (96...98) = "=>"
- ├── @ MatchRequiredNode (location: (105...117))
+ │ └── operator_loc: (9,4)-(9,6) = "=>"
+ ├── @ MatchRequiredNode (location: (10,0)-(10,12))
│ ├── value:
- │ │ @ CallNode (location: (105...108))
+ │ │ @ CallNode (location: (10,0)-(10,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (105...108) = "foo"
+ │ │ ├── message_loc: (10,0)-(10,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -177,18 +177,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ XStringNode (location: (112...117))
- │ │ ├── opening_loc: (112...113) = "`"
- │ │ ├── content_loc: (113...116) = "foo"
- │ │ ├── closing_loc: (116...117) = "`"
+ │ │ @ XStringNode (location: (10,7)-(10,12))
+ │ │ ├── opening_loc: (10,7)-(10,8) = "`"
+ │ │ ├── content_loc: (10,8)-(10,11) = "foo"
+ │ │ ├── closing_loc: (10,11)-(10,12) = "`"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (109...111) = "=>"
- ├── @ MatchRequiredNode (location: (118...132))
+ │ └── operator_loc: (10,4)-(10,6) = "=>"
+ ├── @ MatchRequiredNode (location: (11,0)-(11,14))
│ ├── value:
- │ │ @ CallNode (location: (118...121))
+ │ │ @ CallNode (location: (11,0)-(11,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (118...121) = "foo"
+ │ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -196,18 +196,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ XStringNode (location: (125...132))
- │ │ ├── opening_loc: (125...128) = "%x["
- │ │ ├── content_loc: (128...131) = "foo"
- │ │ ├── closing_loc: (131...132) = "]"
+ │ │ @ XStringNode (location: (11,7)-(11,14))
+ │ │ ├── opening_loc: (11,7)-(11,10) = "%x["
+ │ │ ├── content_loc: (11,10)-(11,13) = "foo"
+ │ │ ├── closing_loc: (11,13)-(11,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (122...124) = "=>"
- ├── @ MatchRequiredNode (location: (133...147))
+ │ └── operator_loc: (11,4)-(11,6) = "=>"
+ ├── @ MatchRequiredNode (location: (12,0)-(12,14))
│ ├── value:
- │ │ @ CallNode (location: (133...136))
+ │ │ @ CallNode (location: (12,0)-(12,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (133...136) = "foo"
+ │ │ ├── message_loc: (12,0)-(12,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -215,22 +215,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (140...147))
+ │ │ @ ArrayNode (location: (12,7)-(12,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SymbolNode (location: (143...146))
+ │ │ │ └── @ SymbolNode (location: (12,10)-(12,13))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (143...146) = "foo"
+ │ │ │ ├── value_loc: (12,10)-(12,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (140...143) = "%i["
- │ │ └── closing_loc: (146...147) = "]"
- │ └── operator_loc: (137...139) = "=>"
- ├── @ MatchRequiredNode (location: (148...162))
+ │ │ ├── opening_loc: (12,7)-(12,10) = "%i["
+ │ │ └── closing_loc: (12,13)-(12,14) = "]"
+ │ └── operator_loc: (12,4)-(12,6) = "=>"
+ ├── @ MatchRequiredNode (location: (13,0)-(13,14))
│ ├── value:
- │ │ @ CallNode (location: (148...151))
+ │ │ @ CallNode (location: (13,0)-(13,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (148...151) = "foo"
+ │ │ ├── message_loc: (13,0)-(13,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -238,22 +238,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (155...162))
+ │ │ @ ArrayNode (location: (13,7)-(13,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SymbolNode (location: (158...161))
+ │ │ │ └── @ SymbolNode (location: (13,10)-(13,13))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (158...161) = "foo"
+ │ │ │ ├── value_loc: (13,10)-(13,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (155...158) = "%I["
- │ │ └── closing_loc: (161...162) = "]"
- │ └── operator_loc: (152...154) = "=>"
- ├── @ MatchRequiredNode (location: (163...177))
+ │ │ ├── opening_loc: (13,7)-(13,10) = "%I["
+ │ │ └── closing_loc: (13,13)-(13,14) = "]"
+ │ └── operator_loc: (13,4)-(13,6) = "=>"
+ ├── @ MatchRequiredNode (location: (14,0)-(14,14))
│ ├── value:
- │ │ @ CallNode (location: (163...166))
+ │ │ @ CallNode (location: (14,0)-(14,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (163...166) = "foo"
+ │ │ ├── message_loc: (14,0)-(14,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -261,23 +261,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (170...177))
+ │ │ @ ArrayNode (location: (14,7)-(14,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ StringNode (location: (173...176))
+ │ │ │ └── @ StringNode (location: (14,10)-(14,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (173...176) = "foo"
+ │ │ │ ├── content_loc: (14,10)-(14,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (170...173) = "%w["
- │ │ └── closing_loc: (176...177) = "]"
- │ └── operator_loc: (167...169) = "=>"
- ├── @ MatchRequiredNode (location: (178...192))
+ │ │ ├── opening_loc: (14,7)-(14,10) = "%w["
+ │ │ └── closing_loc: (14,13)-(14,14) = "]"
+ │ └── operator_loc: (14,4)-(14,6) = "=>"
+ ├── @ MatchRequiredNode (location: (15,0)-(15,14))
│ ├── value:
- │ │ @ CallNode (location: (178...181))
+ │ │ @ CallNode (location: (15,0)-(15,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (178...181) = "foo"
+ │ │ ├── message_loc: (15,0)-(15,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -285,23 +285,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (185...192))
+ │ │ @ ArrayNode (location: (15,7)-(15,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ StringNode (location: (188...191))
+ │ │ │ └── @ StringNode (location: (15,10)-(15,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (188...191) = "foo"
+ │ │ │ ├── content_loc: (15,10)-(15,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (185...188) = "%W["
- │ │ └── closing_loc: (191...192) = "]"
- │ └── operator_loc: (182...184) = "=>"
- ├── @ MatchRequiredNode (location: (193...207))
+ │ │ ├── opening_loc: (15,7)-(15,10) = "%W["
+ │ │ └── closing_loc: (15,13)-(15,14) = "]"
+ │ └── operator_loc: (15,4)-(15,6) = "=>"
+ ├── @ MatchRequiredNode (location: (16,0)-(16,14))
│ ├── value:
- │ │ @ CallNode (location: (193...196))
+ │ │ @ CallNode (location: (16,0)-(16,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (193...196) = "foo"
+ │ │ ├── message_loc: (16,0)-(16,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -309,19 +309,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (200...207))
+ │ │ @ StringNode (location: (16,7)-(16,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (200...203) = "%q["
- │ │ ├── content_loc: (203...206) = "foo"
- │ │ ├── closing_loc: (206...207) = "]"
+ │ │ ├── opening_loc: (16,7)-(16,10) = "%q["
+ │ │ ├── content_loc: (16,10)-(16,13) = "foo"
+ │ │ ├── closing_loc: (16,13)-(16,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (197...199) = "=>"
- ├── @ MatchRequiredNode (location: (208...222))
+ │ └── operator_loc: (16,4)-(16,6) = "=>"
+ ├── @ MatchRequiredNode (location: (17,0)-(17,14))
│ ├── value:
- │ │ @ CallNode (location: (208...211))
+ │ │ @ CallNode (location: (17,0)-(17,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (208...211) = "foo"
+ │ │ ├── message_loc: (17,0)-(17,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -329,19 +329,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (215...222))
+ │ │ @ StringNode (location: (17,7)-(17,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (215...218) = "%Q["
- │ │ ├── content_loc: (218...221) = "foo"
- │ │ ├── closing_loc: (221...222) = "]"
+ │ │ ├── opening_loc: (17,7)-(17,10) = "%Q["
+ │ │ ├── content_loc: (17,10)-(17,13) = "foo"
+ │ │ ├── closing_loc: (17,13)-(17,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (212...214) = "=>"
- ├── @ MatchRequiredNode (location: (223...235))
+ │ └── operator_loc: (17,4)-(17,6) = "=>"
+ ├── @ MatchRequiredNode (location: (18,0)-(18,12))
│ ├── value:
- │ │ @ CallNode (location: (223...226))
+ │ │ @ CallNode (location: (18,0)-(18,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (223...226) = "foo"
+ │ │ ├── message_loc: (18,0)-(18,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -349,19 +349,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (230...235))
+ │ │ @ StringNode (location: (18,7)-(18,12))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (230...231) = "\""
- │ │ ├── content_loc: (231...234) = "foo"
- │ │ ├── closing_loc: (234...235) = "\""
+ │ │ ├── opening_loc: (18,7)-(18,8) = "\""
+ │ │ ├── content_loc: (18,8)-(18,11) = "foo"
+ │ │ ├── closing_loc: (18,11)-(18,12) = "\""
│ │ └── unescaped: "foo"
- │ └── operator_loc: (227...229) = "=>"
- ├── @ MatchRequiredNode (location: (236...246))
+ │ └── operator_loc: (18,4)-(18,6) = "=>"
+ ├── @ MatchRequiredNode (location: (19,0)-(19,10))
│ ├── value:
- │ │ @ CallNode (location: (236...239))
+ │ │ @ CallNode (location: (19,0)-(19,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (236...239) = "foo"
+ │ │ ├── message_loc: (19,0)-(19,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -369,14 +369,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ NilNode (location: (243...246))
- │ └── operator_loc: (240...242) = "=>"
- ├── @ MatchRequiredNode (location: (247...258))
+ │ │ @ NilNode (location: (19,7)-(19,10))
+ │ └── operator_loc: (19,4)-(19,6) = "=>"
+ ├── @ MatchRequiredNode (location: (20,0)-(20,11))
│ ├── value:
- │ │ @ CallNode (location: (247...250))
+ │ │ @ CallNode (location: (20,0)-(20,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (247...250) = "foo"
+ │ │ ├── message_loc: (20,0)-(20,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -384,14 +384,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SelfNode (location: (254...258))
- │ └── operator_loc: (251...253) = "=>"
- ├── @ MatchRequiredNode (location: (259...270))
+ │ │ @ SelfNode (location: (20,7)-(20,11))
+ │ └── operator_loc: (20,4)-(20,6) = "=>"
+ ├── @ MatchRequiredNode (location: (21,0)-(21,11))
│ ├── value:
- │ │ @ CallNode (location: (259...262))
+ │ │ @ CallNode (location: (21,0)-(21,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (259...262) = "foo"
+ │ │ ├── message_loc: (21,0)-(21,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -399,14 +399,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ TrueNode (location: (266...270))
- │ └── operator_loc: (263...265) = "=>"
- ├── @ MatchRequiredNode (location: (271...283))
+ │ │ @ TrueNode (location: (21,7)-(21,11))
+ │ └── operator_loc: (21,4)-(21,6) = "=>"
+ ├── @ MatchRequiredNode (location: (22,0)-(22,12))
│ ├── value:
- │ │ @ CallNode (location: (271...274))
+ │ │ @ CallNode (location: (22,0)-(22,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (271...274) = "foo"
+ │ │ ├── message_loc: (22,0)-(22,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -414,14 +414,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FalseNode (location: (278...283))
- │ └── operator_loc: (275...277) = "=>"
- ├── @ MatchRequiredNode (location: (284...299))
+ │ │ @ FalseNode (location: (22,7)-(22,12))
+ │ └── operator_loc: (22,4)-(22,6) = "=>"
+ ├── @ MatchRequiredNode (location: (23,0)-(23,15))
│ ├── value:
- │ │ @ CallNode (location: (284...287))
+ │ │ @ CallNode (location: (23,0)-(23,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (284...287) = "foo"
+ │ │ ├── message_loc: (23,0)-(23,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -429,15 +429,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceFileNode (location: (291...299))
+ │ │ @ SourceFileNode (location: (23,7)-(23,15))
│ │ └── filepath: "patterns.txt"
- │ └── operator_loc: (288...290) = "=>"
- ├── @ MatchRequiredNode (location: (300...315))
+ │ └── operator_loc: (23,4)-(23,6) = "=>"
+ ├── @ MatchRequiredNode (location: (24,0)-(24,15))
│ ├── value:
- │ │ @ CallNode (location: (300...303))
+ │ │ @ CallNode (location: (24,0)-(24,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (300...303) = "foo"
+ │ │ ├── message_loc: (24,0)-(24,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -445,14 +445,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceLineNode (location: (307...315))
- │ └── operator_loc: (304...306) = "=>"
- ├── @ MatchRequiredNode (location: (316...335))
+ │ │ @ SourceLineNode (location: (24,7)-(24,15))
+ │ └── operator_loc: (24,4)-(24,6) = "=>"
+ ├── @ MatchRequiredNode (location: (25,0)-(25,19))
│ ├── value:
- │ │ @ CallNode (location: (316...319))
+ │ │ @ CallNode (location: (25,0)-(25,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (316...319) = "foo"
+ │ │ ├── message_loc: (25,0)-(25,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -460,14 +460,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceEncodingNode (location: (323...335))
- │ └── operator_loc: (320...322) = "=>"
- ├── @ MatchRequiredNode (location: (336...353))
+ │ │ @ SourceEncodingNode (location: (25,7)-(25,19))
+ │ └── operator_loc: (25,4)-(25,6) = "=>"
+ ├── @ MatchRequiredNode (location: (26,0)-(26,17))
│ ├── value:
- │ │ @ CallNode (location: (336...339))
+ │ │ @ CallNode (location: (26,0)-(26,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (336...339) = "foo"
+ │ │ ├── message_loc: (26,0)-(26,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -475,25 +475,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ LambdaNode (location: (343...353))
+ │ │ @ LambdaNode (location: (26,7)-(26,17))
│ │ ├── locals: []
- │ │ ├── operator_loc: (343...345) = "->"
- │ │ ├── opening_loc: (346...347) = "{"
- │ │ ├── closing_loc: (352...353) = "}"
+ │ │ ├── operator_loc: (26,7)-(26,9) = "->"
+ │ │ ├── opening_loc: (26,10)-(26,11) = "{"
+ │ │ ├── closing_loc: (26,16)-(26,17) = "}"
│ │ ├── parameters: ∅
│ │ └── body:
- │ │ @ StatementsNode (location: (348...351))
+ │ │ @ StatementsNode (location: (26,12)-(26,15))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (348...351))
+ │ │ └── @ LocalVariableReadNode (location: (26,12)-(26,15))
│ │ ├── name: :bar
│ │ └── depth: 1
- │ └── operator_loc: (340...342) = "=>"
- ├── @ MatchRequiredNode (location: (355...368))
+ │ └── operator_loc: (26,4)-(26,6) = "=>"
+ ├── @ MatchRequiredNode (location: (28,0)-(28,13))
│ ├── value:
- │ │ @ CallNode (location: (355...358))
+ │ │ @ CallNode (location: (28,0)-(28,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (355...358) = "foo"
+ │ │ ├── message_loc: (28,0)-(28,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -501,22 +501,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (362...368))
+ │ │ @ RangeNode (location: (28,7)-(28,13))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (362...363))
+ │ │ │ @ IntegerNode (location: (28,7)-(28,8))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (367...368))
+ │ │ │ @ IntegerNode (location: (28,12)-(28,13))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (364...366) = ".."
+ │ │ ├── operator_loc: (28,9)-(28,11) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (359...361) = "=>"
- ├── @ MatchRequiredNode (location: (369...386))
+ │ └── operator_loc: (28,4)-(28,6) = "=>"
+ ├── @ MatchRequiredNode (location: (29,0)-(29,17))
│ ├── value:
- │ │ @ CallNode (location: (369...372))
+ │ │ @ CallNode (location: (29,0)-(29,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (369...372) = "foo"
+ │ │ ├── message_loc: (29,0)-(29,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -524,20 +524,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (376...386))
+ │ │ @ RangeNode (location: (29,7)-(29,17))
│ │ ├── left:
- │ │ │ @ FloatNode (location: (376...379))
+ │ │ │ @ FloatNode (location: (29,7)-(29,10))
│ │ ├── right:
- │ │ │ @ FloatNode (location: (383...386))
- │ │ ├── operator_loc: (380...382) = ".."
+ │ │ │ @ FloatNode (location: (29,14)-(29,17))
+ │ │ ├── operator_loc: (29,11)-(29,13) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (373...375) = "=>"
- ├── @ MatchRequiredNode (location: (387...402))
+ │ └── operator_loc: (29,4)-(29,6) = "=>"
+ ├── @ MatchRequiredNode (location: (30,0)-(30,15))
│ ├── value:
- │ │ @ CallNode (location: (387...390))
+ │ │ @ CallNode (location: (30,0)-(30,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (387...390) = "foo"
+ │ │ ├── message_loc: (30,0)-(30,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -545,26 +545,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (394...402))
+ │ │ @ RangeNode (location: (30,7)-(30,15))
│ │ ├── left:
- │ │ │ @ ImaginaryNode (location: (394...396))
+ │ │ │ @ ImaginaryNode (location: (30,7)-(30,9))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (394...395))
+ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ ImaginaryNode (location: (400...402))
+ │ │ │ @ ImaginaryNode (location: (30,13)-(30,15))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (400...401))
+ │ │ │ @ IntegerNode (location: (30,13)-(30,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (397...399) = ".."
+ │ │ ├── operator_loc: (30,10)-(30,12) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (391...393) = "=>"
- ├── @ MatchRequiredNode (location: (403...418))
+ │ └── operator_loc: (30,4)-(30,6) = "=>"
+ ├── @ MatchRequiredNode (location: (31,0)-(31,15))
│ ├── value:
- │ │ @ CallNode (location: (403...406))
+ │ │ @ CallNode (location: (31,0)-(31,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (403...406) = "foo"
+ │ │ ├── message_loc: (31,0)-(31,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -572,26 +572,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (410...418))
+ │ │ @ RangeNode (location: (31,7)-(31,15))
│ │ ├── left:
- │ │ │ @ RationalNode (location: (410...412))
+ │ │ │ @ RationalNode (location: (31,7)-(31,9))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (410...411))
+ │ │ │ @ IntegerNode (location: (31,7)-(31,8))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ RationalNode (location: (416...418))
+ │ │ │ @ RationalNode (location: (31,13)-(31,15))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (416...417))
+ │ │ │ @ IntegerNode (location: (31,13)-(31,14))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (413...415) = ".."
+ │ │ ├── operator_loc: (31,10)-(31,12) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (407...409) = "=>"
- ├── @ MatchRequiredNode (location: (419...438))
+ │ └── operator_loc: (31,4)-(31,6) = "=>"
+ ├── @ MatchRequiredNode (location: (32,0)-(32,19))
│ ├── value:
- │ │ @ CallNode (location: (419...422))
+ │ │ @ CallNode (location: (32,0)-(32,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (419...422) = "foo"
+ │ │ ├── message_loc: (32,0)-(32,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -599,28 +599,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (426...438))
+ │ │ @ RangeNode (location: (32,7)-(32,19))
│ │ ├── left:
- │ │ │ @ SymbolNode (location: (426...430))
- │ │ │ ├── opening_loc: (426...427) = ":"
- │ │ │ ├── value_loc: (427...430) = "foo"
+ │ │ │ @ SymbolNode (location: (32,7)-(32,11))
+ │ │ │ ├── opening_loc: (32,7)-(32,8) = ":"
+ │ │ │ ├── value_loc: (32,8)-(32,11) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ SymbolNode (location: (434...438))
- │ │ │ ├── opening_loc: (434...435) = ":"
- │ │ │ ├── value_loc: (435...438) = "foo"
+ │ │ │ @ SymbolNode (location: (32,15)-(32,19))
+ │ │ │ ├── opening_loc: (32,15)-(32,16) = ":"
+ │ │ │ ├── value_loc: (32,16)-(32,19) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (431...433) = ".."
+ │ │ ├── operator_loc: (32,12)-(32,14) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (423...425) = "=>"
- ├── @ MatchRequiredNode (location: (439...464))
+ │ └── operator_loc: (32,4)-(32,6) = "=>"
+ ├── @ MatchRequiredNode (location: (33,0)-(33,25))
│ ├── value:
- │ │ @ CallNode (location: (439...442))
+ │ │ @ CallNode (location: (33,0)-(33,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (439...442) = "foo"
+ │ │ ├── message_loc: (33,0)-(33,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -628,28 +628,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (446...464))
+ │ │ @ RangeNode (location: (33,7)-(33,25))
│ │ ├── left:
- │ │ │ @ SymbolNode (location: (446...453))
- │ │ │ ├── opening_loc: (446...449) = "%s["
- │ │ │ ├── value_loc: (449...452) = "foo"
- │ │ │ ├── closing_loc: (452...453) = "]"
+ │ │ │ @ SymbolNode (location: (33,7)-(33,14))
+ │ │ │ ├── opening_loc: (33,7)-(33,10) = "%s["
+ │ │ │ ├── value_loc: (33,10)-(33,13) = "foo"
+ │ │ │ ├── closing_loc: (33,13)-(33,14) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ SymbolNode (location: (457...464))
- │ │ │ ├── opening_loc: (457...460) = "%s["
- │ │ │ ├── value_loc: (460...463) = "foo"
- │ │ │ ├── closing_loc: (463...464) = "]"
+ │ │ │ @ SymbolNode (location: (33,18)-(33,25))
+ │ │ │ ├── opening_loc: (33,18)-(33,21) = "%s["
+ │ │ │ ├── value_loc: (33,21)-(33,24) = "foo"
+ │ │ │ ├── closing_loc: (33,24)-(33,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (454...456) = ".."
+ │ │ ├── operator_loc: (33,15)-(33,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (443...445) = "=>"
- ├── @ MatchRequiredNode (location: (465...488))
+ │ └── operator_loc: (33,4)-(33,6) = "=>"
+ ├── @ MatchRequiredNode (location: (34,0)-(34,23))
│ ├── value:
- │ │ @ CallNode (location: (465...468))
+ │ │ @ CallNode (location: (34,0)-(34,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (465...468) = "foo"
+ │ │ ├── message_loc: (34,0)-(34,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -657,28 +657,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (472...488))
+ │ │ @ RangeNode (location: (34,7)-(34,23))
│ │ ├── left:
- │ │ │ @ SymbolNode (location: (472...478))
- │ │ │ ├── opening_loc: (472...474) = ":\""
- │ │ │ ├── value_loc: (474...477) = "foo"
- │ │ │ ├── closing_loc: (477...478) = "\""
+ │ │ │ @ SymbolNode (location: (34,7)-(34,13))
+ │ │ │ ├── opening_loc: (34,7)-(34,9) = ":\""
+ │ │ │ ├── value_loc: (34,9)-(34,12) = "foo"
+ │ │ │ ├── closing_loc: (34,12)-(34,13) = "\""
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ SymbolNode (location: (482...488))
- │ │ │ ├── opening_loc: (482...484) = ":\""
- │ │ │ ├── value_loc: (484...487) = "foo"
- │ │ │ ├── closing_loc: (487...488) = "\""
+ │ │ │ @ SymbolNode (location: (34,17)-(34,23))
+ │ │ │ ├── opening_loc: (34,17)-(34,19) = ":\""
+ │ │ │ ├── value_loc: (34,19)-(34,22) = "foo"
+ │ │ │ ├── closing_loc: (34,22)-(34,23) = "\""
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (479...481) = ".."
+ │ │ ├── operator_loc: (34,14)-(34,16) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (469...471) = "=>"
- ├── @ MatchRequiredNode (location: (489...510))
+ │ └── operator_loc: (34,4)-(34,6) = "=>"
+ ├── @ MatchRequiredNode (location: (35,0)-(35,21))
│ ├── value:
- │ │ @ CallNode (location: (489...492))
+ │ │ @ CallNode (location: (35,0)-(35,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (489...492) = "foo"
+ │ │ ├── message_loc: (35,0)-(35,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -686,30 +686,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (496...510))
+ │ │ @ RangeNode (location: (35,7)-(35,21))
│ │ ├── left:
- │ │ │ @ RegularExpressionNode (location: (496...501))
- │ │ │ ├── opening_loc: (496...497) = "/"
- │ │ │ ├── content_loc: (497...500) = "foo"
- │ │ │ ├── closing_loc: (500...501) = "/"
+ │ │ │ @ RegularExpressionNode (location: (35,7)-(35,12))
+ │ │ │ ├── opening_loc: (35,7)-(35,8) = "/"
+ │ │ │ ├── content_loc: (35,8)-(35,11) = "foo"
+ │ │ │ ├── closing_loc: (35,11)-(35,12) = "/"
│ │ │ ├── unescaped: "foo"
│ │ │ └── flags: ∅
│ │ ├── right:
- │ │ │ @ RegularExpressionNode (location: (505...510))
- │ │ │ ├── opening_loc: (505...506) = "/"
- │ │ │ ├── content_loc: (506...509) = "foo"
- │ │ │ ├── closing_loc: (509...510) = "/"
+ │ │ │ @ RegularExpressionNode (location: (35,16)-(35,21))
+ │ │ │ ├── opening_loc: (35,16)-(35,17) = "/"
+ │ │ │ ├── content_loc: (35,17)-(35,20) = "foo"
+ │ │ │ ├── closing_loc: (35,20)-(35,21) = "/"
│ │ │ ├── unescaped: "foo"
│ │ │ └── flags: ∅
- │ │ ├── operator_loc: (502...504) = ".."
+ │ │ ├── operator_loc: (35,13)-(35,15) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (493...495) = "=>"
- ├── @ MatchRequiredNode (location: (511...532))
+ │ └── operator_loc: (35,4)-(35,6) = "=>"
+ ├── @ MatchRequiredNode (location: (36,0)-(36,21))
│ ├── value:
- │ │ @ CallNode (location: (511...514))
+ │ │ @ CallNode (location: (36,0)-(36,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (511...514) = "foo"
+ │ │ ├── message_loc: (36,0)-(36,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -717,28 +717,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (518...532))
+ │ │ @ RangeNode (location: (36,7)-(36,21))
│ │ ├── left:
- │ │ │ @ XStringNode (location: (518...523))
- │ │ │ ├── opening_loc: (518...519) = "`"
- │ │ │ ├── content_loc: (519...522) = "foo"
- │ │ │ ├── closing_loc: (522...523) = "`"
+ │ │ │ @ XStringNode (location: (36,7)-(36,12))
+ │ │ │ ├── opening_loc: (36,7)-(36,8) = "`"
+ │ │ │ ├── content_loc: (36,8)-(36,11) = "foo"
+ │ │ │ ├── closing_loc: (36,11)-(36,12) = "`"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ XStringNode (location: (527...532))
- │ │ │ ├── opening_loc: (527...528) = "`"
- │ │ │ ├── content_loc: (528...531) = "foo"
- │ │ │ ├── closing_loc: (531...532) = "`"
+ │ │ │ @ XStringNode (location: (36,16)-(36,21))
+ │ │ │ ├── opening_loc: (36,16)-(36,17) = "`"
+ │ │ │ ├── content_loc: (36,17)-(36,20) = "foo"
+ │ │ │ ├── closing_loc: (36,20)-(36,21) = "`"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (524...526) = ".."
+ │ │ ├── operator_loc: (36,13)-(36,15) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (515...517) = "=>"
- ├── @ MatchRequiredNode (location: (533...558))
+ │ └── operator_loc: (36,4)-(36,6) = "=>"
+ ├── @ MatchRequiredNode (location: (37,0)-(37,25))
│ ├── value:
- │ │ @ CallNode (location: (533...536))
+ │ │ @ CallNode (location: (37,0)-(37,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (533...536) = "foo"
+ │ │ ├── message_loc: (37,0)-(37,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -746,28 +746,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (540...558))
+ │ │ @ RangeNode (location: (37,7)-(37,25))
│ │ ├── left:
- │ │ │ @ XStringNode (location: (540...547))
- │ │ │ ├── opening_loc: (540...543) = "%x["
- │ │ │ ├── content_loc: (543...546) = "foo"
- │ │ │ ├── closing_loc: (546...547) = "]"
+ │ │ │ @ XStringNode (location: (37,7)-(37,14))
+ │ │ │ ├── opening_loc: (37,7)-(37,10) = "%x["
+ │ │ │ ├── content_loc: (37,10)-(37,13) = "foo"
+ │ │ │ ├── closing_loc: (37,13)-(37,14) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ XStringNode (location: (551...558))
- │ │ │ ├── opening_loc: (551...554) = "%x["
- │ │ │ ├── content_loc: (554...557) = "foo"
- │ │ │ ├── closing_loc: (557...558) = "]"
+ │ │ │ @ XStringNode (location: (37,18)-(37,25))
+ │ │ │ ├── opening_loc: (37,18)-(37,21) = "%x["
+ │ │ │ ├── content_loc: (37,21)-(37,24) = "foo"
+ │ │ │ ├── closing_loc: (37,24)-(37,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (548...550) = ".."
+ │ │ ├── operator_loc: (37,15)-(37,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (537...539) = "=>"
- ├── @ MatchRequiredNode (location: (559...584))
+ │ └── operator_loc: (37,4)-(37,6) = "=>"
+ ├── @ MatchRequiredNode (location: (38,0)-(38,25))
│ ├── value:
- │ │ @ CallNode (location: (559...562))
+ │ │ @ CallNode (location: (38,0)-(38,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (559...562) = "foo"
+ │ │ ├── message_loc: (38,0)-(38,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -775,36 +775,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (566...584))
+ │ │ @ RangeNode (location: (38,7)-(38,25))
│ │ ├── left:
- │ │ │ @ ArrayNode (location: (566...573))
+ │ │ │ @ ArrayNode (location: (38,7)-(38,14))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (569...572))
+ │ │ │ │ └── @ SymbolNode (location: (38,10)-(38,13))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (569...572) = "foo"
+ │ │ │ │ ├── value_loc: (38,10)-(38,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (566...569) = "%i["
- │ │ │ └── closing_loc: (572...573) = "]"
+ │ │ │ ├── opening_loc: (38,7)-(38,10) = "%i["
+ │ │ │ └── closing_loc: (38,13)-(38,14) = "]"
│ │ ├── right:
- │ │ │ @ ArrayNode (location: (577...584))
+ │ │ │ @ ArrayNode (location: (38,18)-(38,25))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (580...583))
+ │ │ │ │ └── @ SymbolNode (location: (38,21)-(38,24))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (580...583) = "foo"
+ │ │ │ │ ├── value_loc: (38,21)-(38,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (577...580) = "%i["
- │ │ │ └── closing_loc: (583...584) = "]"
- │ │ ├── operator_loc: (574...576) = ".."
+ │ │ │ ├── opening_loc: (38,18)-(38,21) = "%i["
+ │ │ │ └── closing_loc: (38,24)-(38,25) = "]"
+ │ │ ├── operator_loc: (38,15)-(38,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (563...565) = "=>"
- ├── @ MatchRequiredNode (location: (585...610))
+ │ └── operator_loc: (38,4)-(38,6) = "=>"
+ ├── @ MatchRequiredNode (location: (39,0)-(39,25))
│ ├── value:
- │ │ @ CallNode (location: (585...588))
+ │ │ @ CallNode (location: (39,0)-(39,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (585...588) = "foo"
+ │ │ ├── message_loc: (39,0)-(39,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -812,36 +812,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (592...610))
+ │ │ @ RangeNode (location: (39,7)-(39,25))
│ │ ├── left:
- │ │ │ @ ArrayNode (location: (592...599))
+ │ │ │ @ ArrayNode (location: (39,7)-(39,14))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (595...598))
+ │ │ │ │ └── @ SymbolNode (location: (39,10)-(39,13))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (595...598) = "foo"
+ │ │ │ │ ├── value_loc: (39,10)-(39,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (592...595) = "%I["
- │ │ │ └── closing_loc: (598...599) = "]"
+ │ │ │ ├── opening_loc: (39,7)-(39,10) = "%I["
+ │ │ │ └── closing_loc: (39,13)-(39,14) = "]"
│ │ ├── right:
- │ │ │ @ ArrayNode (location: (603...610))
+ │ │ │ @ ArrayNode (location: (39,18)-(39,25))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (606...609))
+ │ │ │ │ └── @ SymbolNode (location: (39,21)-(39,24))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (606...609) = "foo"
+ │ │ │ │ ├── value_loc: (39,21)-(39,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (603...606) = "%I["
- │ │ │ └── closing_loc: (609...610) = "]"
- │ │ ├── operator_loc: (600...602) = ".."
+ │ │ │ ├── opening_loc: (39,18)-(39,21) = "%I["
+ │ │ │ └── closing_loc: (39,24)-(39,25) = "]"
+ │ │ ├── operator_loc: (39,15)-(39,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (589...591) = "=>"
- ├── @ MatchRequiredNode (location: (611...636))
+ │ └── operator_loc: (39,4)-(39,6) = "=>"
+ ├── @ MatchRequiredNode (location: (40,0)-(40,25))
│ ├── value:
- │ │ @ CallNode (location: (611...614))
+ │ │ @ CallNode (location: (40,0)-(40,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (611...614) = "foo"
+ │ │ ├── message_loc: (40,0)-(40,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -849,38 +849,38 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (618...636))
+ │ │ @ RangeNode (location: (40,7)-(40,25))
│ │ ├── left:
- │ │ │ @ ArrayNode (location: (618...625))
+ │ │ │ @ ArrayNode (location: (40,7)-(40,14))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (621...624))
+ │ │ │ │ └── @ StringNode (location: (40,10)-(40,13))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (621...624) = "foo"
+ │ │ │ │ ├── content_loc: (40,10)-(40,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (618...621) = "%w["
- │ │ │ └── closing_loc: (624...625) = "]"
+ │ │ │ ├── opening_loc: (40,7)-(40,10) = "%w["
+ │ │ │ └── closing_loc: (40,13)-(40,14) = "]"
│ │ ├── right:
- │ │ │ @ ArrayNode (location: (629...636))
+ │ │ │ @ ArrayNode (location: (40,18)-(40,25))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (632...635))
+ │ │ │ │ └── @ StringNode (location: (40,21)-(40,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (632...635) = "foo"
+ │ │ │ │ ├── content_loc: (40,21)-(40,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (629...632) = "%w["
- │ │ │ └── closing_loc: (635...636) = "]"
- │ │ ├── operator_loc: (626...628) = ".."
+ │ │ │ ├── opening_loc: (40,18)-(40,21) = "%w["
+ │ │ │ └── closing_loc: (40,24)-(40,25) = "]"
+ │ │ ├── operator_loc: (40,15)-(40,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (615...617) = "=>"
- ├── @ MatchRequiredNode (location: (637...662))
+ │ └── operator_loc: (40,4)-(40,6) = "=>"
+ ├── @ MatchRequiredNode (location: (41,0)-(41,25))
│ ├── value:
- │ │ @ CallNode (location: (637...640))
+ │ │ @ CallNode (location: (41,0)-(41,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (637...640) = "foo"
+ │ │ ├── message_loc: (41,0)-(41,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -888,38 +888,38 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (644...662))
+ │ │ @ RangeNode (location: (41,7)-(41,25))
│ │ ├── left:
- │ │ │ @ ArrayNode (location: (644...651))
+ │ │ │ @ ArrayNode (location: (41,7)-(41,14))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (647...650))
+ │ │ │ │ └── @ StringNode (location: (41,10)-(41,13))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (647...650) = "foo"
+ │ │ │ │ ├── content_loc: (41,10)-(41,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (644...647) = "%W["
- │ │ │ └── closing_loc: (650...651) = "]"
+ │ │ │ ├── opening_loc: (41,7)-(41,10) = "%W["
+ │ │ │ └── closing_loc: (41,13)-(41,14) = "]"
│ │ ├── right:
- │ │ │ @ ArrayNode (location: (655...662))
+ │ │ │ @ ArrayNode (location: (41,18)-(41,25))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (658...661))
+ │ │ │ │ └── @ StringNode (location: (41,21)-(41,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (658...661) = "foo"
+ │ │ │ │ ├── content_loc: (41,21)-(41,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (655...658) = "%W["
- │ │ │ └── closing_loc: (661...662) = "]"
- │ │ ├── operator_loc: (652...654) = ".."
+ │ │ │ ├── opening_loc: (41,18)-(41,21) = "%W["
+ │ │ │ └── closing_loc: (41,24)-(41,25) = "]"
+ │ │ ├── operator_loc: (41,15)-(41,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (641...643) = "=>"
- ├── @ MatchRequiredNode (location: (663...688))
+ │ └── operator_loc: (41,4)-(41,6) = "=>"
+ ├── @ MatchRequiredNode (location: (42,0)-(42,25))
│ ├── value:
- │ │ @ CallNode (location: (663...666))
+ │ │ @ CallNode (location: (42,0)-(42,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (663...666) = "foo"
+ │ │ ├── message_loc: (42,0)-(42,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -927,30 +927,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (670...688))
+ │ │ @ RangeNode (location: (42,7)-(42,25))
│ │ ├── left:
- │ │ │ @ StringNode (location: (670...677))
+ │ │ │ @ StringNode (location: (42,7)-(42,14))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (670...673) = "%q["
- │ │ │ ├── content_loc: (673...676) = "foo"
- │ │ │ ├── closing_loc: (676...677) = "]"
+ │ │ │ ├── opening_loc: (42,7)-(42,10) = "%q["
+ │ │ │ ├── content_loc: (42,10)-(42,13) = "foo"
+ │ │ │ ├── closing_loc: (42,13)-(42,14) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ StringNode (location: (681...688))
+ │ │ │ @ StringNode (location: (42,18)-(42,25))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (681...684) = "%q["
- │ │ │ ├── content_loc: (684...687) = "foo"
- │ │ │ ├── closing_loc: (687...688) = "]"
+ │ │ │ ├── opening_loc: (42,18)-(42,21) = "%q["
+ │ │ │ ├── content_loc: (42,21)-(42,24) = "foo"
+ │ │ │ ├── closing_loc: (42,24)-(42,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (678...680) = ".."
+ │ │ ├── operator_loc: (42,15)-(42,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (667...669) = "=>"
- ├── @ MatchRequiredNode (location: (689...714))
+ │ └── operator_loc: (42,4)-(42,6) = "=>"
+ ├── @ MatchRequiredNode (location: (43,0)-(43,25))
│ ├── value:
- │ │ @ CallNode (location: (689...692))
+ │ │ @ CallNode (location: (43,0)-(43,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (689...692) = "foo"
+ │ │ ├── message_loc: (43,0)-(43,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -958,30 +958,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (696...714))
+ │ │ @ RangeNode (location: (43,7)-(43,25))
│ │ ├── left:
- │ │ │ @ StringNode (location: (696...703))
+ │ │ │ @ StringNode (location: (43,7)-(43,14))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (696...699) = "%Q["
- │ │ │ ├── content_loc: (699...702) = "foo"
- │ │ │ ├── closing_loc: (702...703) = "]"
+ │ │ │ ├── opening_loc: (43,7)-(43,10) = "%Q["
+ │ │ │ ├── content_loc: (43,10)-(43,13) = "foo"
+ │ │ │ ├── closing_loc: (43,13)-(43,14) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ StringNode (location: (707...714))
+ │ │ │ @ StringNode (location: (43,18)-(43,25))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (707...710) = "%Q["
- │ │ │ ├── content_loc: (710...713) = "foo"
- │ │ │ ├── closing_loc: (713...714) = "]"
+ │ │ │ ├── opening_loc: (43,18)-(43,21) = "%Q["
+ │ │ │ ├── content_loc: (43,21)-(43,24) = "foo"
+ │ │ │ ├── closing_loc: (43,24)-(43,25) = "]"
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (704...706) = ".."
+ │ │ ├── operator_loc: (43,15)-(43,17) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (693...695) = "=>"
- ├── @ MatchRequiredNode (location: (715...736))
+ │ └── operator_loc: (43,4)-(43,6) = "=>"
+ ├── @ MatchRequiredNode (location: (44,0)-(44,21))
│ ├── value:
- │ │ @ CallNode (location: (715...718))
+ │ │ @ CallNode (location: (44,0)-(44,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (715...718) = "foo"
+ │ │ ├── message_loc: (44,0)-(44,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -989,30 +989,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (722...736))
+ │ │ @ RangeNode (location: (44,7)-(44,21))
│ │ ├── left:
- │ │ │ @ StringNode (location: (722...727))
+ │ │ │ @ StringNode (location: (44,7)-(44,12))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (722...723) = "\""
- │ │ │ ├── content_loc: (723...726) = "foo"
- │ │ │ ├── closing_loc: (726...727) = "\""
+ │ │ │ ├── opening_loc: (44,7)-(44,8) = "\""
+ │ │ │ ├── content_loc: (44,8)-(44,11) = "foo"
+ │ │ │ ├── closing_loc: (44,11)-(44,12) = "\""
│ │ │ └── unescaped: "foo"
│ │ ├── right:
- │ │ │ @ StringNode (location: (731...736))
+ │ │ │ @ StringNode (location: (44,16)-(44,21))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (731...732) = "\""
- │ │ │ ├── content_loc: (732...735) = "foo"
- │ │ │ ├── closing_loc: (735...736) = "\""
+ │ │ │ ├── opening_loc: (44,16)-(44,17) = "\""
+ │ │ │ ├── content_loc: (44,17)-(44,20) = "foo"
+ │ │ │ ├── closing_loc: (44,20)-(44,21) = "\""
│ │ │ └── unescaped: "foo"
- │ │ ├── operator_loc: (728...730) = ".."
+ │ │ ├── operator_loc: (44,13)-(44,15) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (719...721) = "=>"
- ├── @ MatchRequiredNode (location: (737...754))
+ │ └── operator_loc: (44,4)-(44,6) = "=>"
+ ├── @ MatchRequiredNode (location: (45,0)-(45,17))
│ ├── value:
- │ │ @ CallNode (location: (737...740))
+ │ │ @ CallNode (location: (45,0)-(45,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (737...740) = "foo"
+ │ │ ├── message_loc: (45,0)-(45,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1020,20 +1020,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (744...754))
+ │ │ @ RangeNode (location: (45,7)-(45,17))
│ │ ├── left:
- │ │ │ @ NilNode (location: (744...747))
+ │ │ │ @ NilNode (location: (45,7)-(45,10))
│ │ ├── right:
- │ │ │ @ NilNode (location: (751...754))
- │ │ ├── operator_loc: (748...750) = ".."
+ │ │ │ @ NilNode (location: (45,14)-(45,17))
+ │ │ ├── operator_loc: (45,11)-(45,13) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (741...743) = "=>"
- ├── @ MatchRequiredNode (location: (755...774))
+ │ └── operator_loc: (45,4)-(45,6) = "=>"
+ ├── @ MatchRequiredNode (location: (46,0)-(46,19))
│ ├── value:
- │ │ @ CallNode (location: (755...758))
+ │ │ @ CallNode (location: (46,0)-(46,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (755...758) = "foo"
+ │ │ ├── message_loc: (46,0)-(46,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1041,20 +1041,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (762...774))
+ │ │ @ RangeNode (location: (46,7)-(46,19))
│ │ ├── left:
- │ │ │ @ SelfNode (location: (762...766))
+ │ │ │ @ SelfNode (location: (46,7)-(46,11))
│ │ ├── right:
- │ │ │ @ SelfNode (location: (770...774))
- │ │ ├── operator_loc: (767...769) = ".."
+ │ │ │ @ SelfNode (location: (46,15)-(46,19))
+ │ │ ├── operator_loc: (46,12)-(46,14) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (759...761) = "=>"
- ├── @ MatchRequiredNode (location: (775...794))
+ │ └── operator_loc: (46,4)-(46,6) = "=>"
+ ├── @ MatchRequiredNode (location: (47,0)-(47,19))
│ ├── value:
- │ │ @ CallNode (location: (775...778))
+ │ │ @ CallNode (location: (47,0)-(47,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (775...778) = "foo"
+ │ │ ├── message_loc: (47,0)-(47,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1062,20 +1062,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (782...794))
+ │ │ @ RangeNode (location: (47,7)-(47,19))
│ │ ├── left:
- │ │ │ @ TrueNode (location: (782...786))
+ │ │ │ @ TrueNode (location: (47,7)-(47,11))
│ │ ├── right:
- │ │ │ @ TrueNode (location: (790...794))
- │ │ ├── operator_loc: (787...789) = ".."
+ │ │ │ @ TrueNode (location: (47,15)-(47,19))
+ │ │ ├── operator_loc: (47,12)-(47,14) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (779...781) = "=>"
- ├── @ MatchRequiredNode (location: (795...816))
+ │ └── operator_loc: (47,4)-(47,6) = "=>"
+ ├── @ MatchRequiredNode (location: (48,0)-(48,21))
│ ├── value:
- │ │ @ CallNode (location: (795...798))
+ │ │ @ CallNode (location: (48,0)-(48,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (795...798) = "foo"
+ │ │ ├── message_loc: (48,0)-(48,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1083,20 +1083,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (802...816))
+ │ │ @ RangeNode (location: (48,7)-(48,21))
│ │ ├── left:
- │ │ │ @ FalseNode (location: (802...807))
+ │ │ │ @ FalseNode (location: (48,7)-(48,12))
│ │ ├── right:
- │ │ │ @ FalseNode (location: (811...816))
- │ │ ├── operator_loc: (808...810) = ".."
+ │ │ │ @ FalseNode (location: (48,16)-(48,21))
+ │ │ ├── operator_loc: (48,13)-(48,15) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (799...801) = "=>"
- ├── @ MatchRequiredNode (location: (817...844))
+ │ └── operator_loc: (48,4)-(48,6) = "=>"
+ ├── @ MatchRequiredNode (location: (49,0)-(49,27))
│ ├── value:
- │ │ @ CallNode (location: (817...820))
+ │ │ @ CallNode (location: (49,0)-(49,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (817...820) = "foo"
+ │ │ ├── message_loc: (49,0)-(49,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1104,22 +1104,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (824...844))
+ │ │ @ RangeNode (location: (49,7)-(49,27))
│ │ ├── left:
- │ │ │ @ SourceFileNode (location: (824...832))
+ │ │ │ @ SourceFileNode (location: (49,7)-(49,15))
│ │ │ └── filepath: "patterns.txt"
│ │ ├── right:
- │ │ │ @ SourceFileNode (location: (836...844))
+ │ │ │ @ SourceFileNode (location: (49,19)-(49,27))
│ │ │ └── filepath: "patterns.txt"
- │ │ ├── operator_loc: (833...835) = ".."
+ │ │ ├── operator_loc: (49,16)-(49,18) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (821...823) = "=>"
- ├── @ MatchRequiredNode (location: (845...872))
+ │ └── operator_loc: (49,4)-(49,6) = "=>"
+ ├── @ MatchRequiredNode (location: (50,0)-(50,27))
│ ├── value:
- │ │ @ CallNode (location: (845...848))
+ │ │ @ CallNode (location: (50,0)-(50,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (845...848) = "foo"
+ │ │ ├── message_loc: (50,0)-(50,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1127,20 +1127,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (852...872))
+ │ │ @ RangeNode (location: (50,7)-(50,27))
│ │ ├── left:
- │ │ │ @ SourceLineNode (location: (852...860))
+ │ │ │ @ SourceLineNode (location: (50,7)-(50,15))
│ │ ├── right:
- │ │ │ @ SourceLineNode (location: (864...872))
- │ │ ├── operator_loc: (861...863) = ".."
+ │ │ │ @ SourceLineNode (location: (50,19)-(50,27))
+ │ │ ├── operator_loc: (50,16)-(50,18) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (849...851) = "=>"
- ├── @ MatchRequiredNode (location: (873...908))
+ │ └── operator_loc: (50,4)-(50,6) = "=>"
+ ├── @ MatchRequiredNode (location: (51,0)-(51,35))
│ ├── value:
- │ │ @ CallNode (location: (873...876))
+ │ │ @ CallNode (location: (51,0)-(51,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (873...876) = "foo"
+ │ │ ├── message_loc: (51,0)-(51,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1148,20 +1148,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (880...908))
+ │ │ @ RangeNode (location: (51,7)-(51,35))
│ │ ├── left:
- │ │ │ @ SourceEncodingNode (location: (880...892))
+ │ │ │ @ SourceEncodingNode (location: (51,7)-(51,19))
│ │ ├── right:
- │ │ │ @ SourceEncodingNode (location: (896...908))
- │ │ ├── operator_loc: (893...895) = ".."
+ │ │ │ @ SourceEncodingNode (location: (51,23)-(51,35))
+ │ │ ├── operator_loc: (51,20)-(51,22) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (877...879) = "=>"
- ├── @ MatchRequiredNode (location: (909...940))
+ │ └── operator_loc: (51,4)-(51,6) = "=>"
+ ├── @ MatchRequiredNode (location: (52,0)-(52,31))
│ ├── value:
- │ │ @ CallNode (location: (909...912))
+ │ │ @ CallNode (location: (52,0)-(52,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (909...912) = "foo"
+ │ │ ├── message_loc: (52,0)-(52,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1169,42 +1169,42 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RangeNode (location: (916...940))
+ │ │ @ RangeNode (location: (52,7)-(52,31))
│ │ ├── left:
- │ │ │ @ LambdaNode (location: (916...926))
+ │ │ │ @ LambdaNode (location: (52,7)-(52,17))
│ │ │ ├── locals: []
- │ │ │ ├── operator_loc: (916...918) = "->"
- │ │ │ ├── opening_loc: (919...920) = "{"
- │ │ │ ├── closing_loc: (925...926) = "}"
+ │ │ │ ├── operator_loc: (52,7)-(52,9) = "->"
+ │ │ │ ├── opening_loc: (52,10)-(52,11) = "{"
+ │ │ │ ├── closing_loc: (52,16)-(52,17) = "}"
│ │ │ ├── parameters: ∅
│ │ │ └── body:
- │ │ │ @ StatementsNode (location: (921...924))
+ │ │ │ @ StatementsNode (location: (52,12)-(52,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (921...924))
+ │ │ │ └── @ LocalVariableReadNode (location: (52,12)-(52,15))
│ │ │ ├── name: :bar
│ │ │ └── depth: 1
│ │ ├── right:
- │ │ │ @ LambdaNode (location: (930...940))
+ │ │ │ @ LambdaNode (location: (52,21)-(52,31))
│ │ │ ├── locals: []
- │ │ │ ├── operator_loc: (930...932) = "->"
- │ │ │ ├── opening_loc: (933...934) = "{"
- │ │ │ ├── closing_loc: (939...940) = "}"
+ │ │ │ ├── operator_loc: (52,21)-(52,23) = "->"
+ │ │ │ ├── opening_loc: (52,24)-(52,25) = "{"
+ │ │ │ ├── closing_loc: (52,30)-(52,31) = "}"
│ │ │ ├── parameters: ∅
│ │ │ └── body:
- │ │ │ @ StatementsNode (location: (935...938))
+ │ │ │ @ StatementsNode (location: (52,26)-(52,29))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (935...938))
+ │ │ │ └── @ LocalVariableReadNode (location: (52,26)-(52,29))
│ │ │ ├── name: :bar
│ │ │ └── depth: 1
- │ │ ├── operator_loc: (927...929) = ".."
+ │ │ ├── operator_loc: (52,18)-(52,20) = ".."
│ │ └── flags: ∅
- │ └── operator_loc: (913...915) = "=>"
- ├── @ MatchRequiredNode (location: (942...953))
+ │ └── operator_loc: (52,4)-(52,6) = "=>"
+ ├── @ MatchRequiredNode (location: (54,0)-(54,11))
│ ├── value:
- │ │ @ CallNode (location: (942...945))
+ │ │ @ CallNode (location: (54,0)-(54,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (942...945) = "foo"
+ │ │ ├── message_loc: (54,0)-(54,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1212,19 +1212,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedVariableNode (location: (949...953))
+ │ │ @ PinnedVariableNode (location: (54,7)-(54,11))
│ │ ├── variable:
- │ │ │ @ LocalVariableReadNode (location: (950...953))
+ │ │ │ @ LocalVariableReadNode (location: (54,8)-(54,11))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
- │ │ └── operator_loc: (949...950) = "^"
- │ └── operator_loc: (946...948) = "=>"
- ├── @ MatchRequiredNode (location: (954...966))
+ │ │ └── operator_loc: (54,7)-(54,8) = "^"
+ │ └── operator_loc: (54,4)-(54,6) = "=>"
+ ├── @ MatchRequiredNode (location: (55,0)-(55,12))
│ ├── value:
- │ │ @ CallNode (location: (954...957))
+ │ │ @ CallNode (location: (55,0)-(55,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (954...957) = "foo"
+ │ │ ├── message_loc: (55,0)-(55,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1232,18 +1232,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedVariableNode (location: (961...966))
+ │ │ @ PinnedVariableNode (location: (55,7)-(55,12))
│ │ ├── variable:
- │ │ │ @ InstanceVariableReadNode (location: (962...966))
+ │ │ │ @ InstanceVariableReadNode (location: (55,8)-(55,12))
│ │ │ └── name: :@bar
- │ │ └── operator_loc: (961...962) = "^"
- │ └── operator_loc: (958...960) = "=>"
- ├── @ MatchRequiredNode (location: (967...980))
+ │ │ └── operator_loc: (55,7)-(55,8) = "^"
+ │ └── operator_loc: (55,4)-(55,6) = "=>"
+ ├── @ MatchRequiredNode (location: (56,0)-(56,13))
│ ├── value:
- │ │ @ CallNode (location: (967...970))
+ │ │ @ CallNode (location: (56,0)-(56,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (967...970) = "foo"
+ │ │ ├── message_loc: (56,0)-(56,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1251,18 +1251,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedVariableNode (location: (974...980))
+ │ │ @ PinnedVariableNode (location: (56,7)-(56,13))
│ │ ├── variable:
- │ │ │ @ ClassVariableReadNode (location: (975...980))
+ │ │ │ @ ClassVariableReadNode (location: (56,8)-(56,13))
│ │ │ └── name: :@@bar
- │ │ └── operator_loc: (974...975) = "^"
- │ └── operator_loc: (971...973) = "=>"
- ├── @ MatchRequiredNode (location: (981...993))
+ │ │ └── operator_loc: (56,7)-(56,8) = "^"
+ │ └── operator_loc: (56,4)-(56,6) = "=>"
+ ├── @ MatchRequiredNode (location: (57,0)-(57,12))
│ ├── value:
- │ │ @ CallNode (location: (981...984))
+ │ │ @ CallNode (location: (57,0)-(57,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (981...984) = "foo"
+ │ │ ├── message_loc: (57,0)-(57,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1270,18 +1270,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedVariableNode (location: (988...993))
+ │ │ @ PinnedVariableNode (location: (57,7)-(57,12))
│ │ ├── variable:
- │ │ │ @ GlobalVariableReadNode (location: (989...993))
+ │ │ │ @ GlobalVariableReadNode (location: (57,8)-(57,12))
│ │ │ └── name: :$bar
- │ │ └── operator_loc: (988...989) = "^"
- │ └── operator_loc: (985...987) = "=>"
- ├── @ MatchRequiredNode (location: (995...1006))
+ │ │ └── operator_loc: (57,7)-(57,8) = "^"
+ │ └── operator_loc: (57,4)-(57,6) = "=>"
+ ├── @ MatchRequiredNode (location: (59,0)-(59,11))
│ ├── value:
- │ │ @ CallNode (location: (995...998))
+ │ │ @ CallNode (location: (59,0)-(59,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (995...998) = "foo"
+ │ │ ├── message_loc: (59,0)-(59,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1289,20 +1289,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedExpressionNode (location: (1002...1006))
+ │ │ @ PinnedExpressionNode (location: (59,7)-(59,11))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (1004...1005))
+ │ │ │ @ IntegerNode (location: (59,9)-(59,10))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (1002...1003) = "^"
- │ │ ├── lparen_loc: (1003...1004) = "("
- │ │ └── rparen_loc: (1005...1006) = ")"
- │ └── operator_loc: (999...1001) = "=>"
- ├── @ MatchRequiredNode (location: (1007...1020))
+ │ │ ├── operator_loc: (59,7)-(59,8) = "^"
+ │ │ ├── lparen_loc: (59,8)-(59,9) = "("
+ │ │ └── rparen_loc: (59,10)-(59,11) = ")"
+ │ └── operator_loc: (59,4)-(59,6) = "=>"
+ ├── @ MatchRequiredNode (location: (60,0)-(60,13))
│ ├── value:
- │ │ @ CallNode (location: (1007...1010))
+ │ │ @ CallNode (location: (60,0)-(60,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1007...1010) = "foo"
+ │ │ ├── message_loc: (60,0)-(60,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1310,19 +1310,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedExpressionNode (location: (1014...1020))
+ │ │ @ PinnedExpressionNode (location: (60,7)-(60,13))
│ │ ├── expression:
- │ │ │ @ NilNode (location: (1016...1019))
- │ │ ├── operator_loc: (1014...1015) = "^"
- │ │ ├── lparen_loc: (1015...1016) = "("
- │ │ └── rparen_loc: (1019...1020) = ")"
- │ └── operator_loc: (1011...1013) = "=>"
- ├── @ MatchRequiredNode (location: (1021...1044))
+ │ │ │ @ NilNode (location: (60,9)-(60,12))
+ │ │ ├── operator_loc: (60,7)-(60,8) = "^"
+ │ │ ├── lparen_loc: (60,8)-(60,9) = "("
+ │ │ └── rparen_loc: (60,12)-(60,13) = ")"
+ │ └── operator_loc: (60,4)-(60,6) = "=>"
+ ├── @ MatchRequiredNode (location: (61,0)-(61,23))
│ ├── value:
- │ │ @ CallNode (location: (1021...1024))
+ │ │ @ CallNode (location: (61,0)-(61,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1021...1024) = "foo"
+ │ │ ├── message_loc: (61,0)-(61,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1330,42 +1330,42 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ PinnedExpressionNode (location: (1028...1044))
+ │ │ @ PinnedExpressionNode (location: (61,7)-(61,23))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (1030...1043))
+ │ │ │ @ CallNode (location: (61,9)-(61,22))
│ │ │ ├── receiver:
- │ │ │ │ @ StringNode (location: (1030...1035))
+ │ │ │ │ @ StringNode (location: (61,9)-(61,14))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1030...1031) = "\""
- │ │ │ │ ├── content_loc: (1031...1034) = "bar"
- │ │ │ │ ├── closing_loc: (1034...1035) = "\""
+ │ │ │ │ ├── opening_loc: (61,9)-(61,10) = "\""
+ │ │ │ │ ├── content_loc: (61,10)-(61,13) = "bar"
+ │ │ │ │ ├── closing_loc: (61,13)-(61,14) = "\""
│ │ │ │ └── unescaped: "bar"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (1036...1037) = "+"
+ │ │ │ ├── message_loc: (61,15)-(61,16) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (1038...1043))
+ │ │ │ │ @ ArgumentsNode (location: (61,17)-(61,22))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (1038...1043))
+ │ │ │ │ └── @ StringNode (location: (61,17)-(61,22))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (1038...1039) = "\""
- │ │ │ │ ├── content_loc: (1039...1042) = "baz"
- │ │ │ │ ├── closing_loc: (1042...1043) = "\""
+ │ │ │ │ ├── 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: ∅
│ │ │ └── name: "+"
- │ │ ├── operator_loc: (1028...1029) = "^"
- │ │ ├── lparen_loc: (1029...1030) = "("
- │ │ └── rparen_loc: (1043...1044) = ")"
- │ └── operator_loc: (1025...1027) = "=>"
- ├── @ MatchRequiredNode (location: (1046...1056))
+ │ │ ├── operator_loc: (61,7)-(61,8) = "^"
+ │ │ ├── lparen_loc: (61,8)-(61,9) = "("
+ │ │ └── rparen_loc: (61,22)-(61,23) = ")"
+ │ └── operator_loc: (61,4)-(61,6) = "=>"
+ ├── @ MatchRequiredNode (location: (63,0)-(63,10))
│ ├── value:
- │ │ @ CallNode (location: (1046...1049))
+ │ │ @ CallNode (location: (63,0)-(63,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1046...1049) = "foo"
+ │ │ ├── message_loc: (63,0)-(63,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1373,15 +1373,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ConstantReadNode (location: (1053...1056))
+ │ │ @ ConstantReadNode (location: (63,7)-(63,10))
│ │ └── name: :Foo
- │ └── operator_loc: (1050...1052) = "=>"
- ├── @ MatchRequiredNode (location: (1057...1077))
+ │ └── operator_loc: (63,4)-(63,6) = "=>"
+ ├── @ MatchRequiredNode (location: (64,0)-(64,20))
│ ├── value:
- │ │ @ CallNode (location: (1057...1060))
+ │ │ @ CallNode (location: (64,0)-(64,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1057...1060) = "foo"
+ │ │ ├── message_loc: (64,0)-(64,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1389,27 +1389,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ConstantPathNode (location: (1064...1077))
+ │ │ @ ConstantPathNode (location: (64,7)-(64,20))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (1064...1072))
+ │ │ │ @ ConstantPathNode (location: (64,7)-(64,15))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (1064...1067))
+ │ │ │ │ @ ConstantReadNode (location: (64,7)-(64,10))
│ │ │ │ └── name: :Foo
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (1069...1072))
+ │ │ │ │ @ ConstantReadNode (location: (64,12)-(64,15))
│ │ │ │ └── name: :Bar
- │ │ │ └── delimiter_loc: (1067...1069) = "::"
+ │ │ │ └── delimiter_loc: (64,10)-(64,12) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (1074...1077))
+ │ │ │ @ ConstantReadNode (location: (64,17)-(64,20))
│ │ │ └── name: :Baz
- │ │ └── delimiter_loc: (1072...1074) = "::"
- │ └── operator_loc: (1061...1063) = "=>"
- ├── @ MatchRequiredNode (location: (1078...1090))
+ │ │ └── delimiter_loc: (64,15)-(64,17) = "::"
+ │ └── operator_loc: (64,4)-(64,6) = "=>"
+ ├── @ MatchRequiredNode (location: (65,0)-(65,12))
│ ├── value:
- │ │ @ CallNode (location: (1078...1081))
+ │ │ @ CallNode (location: (65,0)-(65,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1078...1081) = "foo"
+ │ │ ├── message_loc: (65,0)-(65,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1417,19 +1417,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ConstantPathNode (location: (1085...1090))
+ │ │ @ ConstantPathNode (location: (65,7)-(65,12))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (1087...1090))
+ │ │ │ @ ConstantReadNode (location: (65,9)-(65,12))
│ │ │ └── name: :Foo
- │ │ └── delimiter_loc: (1085...1087) = "::"
- │ └── operator_loc: (1082...1084) = "=>"
- ├── @ MatchRequiredNode (location: (1091...1113))
+ │ │ └── delimiter_loc: (65,7)-(65,9) = "::"
+ │ └── operator_loc: (65,4)-(65,6) = "=>"
+ ├── @ MatchRequiredNode (location: (66,0)-(66,22))
│ ├── value:
- │ │ @ CallNode (location: (1091...1094))
+ │ │ @ CallNode (location: (66,0)-(66,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1091...1094) = "foo"
+ │ │ ├── message_loc: (66,0)-(66,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1437,31 +1437,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ConstantPathNode (location: (1098...1113))
+ │ │ @ ConstantPathNode (location: (66,7)-(66,22))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (1098...1108))
+ │ │ │ @ ConstantPathNode (location: (66,7)-(66,17))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantPathNode (location: (1098...1103))
+ │ │ │ │ @ ConstantPathNode (location: (66,7)-(66,12))
│ │ │ │ ├── parent: ∅
│ │ │ │ ├── child:
- │ │ │ │ │ @ ConstantReadNode (location: (1100...1103))
+ │ │ │ │ │ @ ConstantReadNode (location: (66,9)-(66,12))
│ │ │ │ │ └── name: :Foo
- │ │ │ │ └── delimiter_loc: (1098...1100) = "::"
+ │ │ │ │ └── delimiter_loc: (66,7)-(66,9) = "::"
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (1105...1108))
+ │ │ │ │ @ ConstantReadNode (location: (66,14)-(66,17))
│ │ │ │ └── name: :Bar
- │ │ │ └── delimiter_loc: (1103...1105) = "::"
+ │ │ │ └── delimiter_loc: (66,12)-(66,14) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (1110...1113))
+ │ │ │ @ ConstantReadNode (location: (66,19)-(66,22))
│ │ │ └── name: :Baz
- │ │ └── delimiter_loc: (1108...1110) = "::"
- │ └── operator_loc: (1095...1097) = "=>"
- ├── @ MatchRequiredNode (location: (1115...1127))
+ │ │ └── delimiter_loc: (66,17)-(66,19) = "::"
+ │ └── operator_loc: (66,4)-(66,6) = "=>"
+ ├── @ MatchRequiredNode (location: (68,0)-(68,12))
│ ├── value:
- │ │ @ CallNode (location: (1115...1118))
+ │ │ @ CallNode (location: (68,0)-(68,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1115...1118) = "foo"
+ │ │ ├── message_loc: (68,0)-(68,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1469,22 +1469,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1122...1127))
+ │ │ @ ArrayPatternNode (location: (68,7)-(68,12))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1122...1125))
+ │ │ │ @ ConstantReadNode (location: (68,7)-(68,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1125...1126) = "("
- │ │ └── closing_loc: (1126...1127) = ")"
- │ └── operator_loc: (1119...1121) = "=>"
- ├── @ MatchRequiredNode (location: (1128...1141))
+ │ │ ├── opening_loc: (68,10)-(68,11) = "("
+ │ │ └── closing_loc: (68,11)-(68,12) = ")"
+ │ └── operator_loc: (68,4)-(68,6) = "=>"
+ ├── @ MatchRequiredNode (location: (69,0)-(69,13))
│ ├── value:
- │ │ @ CallNode (location: (1128...1131))
+ │ │ @ CallNode (location: (69,0)-(69,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1128...1131) = "foo"
+ │ │ ├── message_loc: (69,0)-(69,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1492,24 +1492,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1135...1141))
+ │ │ @ ArrayPatternNode (location: (69,7)-(69,13))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1135...1138))
+ │ │ │ @ ConstantReadNode (location: (69,7)-(69,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1139...1140))
+ │ │ │ └── @ IntegerNode (location: (69,11)-(69,12))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1138...1139) = "("
- │ │ └── closing_loc: (1140...1141) = ")"
- │ └── operator_loc: (1132...1134) = "=>"
- ├── @ MatchRequiredNode (location: (1142...1161))
+ │ │ ├── opening_loc: (69,10)-(69,11) = "("
+ │ │ └── closing_loc: (69,12)-(69,13) = ")"
+ │ └── operator_loc: (69,4)-(69,6) = "=>"
+ ├── @ MatchRequiredNode (location: (70,0)-(70,19))
│ ├── value:
- │ │ @ CallNode (location: (1142...1145))
+ │ │ @ CallNode (location: (70,0)-(70,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1142...1145) = "foo"
+ │ │ ├── message_loc: (70,0)-(70,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1517,28 +1517,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1149...1161))
+ │ │ @ ArrayPatternNode (location: (70,7)-(70,19))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1149...1152))
+ │ │ │ @ ConstantReadNode (location: (70,7)-(70,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (1153...1154))
+ │ │ │ ├── @ IntegerNode (location: (70,11)-(70,12))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (1156...1157))
+ │ │ │ ├── @ IntegerNode (location: (70,14)-(70,15))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (1159...1160))
+ │ │ │ └── @ IntegerNode (location: (70,17)-(70,18))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1152...1153) = "("
- │ │ └── closing_loc: (1160...1161) = ")"
- │ └── operator_loc: (1146...1148) = "=>"
- ├── @ MatchRequiredNode (location: (1162...1177))
+ │ │ ├── opening_loc: (70,10)-(70,11) = "("
+ │ │ └── closing_loc: (70,18)-(70,19) = ")"
+ │ └── operator_loc: (70,4)-(70,6) = "=>"
+ ├── @ MatchRequiredNode (location: (71,0)-(71,15))
│ ├── value:
- │ │ @ CallNode (location: (1162...1165))
+ │ │ @ CallNode (location: (71,0)-(71,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1162...1165) = "foo"
+ │ │ ├── message_loc: (71,0)-(71,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1546,25 +1546,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1169...1177))
+ │ │ @ ArrayPatternNode (location: (71,7)-(71,15))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1169...1172))
+ │ │ │ @ ConstantReadNode (location: (71,7)-(71,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1173...1176))
+ │ │ │ └── @ LocalVariableTargetNode (location: (71,11)-(71,14))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1172...1173) = "("
- │ │ └── closing_loc: (1176...1177) = ")"
- │ └── operator_loc: (1166...1168) = "=>"
- ├── @ MatchRequiredNode (location: (1178...1199))
+ │ │ ├── opening_loc: (71,10)-(71,11) = "("
+ │ │ └── closing_loc: (71,14)-(71,15) = ")"
+ │ └── operator_loc: (71,4)-(71,6) = "=>"
+ ├── @ MatchRequiredNode (location: (72,0)-(72,21))
│ ├── value:
- │ │ @ CallNode (location: (1178...1181))
+ │ │ @ CallNode (location: (72,0)-(72,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1178...1181) = "foo"
+ │ │ ├── message_loc: (72,0)-(72,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1572,31 +1572,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1185...1199))
+ │ │ @ ArrayPatternNode (location: (72,7)-(72,21))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1185...1188))
+ │ │ │ @ ConstantReadNode (location: (72,7)-(72,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1189...1193))
- │ │ │ ├── operator_loc: (1189...1190) = "*"
+ │ │ │ @ SplatNode (location: (72,11)-(72,15))
+ │ │ │ ├── operator_loc: (72,11)-(72,12) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1190...1193))
+ │ │ │ @ LocalVariableTargetNode (location: (72,12)-(72,15))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1195...1198))
+ │ │ │ └── @ LocalVariableTargetNode (location: (72,17)-(72,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1188...1189) = "("
- │ │ └── closing_loc: (1198...1199) = ")"
- │ └── operator_loc: (1182...1184) = "=>"
- ├── @ MatchRequiredNode (location: (1200...1221))
+ │ │ ├── opening_loc: (72,10)-(72,11) = "("
+ │ │ └── closing_loc: (72,20)-(72,21) = ")"
+ │ └── operator_loc: (72,4)-(72,6) = "=>"
+ ├── @ MatchRequiredNode (location: (73,0)-(73,21))
│ ├── value:
- │ │ @ CallNode (location: (1200...1203))
+ │ │ @ CallNode (location: (73,0)-(73,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1200...1203) = "foo"
+ │ │ ├── message_loc: (73,0)-(73,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1604,31 +1604,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1207...1221))
+ │ │ @ ArrayPatternNode (location: (73,7)-(73,21))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1207...1210))
+ │ │ │ @ ConstantReadNode (location: (73,7)-(73,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1211...1214))
+ │ │ │ └── @ LocalVariableTargetNode (location: (73,11)-(73,14))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1216...1220))
- │ │ │ ├── operator_loc: (1216...1217) = "*"
+ │ │ │ @ SplatNode (location: (73,16)-(73,20))
+ │ │ │ ├── operator_loc: (73,16)-(73,17) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1217...1220))
+ │ │ │ @ LocalVariableTargetNode (location: (73,17)-(73,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1210...1211) = "("
- │ │ └── closing_loc: (1220...1221) = ")"
- │ └── operator_loc: (1204...1206) = "=>"
- ├── @ MatchRequiredNode (location: (1222...1249))
+ │ │ ├── opening_loc: (73,10)-(73,11) = "("
+ │ │ └── closing_loc: (73,20)-(73,21) = ")"
+ │ └── operator_loc: (73,4)-(73,6) = "=>"
+ ├── @ MatchRequiredNode (location: (74,0)-(74,27))
│ ├── value:
- │ │ @ CallNode (location: (1222...1225))
+ │ │ @ CallNode (location: (74,0)-(74,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1222...1225) = "foo"
+ │ │ ├── message_loc: (74,0)-(74,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1636,37 +1636,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FindPatternNode (location: (1229...1249))
+ │ │ @ FindPatternNode (location: (74,7)-(74,27))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1229...1232))
+ │ │ │ @ ConstantReadNode (location: (74,7)-(74,10))
│ │ │ └── name: :Foo
│ │ ├── left:
- │ │ │ @ SplatNode (location: (1233...1237))
- │ │ │ ├── operator_loc: (1233...1234) = "*"
+ │ │ │ @ SplatNode (location: (74,11)-(74,15))
+ │ │ │ ├── operator_loc: (74,11)-(74,12) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1234...1237))
+ │ │ │ @ LocalVariableTargetNode (location: (74,12)-(74,15))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1239...1242))
+ │ │ │ └── @ LocalVariableTargetNode (location: (74,17)-(74,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── right:
- │ │ │ @ SplatNode (location: (1244...1248))
- │ │ │ ├── operator_loc: (1244...1245) = "*"
+ │ │ │ @ SplatNode (location: (74,22)-(74,26))
+ │ │ │ ├── operator_loc: (74,22)-(74,23) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1245...1248))
+ │ │ │ @ LocalVariableTargetNode (location: (74,23)-(74,26))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1232...1233) = "("
- │ │ └── closing_loc: (1248...1249) = ")"
- │ └── operator_loc: (1226...1228) = "=>"
- ├── @ MatchRequiredNode (location: (1251...1263))
+ │ │ ├── opening_loc: (74,10)-(74,11) = "("
+ │ │ └── closing_loc: (74,26)-(74,27) = ")"
+ │ └── operator_loc: (74,4)-(74,6) = "=>"
+ ├── @ MatchRequiredNode (location: (76,0)-(76,12))
│ ├── value:
- │ │ @ CallNode (location: (1251...1254))
+ │ │ @ CallNode (location: (76,0)-(76,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1251...1254) = "foo"
+ │ │ ├── message_loc: (76,0)-(76,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1674,22 +1674,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1258...1263))
+ │ │ @ ArrayPatternNode (location: (76,7)-(76,12))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1258...1261))
+ │ │ │ @ ConstantReadNode (location: (76,7)-(76,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1261...1262) = "["
- │ │ └── closing_loc: (1262...1263) = "]"
- │ └── operator_loc: (1255...1257) = "=>"
- ├── @ MatchRequiredNode (location: (1264...1277))
+ │ │ ├── opening_loc: (76,10)-(76,11) = "["
+ │ │ └── closing_loc: (76,11)-(76,12) = "]"
+ │ └── operator_loc: (76,4)-(76,6) = "=>"
+ ├── @ MatchRequiredNode (location: (77,0)-(77,13))
│ ├── value:
- │ │ @ CallNode (location: (1264...1267))
+ │ │ @ CallNode (location: (77,0)-(77,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1264...1267) = "foo"
+ │ │ ├── message_loc: (77,0)-(77,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1697,24 +1697,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1271...1277))
+ │ │ @ ArrayPatternNode (location: (77,7)-(77,13))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1271...1274))
+ │ │ │ @ ConstantReadNode (location: (77,7)-(77,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ IntegerNode (location: (1275...1276))
+ │ │ │ └── @ IntegerNode (location: (77,11)-(77,12))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1274...1275) = "["
- │ │ └── closing_loc: (1276...1277) = "]"
- │ └── operator_loc: (1268...1270) = "=>"
- ├── @ MatchRequiredNode (location: (1278...1297))
+ │ │ ├── opening_loc: (77,10)-(77,11) = "["
+ │ │ └── closing_loc: (77,12)-(77,13) = "]"
+ │ └── operator_loc: (77,4)-(77,6) = "=>"
+ ├── @ MatchRequiredNode (location: (78,0)-(78,19))
│ ├── value:
- │ │ @ CallNode (location: (1278...1281))
+ │ │ @ CallNode (location: (78,0)-(78,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1278...1281) = "foo"
+ │ │ ├── message_loc: (78,0)-(78,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1722,28 +1722,28 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1285...1297))
+ │ │ @ ArrayPatternNode (location: (78,7)-(78,19))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1285...1288))
+ │ │ │ @ ConstantReadNode (location: (78,7)-(78,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 3)
- │ │ │ ├── @ IntegerNode (location: (1289...1290))
+ │ │ │ ├── @ IntegerNode (location: (78,11)-(78,12))
│ │ │ │ └── flags: decimal
- │ │ │ ├── @ IntegerNode (location: (1292...1293))
+ │ │ │ ├── @ IntegerNode (location: (78,14)-(78,15))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (1295...1296))
+ │ │ │ └── @ IntegerNode (location: (78,17)-(78,18))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1288...1289) = "["
- │ │ └── closing_loc: (1296...1297) = "]"
- │ └── operator_loc: (1282...1284) = "=>"
- ├── @ MatchRequiredNode (location: (1298...1315))
+ │ │ ├── opening_loc: (78,10)-(78,11) = "["
+ │ │ └── closing_loc: (78,18)-(78,19) = "]"
+ │ └── operator_loc: (78,4)-(78,6) = "=>"
+ ├── @ MatchRequiredNode (location: (79,0)-(79,17))
│ ├── value:
- │ │ @ CallNode (location: (1298...1301))
+ │ │ @ CallNode (location: (79,0)-(79,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1298...1301) = "foo"
+ │ │ ├── message_loc: (79,0)-(79,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1751,31 +1751,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1305...1315))
+ │ │ @ ArrayPatternNode (location: (79,7)-(79,17))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1305...1308))
+ │ │ │ @ ConstantReadNode (location: (79,7)-(79,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ ArrayPatternNode (location: (1309...1314))
+ │ │ │ └── @ ArrayPatternNode (location: (79,11)-(79,16))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (1309...1312))
+ │ │ │ │ @ ConstantReadNode (location: (79,11)-(79,14))
│ │ │ │ └── name: :Foo
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (1312...1313) = "["
- │ │ │ └── closing_loc: (1313...1314) = "]"
+ │ │ │ ├── opening_loc: (79,14)-(79,15) = "["
+ │ │ │ └── closing_loc: (79,15)-(79,16) = "]"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1308...1309) = "["
- │ │ └── closing_loc: (1314...1315) = "]"
- │ └── operator_loc: (1302...1304) = "=>"
- ├── @ MatchRequiredNode (location: (1316...1331))
+ │ │ ├── opening_loc: (79,10)-(79,11) = "["
+ │ │ └── closing_loc: (79,16)-(79,17) = "]"
+ │ └── operator_loc: (79,4)-(79,6) = "=>"
+ ├── @ MatchRequiredNode (location: (80,0)-(80,15))
│ ├── value:
- │ │ @ CallNode (location: (1316...1319))
+ │ │ @ CallNode (location: (80,0)-(80,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1316...1319) = "foo"
+ │ │ ├── message_loc: (80,0)-(80,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1783,25 +1783,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1323...1331))
+ │ │ @ ArrayPatternNode (location: (80,7)-(80,15))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1323...1326))
+ │ │ │ @ ConstantReadNode (location: (80,7)-(80,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1327...1330))
+ │ │ │ └── @ LocalVariableTargetNode (location: (80,11)-(80,14))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1326...1327) = "["
- │ │ └── closing_loc: (1330...1331) = "]"
- │ └── operator_loc: (1320...1322) = "=>"
- ├── @ MatchRequiredNode (location: (1332...1353))
+ │ │ ├── opening_loc: (80,10)-(80,11) = "["
+ │ │ └── closing_loc: (80,14)-(80,15) = "]"
+ │ └── operator_loc: (80,4)-(80,6) = "=>"
+ ├── @ MatchRequiredNode (location: (81,0)-(81,21))
│ ├── value:
- │ │ @ CallNode (location: (1332...1335))
+ │ │ @ CallNode (location: (81,0)-(81,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1332...1335) = "foo"
+ │ │ ├── message_loc: (81,0)-(81,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1809,31 +1809,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1339...1353))
+ │ │ @ ArrayPatternNode (location: (81,7)-(81,21))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1339...1342))
+ │ │ │ @ ConstantReadNode (location: (81,7)-(81,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1343...1347))
- │ │ │ ├── operator_loc: (1343...1344) = "*"
+ │ │ │ @ SplatNode (location: (81,11)-(81,15))
+ │ │ │ ├── operator_loc: (81,11)-(81,12) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1344...1347))
+ │ │ │ @ LocalVariableTargetNode (location: (81,12)-(81,15))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1349...1352))
+ │ │ │ └── @ LocalVariableTargetNode (location: (81,17)-(81,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1342...1343) = "["
- │ │ └── closing_loc: (1352...1353) = "]"
- │ └── operator_loc: (1336...1338) = "=>"
- ├── @ MatchRequiredNode (location: (1354...1375))
+ │ │ ├── opening_loc: (81,10)-(81,11) = "["
+ │ │ └── closing_loc: (81,20)-(81,21) = "]"
+ │ └── operator_loc: (81,4)-(81,6) = "=>"
+ ├── @ MatchRequiredNode (location: (82,0)-(82,21))
│ ├── value:
- │ │ @ CallNode (location: (1354...1357))
+ │ │ @ CallNode (location: (82,0)-(82,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1354...1357) = "foo"
+ │ │ ├── message_loc: (82,0)-(82,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1841,31 +1841,31 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1361...1375))
+ │ │ @ ArrayPatternNode (location: (82,7)-(82,21))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1361...1364))
+ │ │ │ @ ConstantReadNode (location: (82,7)-(82,10))
│ │ │ └── name: :Foo
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1365...1368))
+ │ │ │ └── @ LocalVariableTargetNode (location: (82,11)-(82,14))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1370...1374))
- │ │ │ ├── operator_loc: (1370...1371) = "*"
+ │ │ │ @ SplatNode (location: (82,16)-(82,20))
+ │ │ │ ├── operator_loc: (82,16)-(82,17) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1371...1374))
+ │ │ │ @ LocalVariableTargetNode (location: (82,17)-(82,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1364...1365) = "["
- │ │ └── closing_loc: (1374...1375) = "]"
- │ └── operator_loc: (1358...1360) = "=>"
- ├── @ MatchRequiredNode (location: (1376...1403))
+ │ │ ├── opening_loc: (82,10)-(82,11) = "["
+ │ │ └── closing_loc: (82,20)-(82,21) = "]"
+ │ └── operator_loc: (82,4)-(82,6) = "=>"
+ ├── @ MatchRequiredNode (location: (83,0)-(83,27))
│ ├── value:
- │ │ @ CallNode (location: (1376...1379))
+ │ │ @ CallNode (location: (83,0)-(83,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1376...1379) = "foo"
+ │ │ ├── message_loc: (83,0)-(83,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1873,37 +1873,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FindPatternNode (location: (1383...1403))
+ │ │ @ FindPatternNode (location: (83,7)-(83,27))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (1383...1386))
+ │ │ │ @ ConstantReadNode (location: (83,7)-(83,10))
│ │ │ └── name: :Foo
│ │ ├── left:
- │ │ │ @ SplatNode (location: (1387...1391))
- │ │ │ ├── operator_loc: (1387...1388) = "*"
+ │ │ │ @ SplatNode (location: (83,11)-(83,15))
+ │ │ │ ├── operator_loc: (83,11)-(83,12) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1388...1391))
+ │ │ │ @ LocalVariableTargetNode (location: (83,12)-(83,15))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1393...1396))
+ │ │ │ └── @ LocalVariableTargetNode (location: (83,17)-(83,20))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── right:
- │ │ │ @ SplatNode (location: (1398...1402))
- │ │ │ ├── operator_loc: (1398...1399) = "*"
+ │ │ │ @ SplatNode (location: (83,22)-(83,26))
+ │ │ │ ├── operator_loc: (83,22)-(83,23) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1399...1402))
+ │ │ │ @ LocalVariableTargetNode (location: (83,23)-(83,26))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1386...1387) = "["
- │ │ └── closing_loc: (1402...1403) = "]"
- │ └── operator_loc: (1380...1382) = "=>"
- ├── @ MatchRequiredNode (location: (1405...1416))
+ │ │ ├── opening_loc: (83,10)-(83,11) = "["
+ │ │ └── closing_loc: (83,26)-(83,27) = "]"
+ │ └── operator_loc: (83,4)-(83,6) = "=>"
+ ├── @ MatchRequiredNode (location: (85,0)-(85,11))
│ ├── value:
- │ │ @ CallNode (location: (1405...1408))
+ │ │ @ CallNode (location: (85,0)-(85,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1405...1408) = "foo"
+ │ │ ├── message_loc: (85,0)-(85,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1911,26 +1911,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1412...1416))
+ │ │ @ ArrayPatternNode (location: (85,7)-(85,11))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1412...1416))
- │ │ │ ├── operator_loc: (1412...1413) = "*"
+ │ │ │ @ SplatNode (location: (85,7)-(85,11))
+ │ │ │ ├── operator_loc: (85,7)-(85,8) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1413...1416))
+ │ │ │ @ LocalVariableTargetNode (location: (85,8)-(85,11))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (1409...1411) = "=>"
- ├── @ MatchRequiredNode (location: (1417...1438))
+ │ └── operator_loc: (85,4)-(85,6) = "=>"
+ ├── @ MatchRequiredNode (location: (86,0)-(86,21))
│ ├── value:
- │ │ @ CallNode (location: (1417...1420))
+ │ │ @ CallNode (location: (86,0)-(86,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1417...1420) = "foo"
+ │ │ ├── message_loc: (86,0)-(86,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1938,32 +1938,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1424...1438))
+ │ │ @ ArrayPatternNode (location: (86,7)-(86,21))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1424...1428))
- │ │ │ ├── operator_loc: (1424...1425) = "*"
+ │ │ │ @ SplatNode (location: (86,7)-(86,11))
+ │ │ │ ├── operator_loc: (86,7)-(86,8) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1425...1428))
+ │ │ │ @ LocalVariableTargetNode (location: (86,8)-(86,11))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (1430...1433))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (86,13)-(86,16))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (1435...1438))
+ │ │ │ └── @ LocalVariableTargetNode (location: (86,18)-(86,21))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (1421...1423) = "=>"
- ├── @ MatchRequiredNode (location: (1439...1460))
+ │ └── operator_loc: (86,4)-(86,6) = "=>"
+ ├── @ MatchRequiredNode (location: (87,0)-(87,21))
│ ├── value:
- │ │ @ CallNode (location: (1439...1442))
+ │ │ @ CallNode (location: (87,0)-(87,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1439...1442) = "foo"
+ │ │ ├── message_loc: (87,0)-(87,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1971,32 +1971,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1446...1460))
+ │ │ @ ArrayPatternNode (location: (87,7)-(87,21))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1446...1449))
+ │ │ │ └── @ LocalVariableTargetNode (location: (87,7)-(87,10))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1451...1455))
- │ │ │ ├── operator_loc: (1451...1452) = "*"
+ │ │ │ @ SplatNode (location: (87,12)-(87,16))
+ │ │ │ ├── operator_loc: (87,12)-(87,13) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1452...1455))
+ │ │ │ @ LocalVariableTargetNode (location: (87,13)-(87,16))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── posts: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1457...1460))
+ │ │ │ └── @ LocalVariableTargetNode (location: (87,18)-(87,21))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (1443...1445) = "=>"
- ├── @ MatchRequiredNode (location: (1461...1482))
+ │ └── operator_loc: (87,4)-(87,6) = "=>"
+ ├── @ MatchRequiredNode (location: (88,0)-(88,21))
│ ├── value:
- │ │ @ CallNode (location: (1461...1464))
+ │ │ @ CallNode (location: (88,0)-(88,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1461...1464) = "foo"
+ │ │ ├── message_loc: (88,0)-(88,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2004,32 +2004,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1468...1482))
+ │ │ @ ArrayPatternNode (location: (88,7)-(88,21))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (1468...1471))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (88,7)-(88,10))
│ │ │ │ ├── name: :bar
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (1473...1476))
+ │ │ │ └── @ LocalVariableTargetNode (location: (88,12)-(88,15))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1478...1482))
- │ │ │ ├── operator_loc: (1478...1479) = "*"
+ │ │ │ @ SplatNode (location: (88,17)-(88,21))
+ │ │ │ ├── operator_loc: (88,17)-(88,18) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1479...1482))
+ │ │ │ @ LocalVariableTargetNode (location: (88,18)-(88,21))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (1465...1467) = "=>"
- ├── @ MatchRequiredNode (location: (1483...1505))
+ │ └── operator_loc: (88,4)-(88,6) = "=>"
+ ├── @ MatchRequiredNode (location: (89,0)-(89,22))
│ ├── value:
- │ │ @ CallNode (location: (1483...1486))
+ │ │ @ CallNode (location: (89,0)-(89,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1483...1486) = "foo"
+ │ │ ├── message_loc: (89,0)-(89,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2037,35 +2037,35 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FindPatternNode (location: (1490...1505))
+ │ │ @ FindPatternNode (location: (89,7)-(89,22))
│ │ ├── constant: ∅
│ │ ├── left:
- │ │ │ @ SplatNode (location: (1490...1494))
- │ │ │ ├── operator_loc: (1490...1491) = "*"
+ │ │ │ @ SplatNode (location: (89,7)-(89,11))
+ │ │ │ ├── operator_loc: (89,7)-(89,8) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1491...1494))
+ │ │ │ @ LocalVariableTargetNode (location: (89,8)-(89,11))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1496...1499))
+ │ │ │ └── @ LocalVariableTargetNode (location: (89,13)-(89,16))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── right:
- │ │ │ @ SplatNode (location: (1501...1505))
- │ │ │ ├── operator_loc: (1501...1502) = "*"
+ │ │ │ @ SplatNode (location: (89,18)-(89,22))
+ │ │ │ ├── operator_loc: (89,18)-(89,19) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1502...1505))
+ │ │ │ @ LocalVariableTargetNode (location: (89,19)-(89,22))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (1487...1489) = "=>"
- ├── @ MatchRequiredNode (location: (1507...1516))
+ │ └── operator_loc: (89,4)-(89,6) = "=>"
+ ├── @ MatchRequiredNode (location: (91,0)-(91,9))
│ ├── value:
- │ │ @ CallNode (location: (1507...1510))
+ │ │ @ CallNode (location: (91,0)-(91,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1507...1510) = "foo"
+ │ │ ├── message_loc: (91,0)-(91,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2073,20 +2073,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1514...1516))
+ │ │ @ ArrayPatternNode (location: (91,7)-(91,9))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1514...1515) = "["
- │ │ └── closing_loc: (1515...1516) = "]"
- │ └── operator_loc: (1511...1513) = "=>"
- ├── @ MatchRequiredNode (location: (1517...1534))
+ │ │ ├── opening_loc: (91,7)-(91,8) = "["
+ │ │ └── closing_loc: (91,8)-(91,9) = "]"
+ │ └── operator_loc: (91,4)-(91,6) = "=>"
+ ├── @ MatchRequiredNode (location: (92,0)-(92,17))
│ ├── value:
- │ │ @ CallNode (location: (1517...1520))
+ │ │ @ CallNode (location: (92,0)-(92,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1517...1520) = "foo"
+ │ │ ├── message_loc: (92,0)-(92,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2094,48 +2094,48 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1524...1534))
+ │ │ @ ArrayPatternNode (location: (92,7)-(92,17))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ ArrayPatternNode (location: (1525...1533))
+ │ │ │ └── @ ArrayPatternNode (location: (92,8)-(92,16))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ ArrayPatternNode (location: (1526...1532))
+ │ │ │ │ └── @ ArrayPatternNode (location: (92,9)-(92,15))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ ArrayPatternNode (location: (1527...1531))
+ │ │ │ │ │ └── @ ArrayPatternNode (location: (92,10)-(92,14))
│ │ │ │ │ ├── constant: ∅
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ ArrayPatternNode (location: (1528...1530))
+ │ │ │ │ │ │ └── @ ArrayPatternNode (location: (92,11)-(92,13))
│ │ │ │ │ │ ├── constant: ∅
│ │ │ │ │ │ ├── requireds: (length: 0)
│ │ │ │ │ │ ├── rest: ∅
│ │ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ │ ├── opening_loc: (1528...1529) = "["
- │ │ │ │ │ │ └── closing_loc: (1529...1530) = "]"
+ │ │ │ │ │ │ ├── opening_loc: (92,11)-(92,12) = "["
+ │ │ │ │ │ │ └── closing_loc: (92,12)-(92,13) = "]"
│ │ │ │ │ ├── rest: ∅
│ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── opening_loc: (1527...1528) = "["
- │ │ │ │ │ └── closing_loc: (1530...1531) = "]"
+ │ │ │ │ │ ├── opening_loc: (92,10)-(92,11) = "["
+ │ │ │ │ │ └── closing_loc: (92,13)-(92,14) = "]"
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (1526...1527) = "["
- │ │ │ │ └── closing_loc: (1531...1532) = "]"
+ │ │ │ │ ├── opening_loc: (92,9)-(92,10) = "["
+ │ │ │ │ └── closing_loc: (92,14)-(92,15) = "]"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (1525...1526) = "["
- │ │ │ └── closing_loc: (1532...1533) = "]"
+ │ │ │ ├── opening_loc: (92,8)-(92,9) = "["
+ │ │ │ └── closing_loc: (92,15)-(92,16) = "]"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1524...1525) = "["
- │ │ └── closing_loc: (1533...1534) = "]"
- │ └── operator_loc: (1521...1523) = "=>"
- ├── @ MatchRequiredNode (location: (1536...1549))
+ │ │ ├── opening_loc: (92,7)-(92,8) = "["
+ │ │ └── closing_loc: (92,16)-(92,17) = "]"
+ │ └── operator_loc: (92,4)-(92,6) = "=>"
+ ├── @ MatchRequiredNode (location: (94,0)-(94,13))
│ ├── value:
- │ │ @ CallNode (location: (1536...1539))
+ │ │ @ CallNode (location: (94,0)-(94,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1536...1539) = "foo"
+ │ │ ├── message_loc: (94,0)-(94,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2143,26 +2143,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1543...1549))
+ │ │ @ ArrayPatternNode (location: (94,7)-(94,13))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1544...1548))
- │ │ │ ├── operator_loc: (1544...1545) = "*"
+ │ │ │ @ SplatNode (location: (94,8)-(94,12))
+ │ │ │ ├── operator_loc: (94,8)-(94,9) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1545...1548))
+ │ │ │ @ LocalVariableTargetNode (location: (94,9)-(94,12))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1543...1544) = "["
- │ │ └── closing_loc: (1548...1549) = "]"
- │ └── operator_loc: (1540...1542) = "=>"
- ├── @ MatchRequiredNode (location: (1550...1573))
+ │ │ ├── opening_loc: (94,7)-(94,8) = "["
+ │ │ └── closing_loc: (94,12)-(94,13) = "]"
+ │ └── operator_loc: (94,4)-(94,6) = "=>"
+ ├── @ MatchRequiredNode (location: (95,0)-(95,23))
│ ├── value:
- │ │ @ CallNode (location: (1550...1553))
+ │ │ @ CallNode (location: (95,0)-(95,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1550...1553) = "foo"
+ │ │ ├── message_loc: (95,0)-(95,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2170,32 +2170,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1557...1573))
+ │ │ @ ArrayPatternNode (location: (95,7)-(95,23))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1558...1562))
- │ │ │ ├── operator_loc: (1558...1559) = "*"
+ │ │ │ @ SplatNode (location: (95,8)-(95,12))
+ │ │ │ ├── operator_loc: (95,8)-(95,9) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1559...1562))
+ │ │ │ @ LocalVariableTargetNode (location: (95,9)-(95,12))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── posts: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (1564...1567))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (95,14)-(95,17))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (1569...1572))
+ │ │ │ └── @ LocalVariableTargetNode (location: (95,19)-(95,22))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1557...1558) = "["
- │ │ └── closing_loc: (1572...1573) = "]"
- │ └── operator_loc: (1554...1556) = "=>"
- ├── @ MatchRequiredNode (location: (1574...1597))
+ │ │ ├── opening_loc: (95,7)-(95,8) = "["
+ │ │ └── closing_loc: (95,22)-(95,23) = "]"
+ │ └── operator_loc: (95,4)-(95,6) = "=>"
+ ├── @ MatchRequiredNode (location: (96,0)-(96,23))
│ ├── value:
- │ │ @ CallNode (location: (1574...1577))
+ │ │ @ CallNode (location: (96,0)-(96,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1574...1577) = "foo"
+ │ │ ├── message_loc: (96,0)-(96,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2203,32 +2203,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1581...1597))
+ │ │ @ ArrayPatternNode (location: (96,7)-(96,23))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1582...1585))
+ │ │ │ └── @ LocalVariableTargetNode (location: (96,8)-(96,11))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1587...1591))
- │ │ │ ├── operator_loc: (1587...1588) = "*"
+ │ │ │ @ SplatNode (location: (96,13)-(96,17))
+ │ │ │ ├── operator_loc: (96,13)-(96,14) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1588...1591))
+ │ │ │ @ LocalVariableTargetNode (location: (96,14)-(96,17))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── posts: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1593...1596))
+ │ │ │ └── @ LocalVariableTargetNode (location: (96,19)-(96,22))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1581...1582) = "["
- │ │ └── closing_loc: (1596...1597) = "]"
- │ └── operator_loc: (1578...1580) = "=>"
- ├── @ MatchRequiredNode (location: (1598...1621))
+ │ │ ├── opening_loc: (96,7)-(96,8) = "["
+ │ │ └── closing_loc: (96,22)-(96,23) = "]"
+ │ └── operator_loc: (96,4)-(96,6) = "=>"
+ ├── @ MatchRequiredNode (location: (97,0)-(97,23))
│ ├── value:
- │ │ @ CallNode (location: (1598...1601))
+ │ │ @ CallNode (location: (97,0)-(97,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1598...1601) = "foo"
+ │ │ ├── message_loc: (97,0)-(97,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2236,32 +2236,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (1605...1621))
+ │ │ @ ArrayPatternNode (location: (97,7)-(97,23))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (1606...1609))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (97,8)-(97,11))
│ │ │ │ ├── name: :bar
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (1611...1614))
+ │ │ │ └── @ LocalVariableTargetNode (location: (97,13)-(97,16))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (1616...1620))
- │ │ │ ├── operator_loc: (1616...1617) = "*"
+ │ │ │ @ SplatNode (location: (97,18)-(97,22))
+ │ │ │ ├── operator_loc: (97,18)-(97,19) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1617...1620))
+ │ │ │ @ LocalVariableTargetNode (location: (97,19)-(97,22))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (1605...1606) = "["
- │ │ └── closing_loc: (1620...1621) = "]"
- │ └── operator_loc: (1602...1604) = "=>"
- ├── @ MatchRequiredNode (location: (1622...1646))
+ │ │ ├── opening_loc: (97,7)-(97,8) = "["
+ │ │ └── closing_loc: (97,22)-(97,23) = "]"
+ │ └── operator_loc: (97,4)-(97,6) = "=>"
+ ├── @ MatchRequiredNode (location: (98,0)-(98,24))
│ ├── value:
- │ │ @ CallNode (location: (1622...1625))
+ │ │ @ CallNode (location: (98,0)-(98,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1622...1625) = "foo"
+ │ │ ├── message_loc: (98,0)-(98,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2269,35 +2269,35 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FindPatternNode (location: (1629...1646))
+ │ │ @ FindPatternNode (location: (98,7)-(98,24))
│ │ ├── constant: ∅
│ │ ├── left:
- │ │ │ @ SplatNode (location: (1630...1634))
- │ │ │ ├── operator_loc: (1630...1631) = "*"
+ │ │ │ @ SplatNode (location: (98,8)-(98,12))
+ │ │ │ ├── operator_loc: (98,8)-(98,9) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1631...1634))
+ │ │ │ @ LocalVariableTargetNode (location: (98,9)-(98,12))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (1636...1639))
+ │ │ │ └── @ LocalVariableTargetNode (location: (98,14)-(98,17))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
│ │ ├── right:
- │ │ │ @ SplatNode (location: (1641...1645))
- │ │ │ ├── operator_loc: (1641...1642) = "*"
+ │ │ │ @ SplatNode (location: (98,19)-(98,23))
+ │ │ │ ├── operator_loc: (98,19)-(98,20) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1642...1645))
+ │ │ │ @ LocalVariableTargetNode (location: (98,20)-(98,23))
│ │ │ ├── name: :qux
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (1629...1630) = "["
- │ │ └── closing_loc: (1645...1646) = "]"
- │ └── operator_loc: (1626...1628) = "=>"
- ├── @ MatchPredicateNode (location: (1648...1658))
+ │ │ ├── opening_loc: (98,7)-(98,8) = "["
+ │ │ └── closing_loc: (98,23)-(98,24) = "]"
+ │ └── operator_loc: (98,4)-(98,6) = "=>"
+ ├── @ MatchPredicateNode (location: (100,0)-(100,10))
│ ├── value:
- │ │ @ CallNode (location: (1648...1651))
+ │ │ @ CallNode (location: (100,0)-(100,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1648...1651) = "foo"
+ │ │ ├── message_loc: (100,0)-(100,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2305,16 +2305,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ LocalVariableTargetNode (location: (1655...1658))
+ │ │ @ LocalVariableTargetNode (location: (100,7)-(100,10))
│ │ ├── name: :bar
│ │ └── depth: 0
- │ └── operator_loc: (1652...1654) = "in"
- ├── @ MatchPredicateNode (location: (1659...1667))
+ │ └── operator_loc: (100,4)-(100,6) = "in"
+ ├── @ MatchPredicateNode (location: (101,0)-(101,8))
│ ├── value:
- │ │ @ CallNode (location: (1659...1662))
+ │ │ @ CallNode (location: (101,0)-(101,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1659...1662) = "foo"
+ │ │ ├── message_loc: (101,0)-(101,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2322,15 +2322,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ IntegerNode (location: (1666...1667))
+ │ │ @ IntegerNode (location: (101,7)-(101,8))
│ │ └── flags: decimal
- │ └── operator_loc: (1663...1665) = "in"
- ├── @ MatchPredicateNode (location: (1668...1678))
+ │ └── operator_loc: (101,4)-(101,6) = "in"
+ ├── @ MatchPredicateNode (location: (102,0)-(102,10))
│ ├── value:
- │ │ @ CallNode (location: (1668...1671))
+ │ │ @ CallNode (location: (102,0)-(102,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1668...1671) = "foo"
+ │ │ ├── message_loc: (102,0)-(102,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2338,14 +2338,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FloatNode (location: (1675...1678))
- │ └── operator_loc: (1672...1674) = "in"
- ├── @ MatchPredicateNode (location: (1679...1688))
+ │ │ @ FloatNode (location: (102,7)-(102,10))
+ │ └── operator_loc: (102,4)-(102,6) = "in"
+ ├── @ MatchPredicateNode (location: (103,0)-(103,9))
│ ├── value:
- │ │ @ CallNode (location: (1679...1682))
+ │ │ @ CallNode (location: (103,0)-(103,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1679...1682) = "foo"
+ │ │ ├── message_loc: (103,0)-(103,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2353,17 +2353,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ImaginaryNode (location: (1686...1688))
+ │ │ @ ImaginaryNode (location: (103,7)-(103,9))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (1686...1687))
+ │ │ @ IntegerNode (location: (103,7)-(103,8))
│ │ └── flags: decimal
- │ └── operator_loc: (1683...1685) = "in"
- ├── @ MatchPredicateNode (location: (1689...1698))
+ │ └── operator_loc: (103,4)-(103,6) = "in"
+ ├── @ MatchPredicateNode (location: (104,0)-(104,9))
│ ├── value:
- │ │ @ CallNode (location: (1689...1692))
+ │ │ @ CallNode (location: (104,0)-(104,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1689...1692) = "foo"
+ │ │ ├── message_loc: (104,0)-(104,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2371,17 +2371,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RationalNode (location: (1696...1698))
+ │ │ @ RationalNode (location: (104,7)-(104,9))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (1696...1697))
+ │ │ @ IntegerNode (location: (104,7)-(104,8))
│ │ └── flags: decimal
- │ └── operator_loc: (1693...1695) = "in"
- ├── @ MatchPredicateNode (location: (1699...1710))
+ │ └── operator_loc: (104,4)-(104,6) = "in"
+ ├── @ MatchPredicateNode (location: (105,0)-(105,11))
│ ├── value:
- │ │ @ CallNode (location: (1699...1702))
+ │ │ @ CallNode (location: (105,0)-(105,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1699...1702) = "foo"
+ │ │ ├── message_loc: (105,0)-(105,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2389,18 +2389,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (1706...1710))
- │ │ ├── opening_loc: (1706...1707) = ":"
- │ │ ├── value_loc: (1707...1710) = "foo"
+ │ │ @ SymbolNode (location: (105,7)-(105,11))
+ │ │ ├── opening_loc: (105,7)-(105,8) = ":"
+ │ │ ├── value_loc: (105,8)-(105,11) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1703...1705) = "in"
- ├── @ MatchPredicateNode (location: (1711...1725))
+ │ └── operator_loc: (105,4)-(105,6) = "in"
+ ├── @ MatchPredicateNode (location: (106,0)-(106,14))
│ ├── value:
- │ │ @ CallNode (location: (1711...1714))
+ │ │ @ CallNode (location: (106,0)-(106,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1711...1714) = "foo"
+ │ │ ├── message_loc: (106,0)-(106,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2408,18 +2408,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (1718...1725))
- │ │ ├── opening_loc: (1718...1721) = "%s["
- │ │ ├── value_loc: (1721...1724) = "foo"
- │ │ ├── closing_loc: (1724...1725) = "]"
+ │ │ @ SymbolNode (location: (106,7)-(106,14))
+ │ │ ├── opening_loc: (106,7)-(106,10) = "%s["
+ │ │ ├── value_loc: (106,10)-(106,13) = "foo"
+ │ │ ├── closing_loc: (106,13)-(106,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1715...1717) = "in"
- ├── @ MatchPredicateNode (location: (1726...1739))
+ │ └── operator_loc: (106,4)-(106,6) = "in"
+ ├── @ MatchPredicateNode (location: (107,0)-(107,13))
│ ├── value:
- │ │ @ CallNode (location: (1726...1729))
+ │ │ @ CallNode (location: (107,0)-(107,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1726...1729) = "foo"
+ │ │ ├── message_loc: (107,0)-(107,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2427,18 +2427,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SymbolNode (location: (1733...1739))
- │ │ ├── opening_loc: (1733...1735) = ":\""
- │ │ ├── value_loc: (1735...1738) = "foo"
- │ │ ├── closing_loc: (1738...1739) = "\""
+ │ │ @ SymbolNode (location: (107,7)-(107,13))
+ │ │ ├── opening_loc: (107,7)-(107,9) = ":\""
+ │ │ ├── value_loc: (107,9)-(107,12) = "foo"
+ │ │ ├── closing_loc: (107,12)-(107,13) = "\""
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1730...1732) = "in"
- ├── @ MatchPredicateNode (location: (1740...1752))
+ │ └── operator_loc: (107,4)-(107,6) = "in"
+ ├── @ MatchPredicateNode (location: (108,0)-(108,12))
│ ├── value:
- │ │ @ CallNode (location: (1740...1743))
+ │ │ @ CallNode (location: (108,0)-(108,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1740...1743) = "foo"
+ │ │ ├── message_loc: (108,0)-(108,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2446,19 +2446,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ RegularExpressionNode (location: (1747...1752))
- │ │ ├── opening_loc: (1747...1748) = "/"
- │ │ ├── content_loc: (1748...1751) = "foo"
- │ │ ├── closing_loc: (1751...1752) = "/"
+ │ │ @ RegularExpressionNode (location: (108,7)-(108,12))
+ │ │ ├── opening_loc: (108,7)-(108,8) = "/"
+ │ │ ├── content_loc: (108,8)-(108,11) = "foo"
+ │ │ ├── closing_loc: (108,11)-(108,12) = "/"
│ │ ├── unescaped: "foo"
│ │ └── flags: ∅
- │ └── operator_loc: (1744...1746) = "in"
- ├── @ MatchPredicateNode (location: (1753...1765))
+ │ └── operator_loc: (108,4)-(108,6) = "in"
+ ├── @ MatchPredicateNode (location: (109,0)-(109,12))
│ ├── value:
- │ │ @ CallNode (location: (1753...1756))
+ │ │ @ CallNode (location: (109,0)-(109,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1753...1756) = "foo"
+ │ │ ├── message_loc: (109,0)-(109,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2466,18 +2466,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ XStringNode (location: (1760...1765))
- │ │ ├── opening_loc: (1760...1761) = "`"
- │ │ ├── content_loc: (1761...1764) = "foo"
- │ │ ├── closing_loc: (1764...1765) = "`"
+ │ │ @ XStringNode (location: (109,7)-(109,12))
+ │ │ ├── opening_loc: (109,7)-(109,8) = "`"
+ │ │ ├── content_loc: (109,8)-(109,11) = "foo"
+ │ │ ├── closing_loc: (109,11)-(109,12) = "`"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1757...1759) = "in"
- ├── @ MatchPredicateNode (location: (1766...1780))
+ │ └── operator_loc: (109,4)-(109,6) = "in"
+ ├── @ MatchPredicateNode (location: (110,0)-(110,14))
│ ├── value:
- │ │ @ CallNode (location: (1766...1769))
+ │ │ @ CallNode (location: (110,0)-(110,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1766...1769) = "foo"
+ │ │ ├── message_loc: (110,0)-(110,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2485,18 +2485,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ XStringNode (location: (1773...1780))
- │ │ ├── opening_loc: (1773...1776) = "%x["
- │ │ ├── content_loc: (1776...1779) = "foo"
- │ │ ├── closing_loc: (1779...1780) = "]"
+ │ │ @ XStringNode (location: (110,7)-(110,14))
+ │ │ ├── opening_loc: (110,7)-(110,10) = "%x["
+ │ │ ├── content_loc: (110,10)-(110,13) = "foo"
+ │ │ ├── closing_loc: (110,13)-(110,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1770...1772) = "in"
- ├── @ MatchPredicateNode (location: (1781...1795))
+ │ └── operator_loc: (110,4)-(110,6) = "in"
+ ├── @ MatchPredicateNode (location: (111,0)-(111,14))
│ ├── value:
- │ │ @ CallNode (location: (1781...1784))
+ │ │ @ CallNode (location: (111,0)-(111,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1781...1784) = "foo"
+ │ │ ├── message_loc: (111,0)-(111,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2504,22 +2504,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (1788...1795))
+ │ │ @ ArrayNode (location: (111,7)-(111,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1791...1794))
+ │ │ │ └── @ SymbolNode (location: (111,10)-(111,13))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1791...1794) = "foo"
+ │ │ │ ├── value_loc: (111,10)-(111,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (1788...1791) = "%i["
- │ │ └── closing_loc: (1794...1795) = "]"
- │ └── operator_loc: (1785...1787) = "in"
- ├── @ MatchPredicateNode (location: (1796...1810))
+ │ │ ├── opening_loc: (111,7)-(111,10) = "%i["
+ │ │ └── closing_loc: (111,13)-(111,14) = "]"
+ │ └── operator_loc: (111,4)-(111,6) = "in"
+ ├── @ MatchPredicateNode (location: (112,0)-(112,14))
│ ├── value:
- │ │ @ CallNode (location: (1796...1799))
+ │ │ @ CallNode (location: (112,0)-(112,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1796...1799) = "foo"
+ │ │ ├── message_loc: (112,0)-(112,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2527,22 +2527,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (1803...1810))
+ │ │ @ ArrayNode (location: (112,7)-(112,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SymbolNode (location: (1806...1809))
+ │ │ │ └── @ SymbolNode (location: (112,10)-(112,13))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1806...1809) = "foo"
+ │ │ │ ├── value_loc: (112,10)-(112,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (1803...1806) = "%I["
- │ │ └── closing_loc: (1809...1810) = "]"
- │ └── operator_loc: (1800...1802) = "in"
- ├── @ MatchPredicateNode (location: (1811...1825))
+ │ │ ├── opening_loc: (112,7)-(112,10) = "%I["
+ │ │ └── closing_loc: (112,13)-(112,14) = "]"
+ │ └── operator_loc: (112,4)-(112,6) = "in"
+ ├── @ MatchPredicateNode (location: (113,0)-(113,14))
│ ├── value:
- │ │ @ CallNode (location: (1811...1814))
+ │ │ @ CallNode (location: (113,0)-(113,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1811...1814) = "foo"
+ │ │ ├── message_loc: (113,0)-(113,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2550,23 +2550,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (1818...1825))
+ │ │ @ ArrayNode (location: (113,7)-(113,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ StringNode (location: (1821...1824))
+ │ │ │ └── @ StringNode (location: (113,10)-(113,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (1821...1824) = "foo"
+ │ │ │ ├── content_loc: (113,10)-(113,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (1818...1821) = "%w["
- │ │ └── closing_loc: (1824...1825) = "]"
- │ └── operator_loc: (1815...1817) = "in"
- ├── @ MatchPredicateNode (location: (1826...1840))
+ │ │ ├── opening_loc: (113,7)-(113,10) = "%w["
+ │ │ └── closing_loc: (113,13)-(113,14) = "]"
+ │ └── operator_loc: (113,4)-(113,6) = "in"
+ ├── @ MatchPredicateNode (location: (114,0)-(114,14))
│ ├── value:
- │ │ @ CallNode (location: (1826...1829))
+ │ │ @ CallNode (location: (114,0)-(114,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1826...1829) = "foo"
+ │ │ ├── message_loc: (114,0)-(114,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2574,23 +2574,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ ArrayNode (location: (1833...1840))
+ │ │ @ ArrayNode (location: (114,7)-(114,14))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ StringNode (location: (1836...1839))
+ │ │ │ └── @ StringNode (location: (114,10)-(114,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (1836...1839) = "foo"
+ │ │ │ ├── content_loc: (114,10)-(114,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── opening_loc: (1833...1836) = "%W["
- │ │ └── closing_loc: (1839...1840) = "]"
- │ └── operator_loc: (1830...1832) = "in"
- ├── @ MatchPredicateNode (location: (1841...1855))
+ │ │ ├── opening_loc: (114,7)-(114,10) = "%W["
+ │ │ └── closing_loc: (114,13)-(114,14) = "]"
+ │ └── operator_loc: (114,4)-(114,6) = "in"
+ ├── @ MatchPredicateNode (location: (115,0)-(115,14))
│ ├── value:
- │ │ @ CallNode (location: (1841...1844))
+ │ │ @ CallNode (location: (115,0)-(115,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1841...1844) = "foo"
+ │ │ ├── message_loc: (115,0)-(115,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2598,19 +2598,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (1848...1855))
+ │ │ @ StringNode (location: (115,7)-(115,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (1848...1851) = "%q["
- │ │ ├── content_loc: (1851...1854) = "foo"
- │ │ ├── closing_loc: (1854...1855) = "]"
+ │ │ ├── opening_loc: (115,7)-(115,10) = "%q["
+ │ │ ├── content_loc: (115,10)-(115,13) = "foo"
+ │ │ ├── closing_loc: (115,13)-(115,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1845...1847) = "in"
- ├── @ MatchPredicateNode (location: (1856...1870))
+ │ └── operator_loc: (115,4)-(115,6) = "in"
+ ├── @ MatchPredicateNode (location: (116,0)-(116,14))
│ ├── value:
- │ │ @ CallNode (location: (1856...1859))
+ │ │ @ CallNode (location: (116,0)-(116,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1856...1859) = "foo"
+ │ │ ├── message_loc: (116,0)-(116,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2618,19 +2618,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (1863...1870))
+ │ │ @ StringNode (location: (116,7)-(116,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (1863...1866) = "%Q["
- │ │ ├── content_loc: (1866...1869) = "foo"
- │ │ ├── closing_loc: (1869...1870) = "]"
+ │ │ ├── opening_loc: (116,7)-(116,10) = "%Q["
+ │ │ ├── content_loc: (116,10)-(116,13) = "foo"
+ │ │ ├── closing_loc: (116,13)-(116,14) = "]"
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1860...1862) = "in"
- ├── @ MatchPredicateNode (location: (1871...1883))
+ │ └── operator_loc: (116,4)-(116,6) = "in"
+ ├── @ MatchPredicateNode (location: (117,0)-(117,12))
│ ├── value:
- │ │ @ CallNode (location: (1871...1874))
+ │ │ @ CallNode (location: (117,0)-(117,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1871...1874) = "foo"
+ │ │ ├── message_loc: (117,0)-(117,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2638,19 +2638,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ StringNode (location: (1878...1883))
+ │ │ @ StringNode (location: (117,7)-(117,12))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (1878...1879) = "\""
- │ │ ├── content_loc: (1879...1882) = "foo"
- │ │ ├── closing_loc: (1882...1883) = "\""
+ │ │ ├── opening_loc: (117,7)-(117,8) = "\""
+ │ │ ├── content_loc: (117,8)-(117,11) = "foo"
+ │ │ ├── closing_loc: (117,11)-(117,12) = "\""
│ │ └── unescaped: "foo"
- │ └── operator_loc: (1875...1877) = "in"
- ├── @ MatchPredicateNode (location: (1884...1894))
+ │ └── operator_loc: (117,4)-(117,6) = "in"
+ ├── @ MatchPredicateNode (location: (118,0)-(118,10))
│ ├── value:
- │ │ @ CallNode (location: (1884...1887))
+ │ │ @ CallNode (location: (118,0)-(118,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1884...1887) = "foo"
+ │ │ ├── message_loc: (118,0)-(118,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2658,14 +2658,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ NilNode (location: (1891...1894))
- │ └── operator_loc: (1888...1890) = "in"
- ├── @ MatchPredicateNode (location: (1895...1906))
+ │ │ @ NilNode (location: (118,7)-(118,10))
+ │ └── operator_loc: (118,4)-(118,6) = "in"
+ ├── @ MatchPredicateNode (location: (119,0)-(119,11))
│ ├── value:
- │ │ @ CallNode (location: (1895...1898))
+ │ │ @ CallNode (location: (119,0)-(119,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1895...1898) = "foo"
+ │ │ ├── message_loc: (119,0)-(119,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2673,14 +2673,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SelfNode (location: (1902...1906))
- │ └── operator_loc: (1899...1901) = "in"
- ├── @ MatchPredicateNode (location: (1907...1918))
+ │ │ @ SelfNode (location: (119,7)-(119,11))
+ │ └── operator_loc: (119,4)-(119,6) = "in"
+ ├── @ MatchPredicateNode (location: (120,0)-(120,11))
│ ├── value:
- │ │ @ CallNode (location: (1907...1910))
+ │ │ @ CallNode (location: (120,0)-(120,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1907...1910) = "foo"
+ │ │ ├── message_loc: (120,0)-(120,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2688,14 +2688,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ TrueNode (location: (1914...1918))
- │ └── operator_loc: (1911...1913) = "in"
- ├── @ MatchPredicateNode (location: (1919...1931))
+ │ │ @ TrueNode (location: (120,7)-(120,11))
+ │ └── operator_loc: (120,4)-(120,6) = "in"
+ ├── @ MatchPredicateNode (location: (121,0)-(121,12))
│ ├── value:
- │ │ @ CallNode (location: (1919...1922))
+ │ │ @ CallNode (location: (121,0)-(121,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1919...1922) = "foo"
+ │ │ ├── message_loc: (121,0)-(121,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2703,14 +2703,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ FalseNode (location: (1926...1931))
- │ └── operator_loc: (1923...1925) = "in"
- ├── @ MatchPredicateNode (location: (1932...1947))
+ │ │ @ FalseNode (location: (121,7)-(121,12))
+ │ └── operator_loc: (121,4)-(121,6) = "in"
+ ├── @ MatchPredicateNode (location: (122,0)-(122,15))
│ ├── value:
- │ │ @ CallNode (location: (1932...1935))
+ │ │ @ CallNode (location: (122,0)-(122,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1932...1935) = "foo"
+ │ │ ├── message_loc: (122,0)-(122,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2718,15 +2718,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceFileNode (location: (1939...1947))
+ │ │ @ SourceFileNode (location: (122,7)-(122,15))
│ │ └── filepath: "patterns.txt"
- │ └── operator_loc: (1936...1938) = "in"
- ├── @ MatchPredicateNode (location: (1948...1963))
+ │ └── operator_loc: (122,4)-(122,6) = "in"
+ ├── @ MatchPredicateNode (location: (123,0)-(123,15))
│ ├── value:
- │ │ @ CallNode (location: (1948...1951))
+ │ │ @ CallNode (location: (123,0)-(123,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1948...1951) = "foo"
+ │ │ ├── message_loc: (123,0)-(123,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2734,14 +2734,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceLineNode (location: (1955...1963))
- │ └── operator_loc: (1952...1954) = "in"
- ├── @ MatchPredicateNode (location: (1964...1983))
+ │ │ @ SourceLineNode (location: (123,7)-(123,15))
+ │ └── operator_loc: (123,4)-(123,6) = "in"
+ ├── @ MatchPredicateNode (location: (124,0)-(124,19))
│ ├── value:
- │ │ @ CallNode (location: (1964...1967))
+ │ │ @ CallNode (location: (124,0)-(124,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1964...1967) = "foo"
+ │ │ ├── message_loc: (124,0)-(124,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2749,14 +2749,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ SourceEncodingNode (location: (1971...1983))
- │ └── operator_loc: (1968...1970) = "in"
- ├── @ MatchPredicateNode (location: (1984...2001))
+ │ │ @ SourceEncodingNode (location: (124,7)-(124,19))
+ │ └── operator_loc: (124,4)-(124,6) = "in"
+ ├── @ MatchPredicateNode (location: (125,0)-(125,17))
│ ├── value:
- │ │ @ CallNode (location: (1984...1987))
+ │ │ @ CallNode (location: (125,0)-(125,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1984...1987) = "foo"
+ │ │ ├── message_loc: (125,0)-(125,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2764,25 +2764,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── pattern:
- │ │ @ LambdaNode (location: (1991...2001))
+ │ │ @ LambdaNode (location: (125,7)-(125,17))
│ │ ├── locals: []
- │ │ ├── operator_loc: (1991...1993) = "->"
- │ │ ├── opening_loc: (1994...1995) = "{"
- │ │ ├── closing_loc: (2000...2001) = "}"
+ │ │ ├── operator_loc: (125,7)-(125,9) = "->"
+ │ │ ├── opening_loc: (125,10)-(125,11) = "{"
+ │ │ ├── closing_loc: (125,16)-(125,17) = "}"
│ │ ├── parameters: ∅
│ │ └── body:
- │ │ @ StatementsNode (location: (1996...1999))
+ │ │ @ StatementsNode (location: (125,12)-(125,15))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (1996...1999))
+ │ │ └── @ LocalVariableReadNode (location: (125,12)-(125,15))
│ │ ├── name: :bar
│ │ └── depth: 1
- │ └── operator_loc: (1988...1990) = "in"
- ├── @ CaseNode (location: (2003...2028))
+ │ └── operator_loc: (125,4)-(125,6) = "in"
+ ├── @ CaseNode (location: (127,0)-(127,25))
│ ├── predicate:
- │ │ @ CallNode (location: (2008...2011))
+ │ │ @ CallNode (location: (127,5)-(127,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2008...2011) = "foo"
+ │ │ ├── message_loc: (127,5)-(127,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2790,23 +2790,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2013...2024))
+ │ │ └── @ InNode (location: (127,10)-(127,21))
│ │ ├── pattern:
- │ │ │ @ LocalVariableTargetNode (location: (2016...2019))
+ │ │ │ @ LocalVariableTargetNode (location: (127,13)-(127,16))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2013...2015) = "in"
- │ │ └── then_loc: (2020...2024) = "then"
+ │ │ ├── in_loc: (127,10)-(127,12) = "in"
+ │ │ └── then_loc: (127,17)-(127,21) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2003...2007) = "case"
- │ └── end_keyword_loc: (2025...2028) = "end"
- ├── @ CaseNode (location: (2029...2052))
+ │ ├── case_keyword_loc: (127,0)-(127,4) = "case"
+ │ └── end_keyword_loc: (127,22)-(127,25) = "end"
+ ├── @ CaseNode (location: (128,0)-(128,23))
│ ├── predicate:
- │ │ @ CallNode (location: (2034...2037))
+ │ │ @ CallNode (location: (128,5)-(128,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2034...2037) = "foo"
+ │ │ ├── message_loc: (128,5)-(128,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2814,22 +2814,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2039...2048))
+ │ │ └── @ InNode (location: (128,10)-(128,19))
│ │ ├── pattern:
- │ │ │ @ IntegerNode (location: (2042...2043))
+ │ │ │ @ IntegerNode (location: (128,13)-(128,14))
│ │ │ └── flags: decimal
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2039...2041) = "in"
- │ │ └── then_loc: (2044...2048) = "then"
+ │ │ ├── in_loc: (128,10)-(128,12) = "in"
+ │ │ └── then_loc: (128,15)-(128,19) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2029...2033) = "case"
- │ └── end_keyword_loc: (2049...2052) = "end"
- ├── @ CaseNode (location: (2053...2078))
+ │ ├── case_keyword_loc: (128,0)-(128,4) = "case"
+ │ └── end_keyword_loc: (128,20)-(128,23) = "end"
+ ├── @ CaseNode (location: (129,0)-(129,25))
│ ├── predicate:
- │ │ @ CallNode (location: (2058...2061))
+ │ │ @ CallNode (location: (129,5)-(129,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2058...2061) = "foo"
+ │ │ ├── message_loc: (129,5)-(129,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2837,21 +2837,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2063...2074))
+ │ │ └── @ InNode (location: (129,10)-(129,21))
│ │ ├── pattern:
- │ │ │ @ FloatNode (location: (2066...2069))
+ │ │ │ @ FloatNode (location: (129,13)-(129,16))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2063...2065) = "in"
- │ │ └── then_loc: (2070...2074) = "then"
+ │ │ ├── in_loc: (129,10)-(129,12) = "in"
+ │ │ └── then_loc: (129,17)-(129,21) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2053...2057) = "case"
- │ └── end_keyword_loc: (2075...2078) = "end"
- ├── @ CaseNode (location: (2079...2103))
+ │ ├── case_keyword_loc: (129,0)-(129,4) = "case"
+ │ └── end_keyword_loc: (129,22)-(129,25) = "end"
+ ├── @ CaseNode (location: (130,0)-(130,24))
│ ├── predicate:
- │ │ @ CallNode (location: (2084...2087))
+ │ │ @ CallNode (location: (130,5)-(130,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2084...2087) = "foo"
+ │ │ ├── message_loc: (130,5)-(130,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2859,24 +2859,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2089...2099))
+ │ │ └── @ InNode (location: (130,10)-(130,20))
│ │ ├── pattern:
- │ │ │ @ ImaginaryNode (location: (2092...2094))
+ │ │ │ @ ImaginaryNode (location: (130,13)-(130,15))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (2092...2093))
+ │ │ │ @ IntegerNode (location: (130,13)-(130,14))
│ │ │ └── flags: decimal
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2089...2091) = "in"
- │ │ └── then_loc: (2095...2099) = "then"
+ │ │ ├── in_loc: (130,10)-(130,12) = "in"
+ │ │ └── then_loc: (130,16)-(130,20) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2079...2083) = "case"
- │ └── end_keyword_loc: (2100...2103) = "end"
- ├── @ CaseNode (location: (2104...2128))
+ │ ├── case_keyword_loc: (130,0)-(130,4) = "case"
+ │ └── end_keyword_loc: (130,21)-(130,24) = "end"
+ ├── @ CaseNode (location: (131,0)-(131,24))
│ ├── predicate:
- │ │ @ CallNode (location: (2109...2112))
+ │ │ @ CallNode (location: (131,5)-(131,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2109...2112) = "foo"
+ │ │ ├── message_loc: (131,5)-(131,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2884,24 +2884,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2114...2124))
+ │ │ └── @ InNode (location: (131,10)-(131,20))
│ │ ├── pattern:
- │ │ │ @ RationalNode (location: (2117...2119))
+ │ │ │ @ RationalNode (location: (131,13)-(131,15))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (2117...2118))
+ │ │ │ @ IntegerNode (location: (131,13)-(131,14))
│ │ │ └── flags: decimal
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2114...2116) = "in"
- │ │ └── then_loc: (2120...2124) = "then"
+ │ │ ├── in_loc: (131,10)-(131,12) = "in"
+ │ │ └── then_loc: (131,16)-(131,20) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2104...2108) = "case"
- │ └── end_keyword_loc: (2125...2128) = "end"
- ├── @ CaseNode (location: (2129...2155))
+ │ ├── case_keyword_loc: (131,0)-(131,4) = "case"
+ │ └── end_keyword_loc: (131,21)-(131,24) = "end"
+ ├── @ CaseNode (location: (132,0)-(132,26))
│ ├── predicate:
- │ │ @ CallNode (location: (2134...2137))
+ │ │ @ CallNode (location: (132,5)-(132,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2134...2137) = "foo"
+ │ │ ├── message_loc: (132,5)-(132,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2909,25 +2909,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2139...2151))
+ │ │ └── @ InNode (location: (132,10)-(132,22))
│ │ ├── pattern:
- │ │ │ @ SymbolNode (location: (2142...2146))
- │ │ │ ├── opening_loc: (2142...2143) = ":"
- │ │ │ ├── value_loc: (2143...2146) = "foo"
+ │ │ │ @ SymbolNode (location: (132,13)-(132,17))
+ │ │ │ ├── opening_loc: (132,13)-(132,14) = ":"
+ │ │ │ ├── value_loc: (132,14)-(132,17) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2139...2141) = "in"
- │ │ └── then_loc: (2147...2151) = "then"
+ │ │ ├── in_loc: (132,10)-(132,12) = "in"
+ │ │ └── then_loc: (132,18)-(132,22) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2129...2133) = "case"
- │ └── end_keyword_loc: (2152...2155) = "end"
- ├── @ CaseNode (location: (2156...2185))
+ │ ├── case_keyword_loc: (132,0)-(132,4) = "case"
+ │ └── end_keyword_loc: (132,23)-(132,26) = "end"
+ ├── @ CaseNode (location: (133,0)-(133,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2161...2164))
+ │ │ @ CallNode (location: (133,5)-(133,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2161...2164) = "foo"
+ │ │ ├── message_loc: (133,5)-(133,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2935,25 +2935,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2166...2181))
+ │ │ └── @ InNode (location: (133,10)-(133,25))
│ │ ├── pattern:
- │ │ │ @ SymbolNode (location: (2169...2176))
- │ │ │ ├── opening_loc: (2169...2172) = "%s["
- │ │ │ ├── value_loc: (2172...2175) = "foo"
- │ │ │ ├── closing_loc: (2175...2176) = "]"
+ │ │ │ @ SymbolNode (location: (133,13)-(133,20))
+ │ │ │ ├── opening_loc: (133,13)-(133,16) = "%s["
+ │ │ │ ├── value_loc: (133,16)-(133,19) = "foo"
+ │ │ │ ├── closing_loc: (133,19)-(133,20) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2166...2168) = "in"
- │ │ └── then_loc: (2177...2181) = "then"
+ │ │ ├── in_loc: (133,10)-(133,12) = "in"
+ │ │ └── then_loc: (133,21)-(133,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2156...2160) = "case"
- │ └── end_keyword_loc: (2182...2185) = "end"
- ├── @ CaseNode (location: (2186...2214))
+ │ ├── case_keyword_loc: (133,0)-(133,4) = "case"
+ │ └── end_keyword_loc: (133,26)-(133,29) = "end"
+ ├── @ CaseNode (location: (134,0)-(134,28))
│ ├── predicate:
- │ │ @ CallNode (location: (2191...2194))
+ │ │ @ CallNode (location: (134,5)-(134,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2191...2194) = "foo"
+ │ │ ├── message_loc: (134,5)-(134,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2961,25 +2961,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2196...2210))
+ │ │ └── @ InNode (location: (134,10)-(134,24))
│ │ ├── pattern:
- │ │ │ @ SymbolNode (location: (2199...2205))
- │ │ │ ├── opening_loc: (2199...2201) = ":\""
- │ │ │ ├── value_loc: (2201...2204) = "foo"
- │ │ │ ├── closing_loc: (2204...2205) = "\""
+ │ │ │ @ SymbolNode (location: (134,13)-(134,19))
+ │ │ │ ├── opening_loc: (134,13)-(134,15) = ":\""
+ │ │ │ ├── value_loc: (134,15)-(134,18) = "foo"
+ │ │ │ ├── closing_loc: (134,18)-(134,19) = "\""
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2196...2198) = "in"
- │ │ └── then_loc: (2206...2210) = "then"
+ │ │ ├── in_loc: (134,10)-(134,12) = "in"
+ │ │ └── then_loc: (134,20)-(134,24) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2186...2190) = "case"
- │ └── end_keyword_loc: (2211...2214) = "end"
- ├── @ CaseNode (location: (2215...2242))
+ │ ├── case_keyword_loc: (134,0)-(134,4) = "case"
+ │ └── end_keyword_loc: (134,25)-(134,28) = "end"
+ ├── @ CaseNode (location: (135,0)-(135,27))
│ ├── predicate:
- │ │ @ CallNode (location: (2220...2223))
+ │ │ @ CallNode (location: (135,5)-(135,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2220...2223) = "foo"
+ │ │ ├── message_loc: (135,5)-(135,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -2987,26 +2987,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2225...2238))
+ │ │ └── @ InNode (location: (135,10)-(135,23))
│ │ ├── pattern:
- │ │ │ @ RegularExpressionNode (location: (2228...2233))
- │ │ │ ├── opening_loc: (2228...2229) = "/"
- │ │ │ ├── content_loc: (2229...2232) = "foo"
- │ │ │ ├── closing_loc: (2232...2233) = "/"
+ │ │ │ @ RegularExpressionNode (location: (135,13)-(135,18))
+ │ │ │ ├── opening_loc: (135,13)-(135,14) = "/"
+ │ │ │ ├── content_loc: (135,14)-(135,17) = "foo"
+ │ │ │ ├── closing_loc: (135,17)-(135,18) = "/"
│ │ │ ├── unescaped: "foo"
│ │ │ └── flags: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2225...2227) = "in"
- │ │ └── then_loc: (2234...2238) = "then"
+ │ │ ├── in_loc: (135,10)-(135,12) = "in"
+ │ │ └── then_loc: (135,19)-(135,23) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2215...2219) = "case"
- │ └── end_keyword_loc: (2239...2242) = "end"
- ├── @ CaseNode (location: (2243...2270))
+ │ ├── case_keyword_loc: (135,0)-(135,4) = "case"
+ │ └── end_keyword_loc: (135,24)-(135,27) = "end"
+ ├── @ CaseNode (location: (136,0)-(136,27))
│ ├── predicate:
- │ │ @ CallNode (location: (2248...2251))
+ │ │ @ CallNode (location: (136,5)-(136,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2248...2251) = "foo"
+ │ │ ├── message_loc: (136,5)-(136,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3014,25 +3014,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2253...2266))
+ │ │ └── @ InNode (location: (136,10)-(136,23))
│ │ ├── pattern:
- │ │ │ @ XStringNode (location: (2256...2261))
- │ │ │ ├── opening_loc: (2256...2257) = "`"
- │ │ │ ├── content_loc: (2257...2260) = "foo"
- │ │ │ ├── closing_loc: (2260...2261) = "`"
+ │ │ │ @ XStringNode (location: (136,13)-(136,18))
+ │ │ │ ├── opening_loc: (136,13)-(136,14) = "`"
+ │ │ │ ├── content_loc: (136,14)-(136,17) = "foo"
+ │ │ │ ├── closing_loc: (136,17)-(136,18) = "`"
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2253...2255) = "in"
- │ │ └── then_loc: (2262...2266) = "then"
+ │ │ ├── in_loc: (136,10)-(136,12) = "in"
+ │ │ └── then_loc: (136,19)-(136,23) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2243...2247) = "case"
- │ └── end_keyword_loc: (2267...2270) = "end"
- ├── @ CaseNode (location: (2271...2300))
+ │ ├── case_keyword_loc: (136,0)-(136,4) = "case"
+ │ └── end_keyword_loc: (136,24)-(136,27) = "end"
+ ├── @ CaseNode (location: (137,0)-(137,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2276...2279))
+ │ │ @ CallNode (location: (137,5)-(137,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2276...2279) = "foo"
+ │ │ ├── message_loc: (137,5)-(137,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3040,25 +3040,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2281...2296))
+ │ │ └── @ InNode (location: (137,10)-(137,25))
│ │ ├── pattern:
- │ │ │ @ XStringNode (location: (2284...2291))
- │ │ │ ├── opening_loc: (2284...2287) = "%x["
- │ │ │ ├── content_loc: (2287...2290) = "foo"
- │ │ │ ├── closing_loc: (2290...2291) = "]"
+ │ │ │ @ XStringNode (location: (137,13)-(137,20))
+ │ │ │ ├── opening_loc: (137,13)-(137,16) = "%x["
+ │ │ │ ├── content_loc: (137,16)-(137,19) = "foo"
+ │ │ │ ├── closing_loc: (137,19)-(137,20) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2281...2283) = "in"
- │ │ └── then_loc: (2292...2296) = "then"
+ │ │ ├── in_loc: (137,10)-(137,12) = "in"
+ │ │ └── then_loc: (137,21)-(137,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2271...2275) = "case"
- │ └── end_keyword_loc: (2297...2300) = "end"
- ├── @ CaseNode (location: (2301...2330))
+ │ ├── case_keyword_loc: (137,0)-(137,4) = "case"
+ │ └── end_keyword_loc: (137,26)-(137,29) = "end"
+ ├── @ CaseNode (location: (138,0)-(138,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2306...2309))
+ │ │ @ CallNode (location: (138,5)-(138,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2306...2309) = "foo"
+ │ │ ├── message_loc: (138,5)-(138,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3066,29 +3066,29 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2311...2326))
+ │ │ └── @ InNode (location: (138,10)-(138,25))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (2314...2321))
+ │ │ │ @ ArrayNode (location: (138,13)-(138,20))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2317...2320))
+ │ │ │ │ └── @ SymbolNode (location: (138,16)-(138,19))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (2317...2320) = "foo"
+ │ │ │ │ ├── value_loc: (138,16)-(138,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (2314...2317) = "%i["
- │ │ │ └── closing_loc: (2320...2321) = "]"
+ │ │ │ ├── opening_loc: (138,13)-(138,16) = "%i["
+ │ │ │ └── closing_loc: (138,19)-(138,20) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2311...2313) = "in"
- │ │ └── then_loc: (2322...2326) = "then"
+ │ │ ├── in_loc: (138,10)-(138,12) = "in"
+ │ │ └── then_loc: (138,21)-(138,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2301...2305) = "case"
- │ └── end_keyword_loc: (2327...2330) = "end"
- ├── @ CaseNode (location: (2331...2360))
+ │ ├── case_keyword_loc: (138,0)-(138,4) = "case"
+ │ └── end_keyword_loc: (138,26)-(138,29) = "end"
+ ├── @ CaseNode (location: (139,0)-(139,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2336...2339))
+ │ │ @ CallNode (location: (139,5)-(139,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2336...2339) = "foo"
+ │ │ ├── message_loc: (139,5)-(139,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3096,29 +3096,29 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2341...2356))
+ │ │ └── @ InNode (location: (139,10)-(139,25))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (2344...2351))
+ │ │ │ @ ArrayNode (location: (139,13)-(139,20))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2347...2350))
+ │ │ │ │ └── @ SymbolNode (location: (139,16)-(139,19))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (2347...2350) = "foo"
+ │ │ │ │ ├── value_loc: (139,16)-(139,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (2344...2347) = "%I["
- │ │ │ └── closing_loc: (2350...2351) = "]"
+ │ │ │ ├── opening_loc: (139,13)-(139,16) = "%I["
+ │ │ │ └── closing_loc: (139,19)-(139,20) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2341...2343) = "in"
- │ │ └── then_loc: (2352...2356) = "then"
+ │ │ ├── in_loc: (139,10)-(139,12) = "in"
+ │ │ └── then_loc: (139,21)-(139,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2331...2335) = "case"
- │ └── end_keyword_loc: (2357...2360) = "end"
- ├── @ CaseNode (location: (2361...2390))
+ │ ├── case_keyword_loc: (139,0)-(139,4) = "case"
+ │ └── end_keyword_loc: (139,26)-(139,29) = "end"
+ ├── @ CaseNode (location: (140,0)-(140,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2366...2369))
+ │ │ @ CallNode (location: (140,5)-(140,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2366...2369) = "foo"
+ │ │ ├── message_loc: (140,5)-(140,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3126,30 +3126,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2371...2386))
+ │ │ └── @ InNode (location: (140,10)-(140,25))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (2374...2381))
+ │ │ │ @ ArrayNode (location: (140,13)-(140,20))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (2377...2380))
+ │ │ │ │ └── @ StringNode (location: (140,16)-(140,19))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (2377...2380) = "foo"
+ │ │ │ │ ├── content_loc: (140,16)-(140,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (2374...2377) = "%w["
- │ │ │ └── closing_loc: (2380...2381) = "]"
+ │ │ │ ├── opening_loc: (140,13)-(140,16) = "%w["
+ │ │ │ └── closing_loc: (140,19)-(140,20) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2371...2373) = "in"
- │ │ └── then_loc: (2382...2386) = "then"
+ │ │ ├── in_loc: (140,10)-(140,12) = "in"
+ │ │ └── then_loc: (140,21)-(140,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2361...2365) = "case"
- │ └── end_keyword_loc: (2387...2390) = "end"
- ├── @ CaseNode (location: (2391...2420))
+ │ ├── case_keyword_loc: (140,0)-(140,4) = "case"
+ │ └── end_keyword_loc: (140,26)-(140,29) = "end"
+ ├── @ CaseNode (location: (141,0)-(141,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2396...2399))
+ │ │ @ CallNode (location: (141,5)-(141,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2396...2399) = "foo"
+ │ │ ├── message_loc: (141,5)-(141,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3157,30 +3157,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2401...2416))
+ │ │ └── @ InNode (location: (141,10)-(141,25))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (2404...2411))
+ │ │ │ @ ArrayNode (location: (141,13)-(141,20))
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ StringNode (location: (2407...2410))
+ │ │ │ │ └── @ StringNode (location: (141,16)-(141,19))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (2407...2410) = "foo"
+ │ │ │ │ ├── content_loc: (141,16)-(141,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
- │ │ │ ├── opening_loc: (2404...2407) = "%W["
- │ │ │ └── closing_loc: (2410...2411) = "]"
+ │ │ │ ├── opening_loc: (141,13)-(141,16) = "%W["
+ │ │ │ └── closing_loc: (141,19)-(141,20) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2401...2403) = "in"
- │ │ └── then_loc: (2412...2416) = "then"
+ │ │ ├── in_loc: (141,10)-(141,12) = "in"
+ │ │ └── then_loc: (141,21)-(141,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2391...2395) = "case"
- │ └── end_keyword_loc: (2417...2420) = "end"
- ├── @ CaseNode (location: (2421...2450))
+ │ ├── case_keyword_loc: (141,0)-(141,4) = "case"
+ │ └── end_keyword_loc: (141,26)-(141,29) = "end"
+ ├── @ CaseNode (location: (142,0)-(142,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2426...2429))
+ │ │ @ CallNode (location: (142,5)-(142,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2426...2429) = "foo"
+ │ │ ├── message_loc: (142,5)-(142,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3188,26 +3188,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2431...2446))
+ │ │ └── @ InNode (location: (142,10)-(142,25))
│ │ ├── pattern:
- │ │ │ @ StringNode (location: (2434...2441))
+ │ │ │ @ StringNode (location: (142,13)-(142,20))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (2434...2437) = "%q["
- │ │ │ ├── content_loc: (2437...2440) = "foo"
- │ │ │ ├── closing_loc: (2440...2441) = "]"
+ │ │ │ ├── opening_loc: (142,13)-(142,16) = "%q["
+ │ │ │ ├── content_loc: (142,16)-(142,19) = "foo"
+ │ │ │ ├── closing_loc: (142,19)-(142,20) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2431...2433) = "in"
- │ │ └── then_loc: (2442...2446) = "then"
+ │ │ ├── in_loc: (142,10)-(142,12) = "in"
+ │ │ └── then_loc: (142,21)-(142,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2421...2425) = "case"
- │ └── end_keyword_loc: (2447...2450) = "end"
- ├── @ CaseNode (location: (2451...2480))
+ │ ├── case_keyword_loc: (142,0)-(142,4) = "case"
+ │ └── end_keyword_loc: (142,26)-(142,29) = "end"
+ ├── @ CaseNode (location: (143,0)-(143,29))
│ ├── predicate:
- │ │ @ CallNode (location: (2456...2459))
+ │ │ @ CallNode (location: (143,5)-(143,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2456...2459) = "foo"
+ │ │ ├── message_loc: (143,5)-(143,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3215,26 +3215,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2461...2476))
+ │ │ └── @ InNode (location: (143,10)-(143,25))
│ │ ├── pattern:
- │ │ │ @ StringNode (location: (2464...2471))
+ │ │ │ @ StringNode (location: (143,13)-(143,20))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (2464...2467) = "%Q["
- │ │ │ ├── content_loc: (2467...2470) = "foo"
- │ │ │ ├── closing_loc: (2470...2471) = "]"
+ │ │ │ ├── opening_loc: (143,13)-(143,16) = "%Q["
+ │ │ │ ├── content_loc: (143,16)-(143,19) = "foo"
+ │ │ │ ├── closing_loc: (143,19)-(143,20) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2461...2463) = "in"
- │ │ └── then_loc: (2472...2476) = "then"
+ │ │ ├── in_loc: (143,10)-(143,12) = "in"
+ │ │ └── then_loc: (143,21)-(143,25) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2451...2455) = "case"
- │ └── end_keyword_loc: (2477...2480) = "end"
- ├── @ CaseNode (location: (2481...2508))
+ │ ├── case_keyword_loc: (143,0)-(143,4) = "case"
+ │ └── end_keyword_loc: (143,26)-(143,29) = "end"
+ ├── @ CaseNode (location: (144,0)-(144,27))
│ ├── predicate:
- │ │ @ CallNode (location: (2486...2489))
+ │ │ @ CallNode (location: (144,5)-(144,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2486...2489) = "foo"
+ │ │ ├── message_loc: (144,5)-(144,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3242,26 +3242,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2491...2504))
+ │ │ └── @ InNode (location: (144,10)-(144,23))
│ │ ├── pattern:
- │ │ │ @ StringNode (location: (2494...2499))
+ │ │ │ @ StringNode (location: (144,13)-(144,18))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (2494...2495) = "\""
- │ │ │ ├── content_loc: (2495...2498) = "foo"
- │ │ │ ├── closing_loc: (2498...2499) = "\""
+ │ │ │ ├── opening_loc: (144,13)-(144,14) = "\""
+ │ │ │ ├── content_loc: (144,14)-(144,17) = "foo"
+ │ │ │ ├── closing_loc: (144,17)-(144,18) = "\""
│ │ │ └── unescaped: "foo"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2491...2493) = "in"
- │ │ └── then_loc: (2500...2504) = "then"
+ │ │ ├── in_loc: (144,10)-(144,12) = "in"
+ │ │ └── then_loc: (144,19)-(144,23) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2481...2485) = "case"
- │ └── end_keyword_loc: (2505...2508) = "end"
- ├── @ CaseNode (location: (2509...2534))
+ │ ├── case_keyword_loc: (144,0)-(144,4) = "case"
+ │ └── end_keyword_loc: (144,24)-(144,27) = "end"
+ ├── @ CaseNode (location: (145,0)-(145,25))
│ ├── predicate:
- │ │ @ CallNode (location: (2514...2517))
+ │ │ @ CallNode (location: (145,5)-(145,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2514...2517) = "foo"
+ │ │ ├── message_loc: (145,5)-(145,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3269,21 +3269,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2519...2530))
+ │ │ └── @ InNode (location: (145,10)-(145,21))
│ │ ├── pattern:
- │ │ │ @ NilNode (location: (2522...2525))
+ │ │ │ @ NilNode (location: (145,13)-(145,16))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2519...2521) = "in"
- │ │ └── then_loc: (2526...2530) = "then"
+ │ │ ├── in_loc: (145,10)-(145,12) = "in"
+ │ │ └── then_loc: (145,17)-(145,21) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2509...2513) = "case"
- │ └── end_keyword_loc: (2531...2534) = "end"
- ├── @ CaseNode (location: (2535...2561))
+ │ ├── case_keyword_loc: (145,0)-(145,4) = "case"
+ │ └── end_keyword_loc: (145,22)-(145,25) = "end"
+ ├── @ CaseNode (location: (146,0)-(146,26))
│ ├── predicate:
- │ │ @ CallNode (location: (2540...2543))
+ │ │ @ CallNode (location: (146,5)-(146,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2540...2543) = "foo"
+ │ │ ├── message_loc: (146,5)-(146,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3291,21 +3291,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2545...2557))
+ │ │ └── @ InNode (location: (146,10)-(146,22))
│ │ ├── pattern:
- │ │ │ @ SelfNode (location: (2548...2552))
+ │ │ │ @ SelfNode (location: (146,13)-(146,17))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2545...2547) = "in"
- │ │ └── then_loc: (2553...2557) = "then"
+ │ │ ├── in_loc: (146,10)-(146,12) = "in"
+ │ │ └── then_loc: (146,18)-(146,22) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2535...2539) = "case"
- │ └── end_keyword_loc: (2558...2561) = "end"
- ├── @ CaseNode (location: (2562...2588))
+ │ ├── case_keyword_loc: (146,0)-(146,4) = "case"
+ │ └── end_keyword_loc: (146,23)-(146,26) = "end"
+ ├── @ CaseNode (location: (147,0)-(147,26))
│ ├── predicate:
- │ │ @ CallNode (location: (2567...2570))
+ │ │ @ CallNode (location: (147,5)-(147,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2567...2570) = "foo"
+ │ │ ├── message_loc: (147,5)-(147,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3313,21 +3313,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2572...2584))
+ │ │ └── @ InNode (location: (147,10)-(147,22))
│ │ ├── pattern:
- │ │ │ @ TrueNode (location: (2575...2579))
+ │ │ │ @ TrueNode (location: (147,13)-(147,17))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2572...2574) = "in"
- │ │ └── then_loc: (2580...2584) = "then"
+ │ │ ├── in_loc: (147,10)-(147,12) = "in"
+ │ │ └── then_loc: (147,18)-(147,22) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2562...2566) = "case"
- │ └── end_keyword_loc: (2585...2588) = "end"
- ├── @ CaseNode (location: (2589...2616))
+ │ ├── case_keyword_loc: (147,0)-(147,4) = "case"
+ │ └── end_keyword_loc: (147,23)-(147,26) = "end"
+ ├── @ CaseNode (location: (148,0)-(148,27))
│ ├── predicate:
- │ │ @ CallNode (location: (2594...2597))
+ │ │ @ CallNode (location: (148,5)-(148,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2594...2597) = "foo"
+ │ │ ├── message_loc: (148,5)-(148,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3335,21 +3335,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2599...2612))
+ │ │ └── @ InNode (location: (148,10)-(148,23))
│ │ ├── pattern:
- │ │ │ @ FalseNode (location: (2602...2607))
+ │ │ │ @ FalseNode (location: (148,13)-(148,18))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2599...2601) = "in"
- │ │ └── then_loc: (2608...2612) = "then"
+ │ │ ├── in_loc: (148,10)-(148,12) = "in"
+ │ │ └── then_loc: (148,19)-(148,23) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2589...2593) = "case"
- │ └── end_keyword_loc: (2613...2616) = "end"
- ├── @ CaseNode (location: (2617...2647))
+ │ ├── case_keyword_loc: (148,0)-(148,4) = "case"
+ │ └── end_keyword_loc: (148,24)-(148,27) = "end"
+ ├── @ CaseNode (location: (149,0)-(149,30))
│ ├── predicate:
- │ │ @ CallNode (location: (2622...2625))
+ │ │ @ CallNode (location: (149,5)-(149,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2622...2625) = "foo"
+ │ │ ├── message_loc: (149,5)-(149,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3357,22 +3357,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2627...2643))
+ │ │ └── @ InNode (location: (149,10)-(149,26))
│ │ ├── pattern:
- │ │ │ @ SourceFileNode (location: (2630...2638))
+ │ │ │ @ SourceFileNode (location: (149,13)-(149,21))
│ │ │ └── filepath: "patterns.txt"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2627...2629) = "in"
- │ │ └── then_loc: (2639...2643) = "then"
+ │ │ ├── in_loc: (149,10)-(149,12) = "in"
+ │ │ └── then_loc: (149,22)-(149,26) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2617...2621) = "case"
- │ └── end_keyword_loc: (2644...2647) = "end"
- ├── @ CaseNode (location: (2648...2678))
+ │ ├── case_keyword_loc: (149,0)-(149,4) = "case"
+ │ └── end_keyword_loc: (149,27)-(149,30) = "end"
+ ├── @ CaseNode (location: (150,0)-(150,30))
│ ├── predicate:
- │ │ @ CallNode (location: (2653...2656))
+ │ │ @ CallNode (location: (150,5)-(150,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2653...2656) = "foo"
+ │ │ ├── message_loc: (150,5)-(150,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3380,21 +3380,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2658...2674))
+ │ │ └── @ InNode (location: (150,10)-(150,26))
│ │ ├── pattern:
- │ │ │ @ SourceLineNode (location: (2661...2669))
+ │ │ │ @ SourceLineNode (location: (150,13)-(150,21))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2658...2660) = "in"
- │ │ └── then_loc: (2670...2674) = "then"
+ │ │ ├── in_loc: (150,10)-(150,12) = "in"
+ │ │ └── then_loc: (150,22)-(150,26) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2648...2652) = "case"
- │ └── end_keyword_loc: (2675...2678) = "end"
- ├── @ CaseNode (location: (2679...2713))
+ │ ├── case_keyword_loc: (150,0)-(150,4) = "case"
+ │ └── end_keyword_loc: (150,27)-(150,30) = "end"
+ ├── @ CaseNode (location: (151,0)-(151,34))
│ ├── predicate:
- │ │ @ CallNode (location: (2684...2687))
+ │ │ @ CallNode (location: (151,5)-(151,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2684...2687) = "foo"
+ │ │ ├── message_loc: (151,5)-(151,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3402,21 +3402,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2689...2709))
+ │ │ └── @ InNode (location: (151,10)-(151,30))
│ │ ├── pattern:
- │ │ │ @ SourceEncodingNode (location: (2692...2704))
+ │ │ │ @ SourceEncodingNode (location: (151,13)-(151,25))
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2689...2691) = "in"
- │ │ └── then_loc: (2705...2709) = "then"
+ │ │ ├── in_loc: (151,10)-(151,12) = "in"
+ │ │ └── then_loc: (151,26)-(151,30) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2679...2683) = "case"
- │ └── end_keyword_loc: (2710...2713) = "end"
- ├── @ CaseNode (location: (2714...2746))
+ │ ├── case_keyword_loc: (151,0)-(151,4) = "case"
+ │ └── end_keyword_loc: (151,31)-(151,34) = "end"
+ ├── @ CaseNode (location: (152,0)-(152,32))
│ ├── predicate:
- │ │ @ CallNode (location: (2719...2722))
+ │ │ @ CallNode (location: (152,5)-(152,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2719...2722) = "foo"
+ │ │ ├── message_loc: (152,5)-(152,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3424,32 +3424,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2724...2742))
+ │ │ └── @ InNode (location: (152,10)-(152,28))
│ │ ├── pattern:
- │ │ │ @ LambdaNode (location: (2727...2737))
+ │ │ │ @ LambdaNode (location: (152,13)-(152,23))
│ │ │ ├── locals: []
- │ │ │ ├── operator_loc: (2727...2729) = "->"
- │ │ │ ├── opening_loc: (2730...2731) = "{"
- │ │ │ ├── closing_loc: (2736...2737) = "}"
+ │ │ │ ├── operator_loc: (152,13)-(152,15) = "->"
+ │ │ │ ├── opening_loc: (152,16)-(152,17) = "{"
+ │ │ │ ├── closing_loc: (152,22)-(152,23) = "}"
│ │ │ ├── parameters: ∅
│ │ │ └── body:
- │ │ │ @ StatementsNode (location: (2732...2735))
+ │ │ │ @ StatementsNode (location: (152,18)-(152,21))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (2732...2735))
+ │ │ │ └── @ LocalVariableReadNode (location: (152,18)-(152,21))
│ │ │ ├── name: :bar
│ │ │ └── depth: 1
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2724...2726) = "in"
- │ │ └── then_loc: (2738...2742) = "then"
+ │ │ ├── in_loc: (152,10)-(152,12) = "in"
+ │ │ └── then_loc: (152,24)-(152,28) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2714...2718) = "case"
- │ └── end_keyword_loc: (2743...2746) = "end"
- ├── @ CaseNode (location: (2748...2780))
+ │ ├── case_keyword_loc: (152,0)-(152,4) = "case"
+ │ └── end_keyword_loc: (152,29)-(152,32) = "end"
+ ├── @ CaseNode (location: (154,0)-(154,32))
│ ├── predicate:
- │ │ @ CallNode (location: (2753...2756))
+ │ │ @ CallNode (location: (154,5)-(154,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2753...2756) = "foo"
+ │ │ ├── message_loc: (154,5)-(154,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3457,34 +3457,34 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2758...2776))
+ │ │ └── @ InNode (location: (154,10)-(154,28))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2761...2771))
- │ │ │ ├── if_keyword_loc: (2765...2767) = "if"
+ │ │ │ @ IfNode (location: (154,13)-(154,23))
+ │ │ │ ├── if_keyword_loc: (154,17)-(154,19) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2768...2771))
+ │ │ │ │ @ LocalVariableReadNode (location: (154,20)-(154,23))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2761...2764))
+ │ │ │ │ @ StatementsNode (location: (154,13)-(154,16))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LocalVariableTargetNode (location: (2761...2764))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (154,13)-(154,16))
│ │ │ │ ├── name: :bar
│ │ │ │ └── depth: 0
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2758...2760) = "in"
- │ │ └── then_loc: (2772...2776) = "then"
+ │ │ ├── in_loc: (154,10)-(154,12) = "in"
+ │ │ └── then_loc: (154,24)-(154,28) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2748...2752) = "case"
- │ └── end_keyword_loc: (2777...2780) = "end"
- ├── @ CaseNode (location: (2781...2811))
+ │ ├── case_keyword_loc: (154,0)-(154,4) = "case"
+ │ └── end_keyword_loc: (154,29)-(154,32) = "end"
+ ├── @ CaseNode (location: (155,0)-(155,30))
│ ├── predicate:
- │ │ @ CallNode (location: (2786...2789))
+ │ │ @ CallNode (location: (155,5)-(155,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2786...2789) = "foo"
+ │ │ ├── message_loc: (155,5)-(155,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3492,33 +3492,33 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2791...2807))
+ │ │ └── @ InNode (location: (155,10)-(155,26))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2794...2802))
- │ │ │ ├── if_keyword_loc: (2796...2798) = "if"
+ │ │ │ @ IfNode (location: (155,13)-(155,21))
+ │ │ │ ├── if_keyword_loc: (155,15)-(155,17) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2799...2802))
+ │ │ │ │ @ LocalVariableReadNode (location: (155,18)-(155,21))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2794...2795))
+ │ │ │ │ @ StatementsNode (location: (155,13)-(155,14))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (2794...2795))
+ │ │ │ │ └── @ IntegerNode (location: (155,13)-(155,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2791...2793) = "in"
- │ │ └── then_loc: (2803...2807) = "then"
+ │ │ ├── in_loc: (155,10)-(155,12) = "in"
+ │ │ └── then_loc: (155,22)-(155,26) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2781...2785) = "case"
- │ └── end_keyword_loc: (2808...2811) = "end"
- ├── @ CaseNode (location: (2812...2844))
+ │ ├── case_keyword_loc: (155,0)-(155,4) = "case"
+ │ └── end_keyword_loc: (155,27)-(155,30) = "end"
+ ├── @ CaseNode (location: (156,0)-(156,32))
│ ├── predicate:
- │ │ @ CallNode (location: (2817...2820))
+ │ │ @ CallNode (location: (156,5)-(156,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2817...2820) = "foo"
+ │ │ ├── message_loc: (156,5)-(156,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3526,32 +3526,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2822...2840))
+ │ │ └── @ InNode (location: (156,10)-(156,28))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2825...2835))
- │ │ │ ├── if_keyword_loc: (2829...2831) = "if"
+ │ │ │ @ IfNode (location: (156,13)-(156,23))
+ │ │ │ ├── if_keyword_loc: (156,17)-(156,19) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2832...2835))
+ │ │ │ │ @ LocalVariableReadNode (location: (156,20)-(156,23))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2825...2828))
+ │ │ │ │ @ StatementsNode (location: (156,13)-(156,16))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (2825...2828))
+ │ │ │ │ └── @ FloatNode (location: (156,13)-(156,16))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2822...2824) = "in"
- │ │ └── then_loc: (2836...2840) = "then"
+ │ │ ├── in_loc: (156,10)-(156,12) = "in"
+ │ │ └── then_loc: (156,24)-(156,28) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2812...2816) = "case"
- │ └── end_keyword_loc: (2841...2844) = "end"
- ├── @ CaseNode (location: (2845...2876))
+ │ ├── case_keyword_loc: (156,0)-(156,4) = "case"
+ │ └── end_keyword_loc: (156,29)-(156,32) = "end"
+ ├── @ CaseNode (location: (157,0)-(157,31))
│ ├── predicate:
- │ │ @ CallNode (location: (2850...2853))
+ │ │ @ CallNode (location: (157,5)-(157,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2850...2853) = "foo"
+ │ │ ├── message_loc: (157,5)-(157,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3559,35 +3559,35 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2855...2872))
+ │ │ └── @ InNode (location: (157,10)-(157,27))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2858...2867))
- │ │ │ ├── if_keyword_loc: (2861...2863) = "if"
+ │ │ │ @ IfNode (location: (157,13)-(157,22))
+ │ │ │ ├── if_keyword_loc: (157,16)-(157,18) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2864...2867))
+ │ │ │ │ @ LocalVariableReadNode (location: (157,19)-(157,22))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2858...2860))
+ │ │ │ │ @ StatementsNode (location: (157,13)-(157,15))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ImaginaryNode (location: (2858...2860))
+ │ │ │ │ └── @ ImaginaryNode (location: (157,13)-(157,15))
│ │ │ │ └── numeric:
- │ │ │ │ @ IntegerNode (location: (2858...2859))
+ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2855...2857) = "in"
- │ │ └── then_loc: (2868...2872) = "then"
+ │ │ ├── in_loc: (157,10)-(157,12) = "in"
+ │ │ └── then_loc: (157,23)-(157,27) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2845...2849) = "case"
- │ └── end_keyword_loc: (2873...2876) = "end"
- ├── @ CaseNode (location: (2877...2908))
+ │ ├── case_keyword_loc: (157,0)-(157,4) = "case"
+ │ └── end_keyword_loc: (157,28)-(157,31) = "end"
+ ├── @ CaseNode (location: (158,0)-(158,31))
│ ├── predicate:
- │ │ @ CallNode (location: (2882...2885))
+ │ │ @ CallNode (location: (158,5)-(158,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2882...2885) = "foo"
+ │ │ ├── message_loc: (158,5)-(158,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3595,35 +3595,35 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2887...2904))
+ │ │ └── @ InNode (location: (158,10)-(158,27))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2890...2899))
- │ │ │ ├── if_keyword_loc: (2893...2895) = "if"
+ │ │ │ @ IfNode (location: (158,13)-(158,22))
+ │ │ │ ├── if_keyword_loc: (158,16)-(158,18) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2896...2899))
+ │ │ │ │ @ LocalVariableReadNode (location: (158,19)-(158,22))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2890...2892))
+ │ │ │ │ @ StatementsNode (location: (158,13)-(158,15))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RationalNode (location: (2890...2892))
+ │ │ │ │ └── @ RationalNode (location: (158,13)-(158,15))
│ │ │ │ └── numeric:
- │ │ │ │ @ IntegerNode (location: (2890...2891))
+ │ │ │ │ @ IntegerNode (location: (158,13)-(158,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2887...2889) = "in"
- │ │ └── then_loc: (2900...2904) = "then"
+ │ │ ├── in_loc: (158,10)-(158,12) = "in"
+ │ │ └── then_loc: (158,23)-(158,27) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2877...2881) = "case"
- │ └── end_keyword_loc: (2905...2908) = "end"
- ├── @ CaseNode (location: (2909...2942))
+ │ ├── case_keyword_loc: (158,0)-(158,4) = "case"
+ │ └── end_keyword_loc: (158,28)-(158,31) = "end"
+ ├── @ CaseNode (location: (159,0)-(159,33))
│ ├── predicate:
- │ │ @ CallNode (location: (2914...2917))
+ │ │ @ CallNode (location: (159,5)-(159,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2914...2917) = "foo"
+ │ │ ├── message_loc: (159,5)-(159,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3631,36 +3631,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2919...2938))
+ │ │ └── @ InNode (location: (159,10)-(159,29))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2922...2933))
- │ │ │ ├── if_keyword_loc: (2927...2929) = "if"
+ │ │ │ @ IfNode (location: (159,13)-(159,24))
+ │ │ │ ├── if_keyword_loc: (159,18)-(159,20) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2930...2933))
+ │ │ │ │ @ LocalVariableReadNode (location: (159,21)-(159,24))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2922...2926))
+ │ │ │ │ @ StatementsNode (location: (159,13)-(159,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2922...2926))
- │ │ │ │ ├── opening_loc: (2922...2923) = ":"
- │ │ │ │ ├── value_loc: (2923...2926) = "foo"
+ │ │ │ │ └── @ SymbolNode (location: (159,13)-(159,17))
+ │ │ │ │ ├── opening_loc: (159,13)-(159,14) = ":"
+ │ │ │ │ ├── value_loc: (159,14)-(159,17) = "foo"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2919...2921) = "in"
- │ │ └── then_loc: (2934...2938) = "then"
+ │ │ ├── in_loc: (159,10)-(159,12) = "in"
+ │ │ └── then_loc: (159,25)-(159,29) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2909...2913) = "case"
- │ └── end_keyword_loc: (2939...2942) = "end"
- ├── @ CaseNode (location: (2943...2979))
+ │ ├── case_keyword_loc: (159,0)-(159,4) = "case"
+ │ └── end_keyword_loc: (159,30)-(159,33) = "end"
+ ├── @ CaseNode (location: (160,0)-(160,36))
│ ├── predicate:
- │ │ @ CallNode (location: (2948...2951))
+ │ │ @ CallNode (location: (160,5)-(160,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2948...2951) = "foo"
+ │ │ ├── message_loc: (160,5)-(160,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3668,36 +3668,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2953...2975))
+ │ │ └── @ InNode (location: (160,10)-(160,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2956...2970))
- │ │ │ ├── if_keyword_loc: (2964...2966) = "if"
+ │ │ │ @ IfNode (location: (160,13)-(160,27))
+ │ │ │ ├── if_keyword_loc: (160,21)-(160,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (2967...2970))
+ │ │ │ │ @ LocalVariableReadNode (location: (160,24)-(160,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2956...2963))
+ │ │ │ │ @ StatementsNode (location: (160,13)-(160,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2956...2963))
- │ │ │ │ ├── opening_loc: (2956...2959) = "%s["
- │ │ │ │ ├── value_loc: (2959...2962) = "foo"
- │ │ │ │ ├── closing_loc: (2962...2963) = "]"
+ │ │ │ │ └── @ SymbolNode (location: (160,13)-(160,20))
+ │ │ │ │ ├── opening_loc: (160,13)-(160,16) = "%s["
+ │ │ │ │ ├── value_loc: (160,16)-(160,19) = "foo"
+ │ │ │ │ ├── closing_loc: (160,19)-(160,20) = "]"
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2953...2955) = "in"
- │ │ └── then_loc: (2971...2975) = "then"
+ │ │ ├── in_loc: (160,10)-(160,12) = "in"
+ │ │ └── then_loc: (160,28)-(160,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2943...2947) = "case"
- │ └── end_keyword_loc: (2976...2979) = "end"
- ├── @ CaseNode (location: (2980...3015))
+ │ ├── case_keyword_loc: (160,0)-(160,4) = "case"
+ │ └── end_keyword_loc: (160,33)-(160,36) = "end"
+ ├── @ CaseNode (location: (161,0)-(161,35))
│ ├── predicate:
- │ │ @ CallNode (location: (2985...2988))
+ │ │ @ CallNode (location: (161,5)-(161,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2985...2988) = "foo"
+ │ │ ├── message_loc: (161,5)-(161,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3705,36 +3705,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (2990...3011))
+ │ │ └── @ InNode (location: (161,10)-(161,31))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (2993...3006))
- │ │ │ ├── if_keyword_loc: (3000...3002) = "if"
+ │ │ │ @ IfNode (location: (161,13)-(161,26))
+ │ │ │ ├── if_keyword_loc: (161,20)-(161,22) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3003...3006))
+ │ │ │ │ @ LocalVariableReadNode (location: (161,23)-(161,26))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (2993...2999))
+ │ │ │ │ @ StatementsNode (location: (161,13)-(161,19))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (2993...2999))
- │ │ │ │ ├── opening_loc: (2993...2995) = ":\""
- │ │ │ │ ├── value_loc: (2995...2998) = "foo"
- │ │ │ │ ├── closing_loc: (2998...2999) = "\""
+ │ │ │ │ └── @ SymbolNode (location: (161,13)-(161,19))
+ │ │ │ │ ├── opening_loc: (161,13)-(161,15) = ":\""
+ │ │ │ │ ├── value_loc: (161,15)-(161,18) = "foo"
+ │ │ │ │ ├── closing_loc: (161,18)-(161,19) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (2990...2992) = "in"
- │ │ └── then_loc: (3007...3011) = "then"
+ │ │ ├── in_loc: (161,10)-(161,12) = "in"
+ │ │ └── then_loc: (161,27)-(161,31) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (2980...2984) = "case"
- │ └── end_keyword_loc: (3012...3015) = "end"
- ├── @ CaseNode (location: (3016...3050))
+ │ ├── case_keyword_loc: (161,0)-(161,4) = "case"
+ │ └── end_keyword_loc: (161,32)-(161,35) = "end"
+ ├── @ CaseNode (location: (162,0)-(162,34))
│ ├── predicate:
- │ │ @ CallNode (location: (3021...3024))
+ │ │ @ CallNode (location: (162,5)-(162,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3021...3024) = "foo"
+ │ │ ├── message_loc: (162,5)-(162,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3742,37 +3742,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3026...3046))
+ │ │ └── @ InNode (location: (162,10)-(162,30))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3029...3041))
- │ │ │ ├── if_keyword_loc: (3035...3037) = "if"
+ │ │ │ @ IfNode (location: (162,13)-(162,25))
+ │ │ │ ├── if_keyword_loc: (162,19)-(162,21) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3038...3041))
+ │ │ │ │ @ LocalVariableReadNode (location: (162,22)-(162,25))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3029...3034))
+ │ │ │ │ @ StatementsNode (location: (162,13)-(162,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ RegularExpressionNode (location: (3029...3034))
- │ │ │ │ ├── opening_loc: (3029...3030) = "/"
- │ │ │ │ ├── content_loc: (3030...3033) = "foo"
- │ │ │ │ ├── closing_loc: (3033...3034) = "/"
+ │ │ │ │ └── @ RegularExpressionNode (location: (162,13)-(162,18))
+ │ │ │ │ ├── opening_loc: (162,13)-(162,14) = "/"
+ │ │ │ │ ├── content_loc: (162,14)-(162,17) = "foo"
+ │ │ │ │ ├── closing_loc: (162,17)-(162,18) = "/"
│ │ │ │ ├── unescaped: "foo"
│ │ │ │ └── flags: ∅
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3026...3028) = "in"
- │ │ └── then_loc: (3042...3046) = "then"
+ │ │ ├── in_loc: (162,10)-(162,12) = "in"
+ │ │ └── then_loc: (162,26)-(162,30) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3016...3020) = "case"
- │ └── end_keyword_loc: (3047...3050) = "end"
- ├── @ CaseNode (location: (3051...3085))
+ │ ├── case_keyword_loc: (162,0)-(162,4) = "case"
+ │ └── end_keyword_loc: (162,31)-(162,34) = "end"
+ ├── @ CaseNode (location: (163,0)-(163,34))
│ ├── predicate:
- │ │ @ CallNode (location: (3056...3059))
+ │ │ @ CallNode (location: (163,5)-(163,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3056...3059) = "foo"
+ │ │ ├── message_loc: (163,5)-(163,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3780,36 +3780,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3061...3081))
+ │ │ └── @ InNode (location: (163,10)-(163,30))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3064...3076))
- │ │ │ ├── if_keyword_loc: (3070...3072) = "if"
+ │ │ │ @ IfNode (location: (163,13)-(163,25))
+ │ │ │ ├── if_keyword_loc: (163,19)-(163,21) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3073...3076))
+ │ │ │ │ @ LocalVariableReadNode (location: (163,22)-(163,25))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3064...3069))
+ │ │ │ │ @ StatementsNode (location: (163,13)-(163,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ XStringNode (location: (3064...3069))
- │ │ │ │ ├── opening_loc: (3064...3065) = "`"
- │ │ │ │ ├── content_loc: (3065...3068) = "foo"
- │ │ │ │ ├── closing_loc: (3068...3069) = "`"
+ │ │ │ │ └── @ XStringNode (location: (163,13)-(163,18))
+ │ │ │ │ ├── opening_loc: (163,13)-(163,14) = "`"
+ │ │ │ │ ├── content_loc: (163,14)-(163,17) = "foo"
+ │ │ │ │ ├── closing_loc: (163,17)-(163,18) = "`"
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3061...3063) = "in"
- │ │ └── then_loc: (3077...3081) = "then"
+ │ │ ├── in_loc: (163,10)-(163,12) = "in"
+ │ │ └── then_loc: (163,26)-(163,30) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3051...3055) = "case"
- │ └── end_keyword_loc: (3082...3085) = "end"
- ├── @ CaseNode (location: (3086...3122))
+ │ ├── case_keyword_loc: (163,0)-(163,4) = "case"
+ │ └── end_keyword_loc: (163,31)-(163,34) = "end"
+ ├── @ CaseNode (location: (164,0)-(164,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3091...3094))
+ │ │ @ CallNode (location: (164,5)-(164,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3091...3094) = "foo"
+ │ │ ├── message_loc: (164,5)-(164,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3817,36 +3817,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3096...3118))
+ │ │ └── @ InNode (location: (164,10)-(164,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3099...3113))
- │ │ │ ├── if_keyword_loc: (3107...3109) = "if"
+ │ │ │ @ IfNode (location: (164,13)-(164,27))
+ │ │ │ ├── if_keyword_loc: (164,21)-(164,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3110...3113))
+ │ │ │ │ @ LocalVariableReadNode (location: (164,24)-(164,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3099...3106))
+ │ │ │ │ @ StatementsNode (location: (164,13)-(164,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ XStringNode (location: (3099...3106))
- │ │ │ │ ├── opening_loc: (3099...3102) = "%x["
- │ │ │ │ ├── content_loc: (3102...3105) = "foo"
- │ │ │ │ ├── closing_loc: (3105...3106) = "]"
+ │ │ │ │ └── @ XStringNode (location: (164,13)-(164,20))
+ │ │ │ │ ├── opening_loc: (164,13)-(164,16) = "%x["
+ │ │ │ │ ├── content_loc: (164,16)-(164,19) = "foo"
+ │ │ │ │ ├── closing_loc: (164,19)-(164,20) = "]"
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3096...3098) = "in"
- │ │ └── then_loc: (3114...3118) = "then"
+ │ │ ├── in_loc: (164,10)-(164,12) = "in"
+ │ │ └── then_loc: (164,28)-(164,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3086...3090) = "case"
- │ └── end_keyword_loc: (3119...3122) = "end"
- ├── @ CaseNode (location: (3123...3159))
+ │ ├── case_keyword_loc: (164,0)-(164,4) = "case"
+ │ └── end_keyword_loc: (164,33)-(164,36) = "end"
+ ├── @ CaseNode (location: (165,0)-(165,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3128...3131))
+ │ │ @ CallNode (location: (165,5)-(165,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3128...3131) = "foo"
+ │ │ ├── message_loc: (165,5)-(165,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3854,40 +3854,40 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3133...3155))
+ │ │ └── @ InNode (location: (165,10)-(165,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3136...3150))
- │ │ │ ├── if_keyword_loc: (3144...3146) = "if"
+ │ │ │ @ IfNode (location: (165,13)-(165,27))
+ │ │ │ ├── if_keyword_loc: (165,21)-(165,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3147...3150))
+ │ │ │ │ @ LocalVariableReadNode (location: (165,24)-(165,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3136...3143))
+ │ │ │ │ @ StatementsNode (location: (165,13)-(165,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ArrayNode (location: (3136...3143))
+ │ │ │ │ └── @ ArrayNode (location: (165,13)-(165,20))
│ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (3139...3142))
+ │ │ │ │ │ └── @ SymbolNode (location: (165,16)-(165,19))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (3139...3142) = "foo"
+ │ │ │ │ │ ├── value_loc: (165,16)-(165,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ ├── opening_loc: (3136...3139) = "%i["
- │ │ │ │ └── closing_loc: (3142...3143) = "]"
+ │ │ │ │ ├── opening_loc: (165,13)-(165,16) = "%i["
+ │ │ │ │ └── closing_loc: (165,19)-(165,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3133...3135) = "in"
- │ │ └── then_loc: (3151...3155) = "then"
+ │ │ ├── in_loc: (165,10)-(165,12) = "in"
+ │ │ └── then_loc: (165,28)-(165,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3123...3127) = "case"
- │ └── end_keyword_loc: (3156...3159) = "end"
- ├── @ CaseNode (location: (3160...3196))
+ │ ├── case_keyword_loc: (165,0)-(165,4) = "case"
+ │ └── end_keyword_loc: (165,33)-(165,36) = "end"
+ ├── @ CaseNode (location: (166,0)-(166,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3165...3168))
+ │ │ @ CallNode (location: (166,5)-(166,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3165...3168) = "foo"
+ │ │ ├── message_loc: (166,5)-(166,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3895,40 +3895,40 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3170...3192))
+ │ │ └── @ InNode (location: (166,10)-(166,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3173...3187))
- │ │ │ ├── if_keyword_loc: (3181...3183) = "if"
+ │ │ │ @ IfNode (location: (166,13)-(166,27))
+ │ │ │ ├── if_keyword_loc: (166,21)-(166,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3184...3187))
+ │ │ │ │ @ LocalVariableReadNode (location: (166,24)-(166,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3173...3180))
+ │ │ │ │ @ StatementsNode (location: (166,13)-(166,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ArrayNode (location: (3173...3180))
+ │ │ │ │ └── @ ArrayNode (location: (166,13)-(166,20))
│ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (3176...3179))
+ │ │ │ │ │ └── @ SymbolNode (location: (166,16)-(166,19))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (3176...3179) = "foo"
+ │ │ │ │ │ ├── value_loc: (166,16)-(166,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ ├── opening_loc: (3173...3176) = "%I["
- │ │ │ │ └── closing_loc: (3179...3180) = "]"
+ │ │ │ │ ├── opening_loc: (166,13)-(166,16) = "%I["
+ │ │ │ │ └── closing_loc: (166,19)-(166,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3170...3172) = "in"
- │ │ └── then_loc: (3188...3192) = "then"
+ │ │ ├── in_loc: (166,10)-(166,12) = "in"
+ │ │ └── then_loc: (166,28)-(166,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3160...3164) = "case"
- │ └── end_keyword_loc: (3193...3196) = "end"
- ├── @ CaseNode (location: (3197...3233))
+ │ ├── case_keyword_loc: (166,0)-(166,4) = "case"
+ │ └── end_keyword_loc: (166,33)-(166,36) = "end"
+ ├── @ CaseNode (location: (167,0)-(167,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3202...3205))
+ │ │ @ CallNode (location: (167,5)-(167,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3202...3205) = "foo"
+ │ │ ├── message_loc: (167,5)-(167,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3936,41 +3936,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3207...3229))
+ │ │ └── @ InNode (location: (167,10)-(167,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3210...3224))
- │ │ │ ├── if_keyword_loc: (3218...3220) = "if"
+ │ │ │ @ IfNode (location: (167,13)-(167,27))
+ │ │ │ ├── if_keyword_loc: (167,21)-(167,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3221...3224))
+ │ │ │ │ @ LocalVariableReadNode (location: (167,24)-(167,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3210...3217))
+ │ │ │ │ @ StatementsNode (location: (167,13)-(167,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ArrayNode (location: (3210...3217))
+ │ │ │ │ └── @ ArrayNode (location: (167,13)-(167,20))
│ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (3213...3216))
+ │ │ │ │ │ └── @ StringNode (location: (167,16)-(167,19))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (3213...3216) = "foo"
+ │ │ │ │ │ ├── content_loc: (167,16)-(167,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ ├── opening_loc: (3210...3213) = "%w["
- │ │ │ │ └── closing_loc: (3216...3217) = "]"
+ │ │ │ │ ├── opening_loc: (167,13)-(167,16) = "%w["
+ │ │ │ │ └── closing_loc: (167,19)-(167,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3207...3209) = "in"
- │ │ └── then_loc: (3225...3229) = "then"
+ │ │ ├── in_loc: (167,10)-(167,12) = "in"
+ │ │ └── then_loc: (167,28)-(167,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3197...3201) = "case"
- │ └── end_keyword_loc: (3230...3233) = "end"
- ├── @ CaseNode (location: (3234...3270))
+ │ ├── case_keyword_loc: (167,0)-(167,4) = "case"
+ │ └── end_keyword_loc: (167,33)-(167,36) = "end"
+ ├── @ CaseNode (location: (168,0)-(168,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3239...3242))
+ │ │ @ CallNode (location: (168,5)-(168,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3239...3242) = "foo"
+ │ │ ├── message_loc: (168,5)-(168,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -3978,41 +3978,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3244...3266))
+ │ │ └── @ InNode (location: (168,10)-(168,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3247...3261))
- │ │ │ ├── if_keyword_loc: (3255...3257) = "if"
+ │ │ │ @ IfNode (location: (168,13)-(168,27))
+ │ │ │ ├── if_keyword_loc: (168,21)-(168,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3258...3261))
+ │ │ │ │ @ LocalVariableReadNode (location: (168,24)-(168,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3247...3254))
+ │ │ │ │ @ StatementsNode (location: (168,13)-(168,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ArrayNode (location: (3247...3254))
+ │ │ │ │ └── @ ArrayNode (location: (168,13)-(168,20))
│ │ │ │ ├── elements: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (3250...3253))
+ │ │ │ │ │ └── @ StringNode (location: (168,16)-(168,19))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (3250...3253) = "foo"
+ │ │ │ │ │ ├── content_loc: (168,16)-(168,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "foo"
- │ │ │ │ ├── opening_loc: (3247...3250) = "%W["
- │ │ │ │ └── closing_loc: (3253...3254) = "]"
+ │ │ │ │ ├── opening_loc: (168,13)-(168,16) = "%W["
+ │ │ │ │ └── closing_loc: (168,19)-(168,20) = "]"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3244...3246) = "in"
- │ │ └── then_loc: (3262...3266) = "then"
+ │ │ ├── in_loc: (168,10)-(168,12) = "in"
+ │ │ └── then_loc: (168,28)-(168,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3234...3238) = "case"
- │ └── end_keyword_loc: (3267...3270) = "end"
- ├── @ CaseNode (location: (3271...3307))
+ │ ├── case_keyword_loc: (168,0)-(168,4) = "case"
+ │ └── end_keyword_loc: (168,33)-(168,36) = "end"
+ ├── @ CaseNode (location: (169,0)-(169,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3276...3279))
+ │ │ @ CallNode (location: (169,5)-(169,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3276...3279) = "foo"
+ │ │ ├── message_loc: (169,5)-(169,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4020,37 +4020,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3281...3303))
+ │ │ └── @ InNode (location: (169,10)-(169,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3284...3298))
- │ │ │ ├── if_keyword_loc: (3292...3294) = "if"
+ │ │ │ @ IfNode (location: (169,13)-(169,27))
+ │ │ │ ├── if_keyword_loc: (169,21)-(169,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3295...3298))
+ │ │ │ │ @ LocalVariableReadNode (location: (169,24)-(169,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3284...3291))
+ │ │ │ │ @ StatementsNode (location: (169,13)-(169,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (3284...3291))
+ │ │ │ │ └── @ StringNode (location: (169,13)-(169,20))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (3284...3287) = "%q["
- │ │ │ │ ├── content_loc: (3287...3290) = "foo"
- │ │ │ │ ├── closing_loc: (3290...3291) = "]"
+ │ │ │ │ ├── opening_loc: (169,13)-(169,16) = "%q["
+ │ │ │ │ ├── content_loc: (169,16)-(169,19) = "foo"
+ │ │ │ │ ├── closing_loc: (169,19)-(169,20) = "]"
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3281...3283) = "in"
- │ │ └── then_loc: (3299...3303) = "then"
+ │ │ ├── in_loc: (169,10)-(169,12) = "in"
+ │ │ └── then_loc: (169,28)-(169,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3271...3275) = "case"
- │ └── end_keyword_loc: (3304...3307) = "end"
- ├── @ CaseNode (location: (3308...3344))
+ │ ├── case_keyword_loc: (169,0)-(169,4) = "case"
+ │ └── end_keyword_loc: (169,33)-(169,36) = "end"
+ ├── @ CaseNode (location: (170,0)-(170,36))
│ ├── predicate:
- │ │ @ CallNode (location: (3313...3316))
+ │ │ @ CallNode (location: (170,5)-(170,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3313...3316) = "foo"
+ │ │ ├── message_loc: (170,5)-(170,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4058,37 +4058,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3318...3340))
+ │ │ └── @ InNode (location: (170,10)-(170,32))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3321...3335))
- │ │ │ ├── if_keyword_loc: (3329...3331) = "if"
+ │ │ │ @ IfNode (location: (170,13)-(170,27))
+ │ │ │ ├── if_keyword_loc: (170,21)-(170,23) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3332...3335))
+ │ │ │ │ @ LocalVariableReadNode (location: (170,24)-(170,27))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3321...3328))
+ │ │ │ │ @ StatementsNode (location: (170,13)-(170,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (3321...3328))
+ │ │ │ │ └── @ StringNode (location: (170,13)-(170,20))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (3321...3324) = "%Q["
- │ │ │ │ ├── content_loc: (3324...3327) = "foo"
- │ │ │ │ ├── closing_loc: (3327...3328) = "]"
+ │ │ │ │ ├── opening_loc: (170,13)-(170,16) = "%Q["
+ │ │ │ │ ├── content_loc: (170,16)-(170,19) = "foo"
+ │ │ │ │ ├── closing_loc: (170,19)-(170,20) = "]"
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3318...3320) = "in"
- │ │ └── then_loc: (3336...3340) = "then"
+ │ │ ├── in_loc: (170,10)-(170,12) = "in"
+ │ │ └── then_loc: (170,28)-(170,32) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3308...3312) = "case"
- │ └── end_keyword_loc: (3341...3344) = "end"
- ├── @ CaseNode (location: (3345...3379))
+ │ ├── case_keyword_loc: (170,0)-(170,4) = "case"
+ │ └── end_keyword_loc: (170,33)-(170,36) = "end"
+ ├── @ CaseNode (location: (171,0)-(171,34))
│ ├── predicate:
- │ │ @ CallNode (location: (3350...3353))
+ │ │ @ CallNode (location: (171,5)-(171,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3350...3353) = "foo"
+ │ │ ├── message_loc: (171,5)-(171,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4096,37 +4096,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3355...3375))
+ │ │ └── @ InNode (location: (171,10)-(171,30))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3358...3370))
- │ │ │ ├── if_keyword_loc: (3364...3366) = "if"
+ │ │ │ @ IfNode (location: (171,13)-(171,25))
+ │ │ │ ├── if_keyword_loc: (171,19)-(171,21) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3367...3370))
+ │ │ │ │ @ LocalVariableReadNode (location: (171,22)-(171,25))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3358...3363))
+ │ │ │ │ @ StatementsNode (location: (171,13)-(171,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (3358...3363))
+ │ │ │ │ └── @ StringNode (location: (171,13)-(171,18))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (3358...3359) = "\""
- │ │ │ │ ├── content_loc: (3359...3362) = "foo"
- │ │ │ │ ├── closing_loc: (3362...3363) = "\""
+ │ │ │ │ ├── opening_loc: (171,13)-(171,14) = "\""
+ │ │ │ │ ├── content_loc: (171,14)-(171,17) = "foo"
+ │ │ │ │ ├── closing_loc: (171,17)-(171,18) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3355...3357) = "in"
- │ │ └── then_loc: (3371...3375) = "then"
+ │ │ ├── in_loc: (171,10)-(171,12) = "in"
+ │ │ └── then_loc: (171,26)-(171,30) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3345...3349) = "case"
- │ └── end_keyword_loc: (3376...3379) = "end"
- ├── @ CaseNode (location: (3380...3412))
+ │ ├── case_keyword_loc: (171,0)-(171,4) = "case"
+ │ └── end_keyword_loc: (171,31)-(171,34) = "end"
+ ├── @ CaseNode (location: (172,0)-(172,32))
│ ├── predicate:
- │ │ @ CallNode (location: (3385...3388))
+ │ │ @ CallNode (location: (172,5)-(172,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3385...3388) = "foo"
+ │ │ ├── message_loc: (172,5)-(172,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4134,32 +4134,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3390...3408))
+ │ │ └── @ InNode (location: (172,10)-(172,28))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3393...3403))
- │ │ │ ├── if_keyword_loc: (3397...3399) = "if"
+ │ │ │ @ IfNode (location: (172,13)-(172,23))
+ │ │ │ ├── if_keyword_loc: (172,17)-(172,19) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3400...3403))
+ │ │ │ │ @ LocalVariableReadNode (location: (172,20)-(172,23))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3393...3396))
+ │ │ │ │ @ StatementsNode (location: (172,13)-(172,16))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ NilNode (location: (3393...3396))
+ │ │ │ │ └── @ NilNode (location: (172,13)-(172,16))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3390...3392) = "in"
- │ │ └── then_loc: (3404...3408) = "then"
+ │ │ ├── in_loc: (172,10)-(172,12) = "in"
+ │ │ └── then_loc: (172,24)-(172,28) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3380...3384) = "case"
- │ └── end_keyword_loc: (3409...3412) = "end"
- ├── @ CaseNode (location: (3413...3446))
+ │ ├── case_keyword_loc: (172,0)-(172,4) = "case"
+ │ └── end_keyword_loc: (172,29)-(172,32) = "end"
+ ├── @ CaseNode (location: (173,0)-(173,33))
│ ├── predicate:
- │ │ @ CallNode (location: (3418...3421))
+ │ │ @ CallNode (location: (173,5)-(173,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3418...3421) = "foo"
+ │ │ ├── message_loc: (173,5)-(173,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4167,32 +4167,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3423...3442))
+ │ │ └── @ InNode (location: (173,10)-(173,29))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3426...3437))
- │ │ │ ├── if_keyword_loc: (3431...3433) = "if"
+ │ │ │ @ IfNode (location: (173,13)-(173,24))
+ │ │ │ ├── if_keyword_loc: (173,18)-(173,20) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3434...3437))
+ │ │ │ │ @ LocalVariableReadNode (location: (173,21)-(173,24))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3426...3430))
+ │ │ │ │ @ StatementsNode (location: (173,13)-(173,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SelfNode (location: (3426...3430))
+ │ │ │ │ └── @ SelfNode (location: (173,13)-(173,17))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3423...3425) = "in"
- │ │ └── then_loc: (3438...3442) = "then"
+ │ │ ├── in_loc: (173,10)-(173,12) = "in"
+ │ │ └── then_loc: (173,25)-(173,29) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3413...3417) = "case"
- │ └── end_keyword_loc: (3443...3446) = "end"
- ├── @ CaseNode (location: (3447...3480))
+ │ ├── case_keyword_loc: (173,0)-(173,4) = "case"
+ │ └── end_keyword_loc: (173,30)-(173,33) = "end"
+ ├── @ CaseNode (location: (174,0)-(174,33))
│ ├── predicate:
- │ │ @ CallNode (location: (3452...3455))
+ │ │ @ CallNode (location: (174,5)-(174,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3452...3455) = "foo"
+ │ │ ├── message_loc: (174,5)-(174,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4200,32 +4200,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3457...3476))
+ │ │ └── @ InNode (location: (174,10)-(174,29))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3460...3471))
- │ │ │ ├── if_keyword_loc: (3465...3467) = "if"
+ │ │ │ @ IfNode (location: (174,13)-(174,24))
+ │ │ │ ├── if_keyword_loc: (174,18)-(174,20) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3468...3471))
+ │ │ │ │ @ LocalVariableReadNode (location: (174,21)-(174,24))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3460...3464))
+ │ │ │ │ @ StatementsNode (location: (174,13)-(174,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (3460...3464))
+ │ │ │ │ └── @ TrueNode (location: (174,13)-(174,17))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3457...3459) = "in"
- │ │ └── then_loc: (3472...3476) = "then"
+ │ │ ├── in_loc: (174,10)-(174,12) = "in"
+ │ │ └── then_loc: (174,25)-(174,29) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3447...3451) = "case"
- │ └── end_keyword_loc: (3477...3480) = "end"
- ├── @ CaseNode (location: (3481...3515))
+ │ ├── case_keyword_loc: (174,0)-(174,4) = "case"
+ │ └── end_keyword_loc: (174,30)-(174,33) = "end"
+ ├── @ CaseNode (location: (175,0)-(175,34))
│ ├── predicate:
- │ │ @ CallNode (location: (3486...3489))
+ │ │ @ CallNode (location: (175,5)-(175,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3486...3489) = "foo"
+ │ │ ├── message_loc: (175,5)-(175,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4233,32 +4233,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3491...3511))
+ │ │ └── @ InNode (location: (175,10)-(175,30))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3494...3506))
- │ │ │ ├── if_keyword_loc: (3500...3502) = "if"
+ │ │ │ @ IfNode (location: (175,13)-(175,25))
+ │ │ │ ├── if_keyword_loc: (175,19)-(175,21) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3503...3506))
+ │ │ │ │ @ LocalVariableReadNode (location: (175,22)-(175,25))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3494...3499))
+ │ │ │ │ @ StatementsNode (location: (175,13)-(175,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ FalseNode (location: (3494...3499))
+ │ │ │ │ └── @ FalseNode (location: (175,13)-(175,18))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3491...3493) = "in"
- │ │ └── then_loc: (3507...3511) = "then"
+ │ │ ├── in_loc: (175,10)-(175,12) = "in"
+ │ │ └── then_loc: (175,26)-(175,30) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3481...3485) = "case"
- │ └── end_keyword_loc: (3512...3515) = "end"
- ├── @ CaseNode (location: (3516...3553))
+ │ ├── case_keyword_loc: (175,0)-(175,4) = "case"
+ │ └── end_keyword_loc: (175,31)-(175,34) = "end"
+ ├── @ CaseNode (location: (176,0)-(176,37))
│ ├── predicate:
- │ │ @ CallNode (location: (3521...3524))
+ │ │ @ CallNode (location: (176,5)-(176,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3521...3524) = "foo"
+ │ │ ├── message_loc: (176,5)-(176,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4266,33 +4266,33 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3526...3549))
+ │ │ └── @ InNode (location: (176,10)-(176,33))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3529...3544))
- │ │ │ ├── if_keyword_loc: (3538...3540) = "if"
+ │ │ │ @ IfNode (location: (176,13)-(176,28))
+ │ │ │ ├── if_keyword_loc: (176,22)-(176,24) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3541...3544))
+ │ │ │ │ @ LocalVariableReadNode (location: (176,25)-(176,28))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3529...3537))
+ │ │ │ │ @ StatementsNode (location: (176,13)-(176,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SourceFileNode (location: (3529...3537))
+ │ │ │ │ └── @ SourceFileNode (location: (176,13)-(176,21))
│ │ │ │ └── filepath: "patterns.txt"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3526...3528) = "in"
- │ │ └── then_loc: (3545...3549) = "then"
+ │ │ ├── in_loc: (176,10)-(176,12) = "in"
+ │ │ └── then_loc: (176,29)-(176,33) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3516...3520) = "case"
- │ └── end_keyword_loc: (3550...3553) = "end"
- ├── @ CaseNode (location: (3554...3591))
+ │ ├── case_keyword_loc: (176,0)-(176,4) = "case"
+ │ └── end_keyword_loc: (176,34)-(176,37) = "end"
+ ├── @ CaseNode (location: (177,0)-(177,37))
│ ├── predicate:
- │ │ @ CallNode (location: (3559...3562))
+ │ │ @ CallNode (location: (177,5)-(177,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3559...3562) = "foo"
+ │ │ ├── message_loc: (177,5)-(177,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4300,32 +4300,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3564...3587))
+ │ │ └── @ InNode (location: (177,10)-(177,33))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3567...3582))
- │ │ │ ├── if_keyword_loc: (3576...3578) = "if"
+ │ │ │ @ IfNode (location: (177,13)-(177,28))
+ │ │ │ ├── if_keyword_loc: (177,22)-(177,24) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3579...3582))
+ │ │ │ │ @ LocalVariableReadNode (location: (177,25)-(177,28))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3567...3575))
+ │ │ │ │ @ StatementsNode (location: (177,13)-(177,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SourceLineNode (location: (3567...3575))
+ │ │ │ │ └── @ SourceLineNode (location: (177,13)-(177,21))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3564...3566) = "in"
- │ │ └── then_loc: (3583...3587) = "then"
+ │ │ ├── in_loc: (177,10)-(177,12) = "in"
+ │ │ └── then_loc: (177,29)-(177,33) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3554...3558) = "case"
- │ └── end_keyword_loc: (3588...3591) = "end"
- ├── @ CaseNode (location: (3592...3633))
+ │ ├── case_keyword_loc: (177,0)-(177,4) = "case"
+ │ └── end_keyword_loc: (177,34)-(177,37) = "end"
+ ├── @ CaseNode (location: (178,0)-(178,41))
│ ├── predicate:
- │ │ @ CallNode (location: (3597...3600))
+ │ │ @ CallNode (location: (178,5)-(178,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3597...3600) = "foo"
+ │ │ ├── message_loc: (178,5)-(178,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4333,32 +4333,32 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3602...3629))
+ │ │ └── @ InNode (location: (178,10)-(178,37))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3605...3624))
- │ │ │ ├── if_keyword_loc: (3618...3620) = "if"
+ │ │ │ @ IfNode (location: (178,13)-(178,32))
+ │ │ │ ├── if_keyword_loc: (178,26)-(178,28) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3621...3624))
+ │ │ │ │ @ LocalVariableReadNode (location: (178,29)-(178,32))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3605...3617))
+ │ │ │ │ @ StatementsNode (location: (178,13)-(178,25))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SourceEncodingNode (location: (3605...3617))
+ │ │ │ │ └── @ SourceEncodingNode (location: (178,13)-(178,25))
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3602...3604) = "in"
- │ │ └── then_loc: (3625...3629) = "then"
+ │ │ ├── in_loc: (178,10)-(178,12) = "in"
+ │ │ └── then_loc: (178,33)-(178,37) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3592...3596) = "case"
- │ └── end_keyword_loc: (3630...3633) = "end"
- ├── @ CaseNode (location: (3634...3673))
+ │ ├── case_keyword_loc: (178,0)-(178,4) = "case"
+ │ └── end_keyword_loc: (178,38)-(178,41) = "end"
+ ├── @ CaseNode (location: (179,0)-(179,39))
│ ├── predicate:
- │ │ @ CallNode (location: (3639...3642))
+ │ │ @ CallNode (location: (179,5)-(179,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3639...3642) = "foo"
+ │ │ ├── message_loc: (179,5)-(179,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4366,46 +4366,46 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (3644...3669))
+ │ │ └── @ InNode (location: (179,10)-(179,35))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (3647...3664))
- │ │ │ ├── if_keyword_loc: (3658...3660) = "if"
+ │ │ │ @ IfNode (location: (179,13)-(179,30))
+ │ │ │ ├── if_keyword_loc: (179,24)-(179,26) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ LocalVariableReadNode (location: (3661...3664))
+ │ │ │ │ @ LocalVariableReadNode (location: (179,27)-(179,30))
│ │ │ │ ├── name: :baz
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3647...3657))
+ │ │ │ │ @ StatementsNode (location: (179,13)-(179,23))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LambdaNode (location: (3647...3657))
+ │ │ │ │ └── @ LambdaNode (location: (179,13)-(179,23))
│ │ │ │ ├── locals: []
- │ │ │ │ ├── operator_loc: (3647...3649) = "->"
- │ │ │ │ ├── opening_loc: (3650...3651) = "{"
- │ │ │ │ ├── closing_loc: (3656...3657) = "}"
+ │ │ │ │ ├── operator_loc: (179,13)-(179,15) = "->"
+ │ │ │ │ ├── opening_loc: (179,16)-(179,17) = "{"
+ │ │ │ │ ├── closing_loc: (179,22)-(179,23) = "}"
│ │ │ │ ├── parameters: ∅
│ │ │ │ └── body:
- │ │ │ │ @ StatementsNode (location: (3652...3655))
+ │ │ │ │ @ StatementsNode (location: (179,18)-(179,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (3652...3655))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (179,18)-(179,21))
│ │ │ │ ├── name: :bar
│ │ │ │ └── depth: 1
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (3644...3646) = "in"
- │ │ └── then_loc: (3665...3669) = "then"
+ │ │ ├── in_loc: (179,10)-(179,12) = "in"
+ │ │ └── then_loc: (179,31)-(179,35) = "then"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (3634...3638) = "case"
- │ └── end_keyword_loc: (3670...3673) = "end"
- ├── @ IfNode (location: (3675...3689))
- │ ├── if_keyword_loc: (3675...3677) = "if"
+ │ ├── case_keyword_loc: (179,0)-(179,4) = "case"
+ │ └── end_keyword_loc: (179,36)-(179,39) = "end"
+ ├── @ IfNode (location: (181,0)-(182,3))
+ │ ├── if_keyword_loc: (181,0)-(181,2) = "if"
│ ├── predicate:
- │ │ @ MatchPredicateNode (location: (3678...3685))
+ │ │ @ MatchPredicateNode (location: (181,3)-(181,10))
│ │ ├── value:
- │ │ │ @ CallNode (location: (3678...3679))
+ │ │ │ @ CallNode (location: (181,3)-(181,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3678...3679) = "a"
+ │ │ │ ├── message_loc: (181,3)-(181,4) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -4413,23 +4413,23 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (3683...3685))
+ │ │ │ @ ArrayPatternNode (location: (181,8)-(181,10))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (3683...3684) = "["
- │ │ │ └── closing_loc: (3684...3685) = "]"
- │ │ └── operator_loc: (3680...3682) = "in"
+ │ │ │ ├── opening_loc: (181,8)-(181,9) = "["
+ │ │ │ └── closing_loc: (181,9)-(181,10) = "]"
+ │ │ └── operator_loc: (181,5)-(181,7) = "in"
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (3686...3689) = "end"
- ├── @ MatchRequiredNode (location: (3691...3703))
+ │ └── end_keyword_loc: (182,0)-(182,3) = "end"
+ ├── @ MatchRequiredNode (location: (184,0)-(186,1))
│ ├── value:
- │ │ @ CallNode (location: (3691...3692))
+ │ │ @ CallNode (location: (184,0)-(184,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3691...3692) = "a"
+ │ │ ├── message_loc: (184,0)-(184,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -4437,23 +4437,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (3696...3703))
+ │ │ @ ArrayPatternNode (location: (184,5)-(186,1))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (3700...3701))
+ │ │ │ └── @ LocalVariableTargetNode (location: (185,2)-(185,3))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (3696...3697) = "["
- │ │ └── closing_loc: (3702...3703) = "]"
- │ └── operator_loc: (3693...3695) = "=>"
- └── @ MatchPredicateNode (location: (3705...3743))
+ │ │ ├── opening_loc: (184,5)-(184,6) = "["
+ │ │ └── closing_loc: (186,0)-(186,1) = "]"
+ │ └── operator_loc: (184,2)-(184,4) = "=>"
+ └── @ MatchPredicateNode (location: (188,0)-(192,1))
├── value:
- │ @ CallNode (location: (3705...3708))
+ │ @ CallNode (location: (188,0)-(188,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3705...3708) = "foo"
+ │ ├── message_loc: (188,0)-(188,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -4461,41 +4461,41 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── pattern:
- │ @ HashPatternNode (location: (3712...3743))
+ │ @ HashPatternNode (location: (188,7)-(192,1))
│ ├── constant:
- │ │ @ ConstantReadNode (location: (3712...3713))
+ │ │ @ ConstantReadNode (location: (188,7)-(188,8))
│ │ └── name: :A
│ ├── assocs: (length: 1)
- │ │ └── @ AssocNode (location: (3717...3741))
+ │ │ └── @ AssocNode (location: (189,2)-(191,3))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (3717...3721))
+ │ │ │ @ SymbolNode (location: (189,2)-(189,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (3717...3720) = "bar"
- │ │ │ ├── closing_loc: (3720...3721) = ":"
+ │ │ │ ├── value_loc: (189,2)-(189,5) = "bar"
+ │ │ │ ├── closing_loc: (189,5)-(189,6) = ":"
│ │ │ └── unescaped: "bar"
│ │ ├── value:
- │ │ │ @ HashPatternNode (location: (3722...3741))
+ │ │ │ @ HashPatternNode (location: (189,7)-(191,3))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (3722...3723))
+ │ │ │ │ @ ConstantReadNode (location: (189,7)-(189,8))
│ │ │ │ └── name: :B
│ │ │ ├── assocs: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (3729...3737))
+ │ │ │ │ └── @ AssocNode (location: (190,4)-(190,12))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (3729...3735))
+ │ │ │ │ │ @ SymbolNode (location: (190,4)-(190,10))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (3729...3734) = "value"
- │ │ │ │ │ ├── closing_loc: (3734...3735) = ":"
+ │ │ │ │ │ ├── value_loc: (190,4)-(190,9) = "value"
+ │ │ │ │ │ ├── closing_loc: (190,9)-(190,10) = ":"
│ │ │ │ │ └── unescaped: "value"
│ │ │ │ ├── value:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (3736...3737))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (190,11)-(190,12))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
│ │ │ │ └── operator_loc: ∅
│ │ │ ├── kwrest: ∅
- │ │ │ ├── opening_loc: (3723...3724) = "["
- │ │ │ └── closing_loc: (3740...3741) = "]"
+ │ │ │ ├── opening_loc: (189,8)-(189,9) = "["
+ │ │ │ └── closing_loc: (191,2)-(191,3) = "]"
│ │ └── operator_loc: ∅
│ ├── kwrest: ∅
- │ ├── opening_loc: (3713...3714) = "["
- │ └── closing_loc: (3742...3743) = "]"
- └── operator_loc: (3709...3711) = "in"
+ │ ├── opening_loc: (188,8)-(188,9) = "["
+ │ └── closing_loc: (192,0)-(192,1) = "]"
+ └── operator_loc: (188,4)-(188,6) = "in"
diff --git a/test/yarp/snapshots/procs.txt b/test/yarp/snapshots/procs.txt
index 310a580dda..8203cc08c8 100644
--- a/test/yarp/snapshots/procs.txt
+++ b/test/yarp/snapshots/procs.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...266))
+@ ProgramNode (location: (1,0)-(27,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...266))
+ @ StatementsNode (location: (1,0)-(27,19))
└── body: (length: 10)
- ├── @ LambdaNode (location: (0...21))
+ ├── @ LambdaNode (location: (1,0)-(1,21))
│ ├── locals: [:a, :b, :c, :d]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (16...17) = "{"
- │ ├── closing_loc: (20...21) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,16)-(1,17) = "{"
+ │ ├── closing_loc: (1,20)-(1,21) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (3...15))
+ │ │ @ BlockParametersNode (location: (1,3)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (4...5))
+ │ │ │ @ ParametersNode (location: (1,4)-(1,5))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (4...5))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -22,270 +22,270 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 3)
- │ │ │ ├── @ BlockLocalVariableNode (location: (7...8))
+ │ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
│ │ │ │ └── name: :b
- │ │ │ ├── @ BlockLocalVariableNode (location: (10...11))
+ │ │ │ ├── @ BlockLocalVariableNode (location: (1,10)-(1,11))
│ │ │ │ └── name: :c
- │ │ │ └── @ BlockLocalVariableNode (location: (13...14))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,13)-(1,14))
│ │ │ └── name: :d
- │ │ ├── opening_loc: (3...4) = "("
- │ │ └── closing_loc: (14...15) = ")"
+ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ └── closing_loc: (1,14)-(1,15) = ")"
│ └── body:
- │ @ StatementsNode (location: (18...19))
+ │ @ StatementsNode (location: (1,18)-(1,19))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (18...19))
+ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
│ ├── name: :b
│ └── depth: 0
- ├── @ LambdaNode (location: (23...39))
+ ├── @ LambdaNode (location: (3,0)-(5,3))
│ ├── locals: []
- │ ├── operator_loc: (23...25) = "->"
- │ ├── opening_loc: (26...28) = "do"
- │ ├── closing_loc: (36...39) = "end"
+ │ ├── operator_loc: (3,0)-(3,2) = "->"
+ │ ├── opening_loc: (3,3)-(3,5) = "do"
+ │ ├── closing_loc: (5,0)-(5,3) = "end"
│ ├── parameters: ∅
│ └── body:
- │ @ BeginNode (location: (29...39))
+ │ @ BeginNode (location: (4,0)-(5,3))
│ ├── begin_keyword_loc: ∅
│ ├── statements: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (29...39))
- │ │ ├── ensure_keyword_loc: (29...35) = "ensure"
+ │ │ @ EnsureNode (location: (4,0)-(5,3))
+ │ │ ├── ensure_keyword_loc: (4,0)-(4,6) = "ensure"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (36...39) = "end"
- │ └── end_keyword_loc: (36...39) = "end"
- ├── @ LambdaNode (location: (41...69))
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ LambdaNode (location: (7,0)-(11,3))
│ ├── locals: []
- │ ├── operator_loc: (41...43) = "->"
- │ ├── opening_loc: (44...46) = "do"
- │ ├── closing_loc: (66...69) = "end"
+ │ ├── operator_loc: (7,0)-(7,2) = "->"
+ │ ├── opening_loc: (7,3)-(7,5) = "do"
+ │ ├── closing_loc: (11,0)-(11,3) = "end"
│ ├── parameters: ∅
│ └── body:
- │ @ BeginNode (location: (47...69))
+ │ @ BeginNode (location: (8,0)-(11,3))
│ ├── begin_keyword_loc: ∅
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (47...53))
- │ │ ├── keyword_loc: (47...53) = "rescue"
+ │ │ @ RescueNode (location: (8,0)-(8,6))
+ │ │ ├── keyword_loc: (8,0)-(8,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (54...65))
- │ │ ├── else_keyword_loc: (54...58) = "else"
+ │ │ @ ElseNode (location: (9,0)-(10,6))
+ │ │ ├── else_keyword_loc: (9,0)-(9,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (59...65) = "ensure"
+ │ │ └── end_keyword_loc: (10,0)-(10,6) = "ensure"
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (59...69))
- │ │ ├── ensure_keyword_loc: (59...65) = "ensure"
+ │ │ @ EnsureNode (location: (10,0)-(11,3))
+ │ │ ├── ensure_keyword_loc: (10,0)-(10,6) = "ensure"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (66...69) = "end"
- │ └── end_keyword_loc: (66...69) = "end"
- ├── @ LambdaNode (location: (71...81))
+ │ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ LambdaNode (location: (13,0)-(13,10))
│ ├── locals: []
- │ ├── operator_loc: (71...73) = "->"
- │ ├── opening_loc: (74...75) = "{"
- │ ├── closing_loc: (80...81) = "}"
+ │ ├── operator_loc: (13,0)-(13,2) = "->"
+ │ ├── opening_loc: (13,3)-(13,4) = "{"
+ │ ├── closing_loc: (13,9)-(13,10) = "}"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (76...79))
+ │ @ StatementsNode (location: (13,5)-(13,8))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (76...79))
+ │ └── @ CallNode (location: (13,5)-(13,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (76...79) = "foo"
+ │ ├── message_loc: (13,5)-(13,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── @ LambdaNode (location: (83...98))
+ ├── @ LambdaNode (location: (15,0)-(15,15))
│ ├── locals: []
- │ ├── operator_loc: (83...85) = "->"
- │ ├── opening_loc: (86...88) = "do"
- │ ├── closing_loc: (95...98) = "end"
+ │ ├── operator_loc: (15,0)-(15,2) = "->"
+ │ ├── opening_loc: (15,3)-(15,5) = "do"
+ │ ├── closing_loc: (15,12)-(15,15) = "end"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (90...93))
+ │ @ StatementsNode (location: (15,7)-(15,10))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (90...93))
+ │ └── @ CallNode (location: (15,7)-(15,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (90...93) = "foo"
+ │ ├── message_loc: (15,7)-(15,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── @ LambdaNode (location: (100...129))
+ ├── @ LambdaNode (location: (17,0)-(17,29))
│ ├── locals: [:a, :b, :c, :d, :e]
- │ ├── operator_loc: (100...102) = "->"
- │ ├── opening_loc: (124...125) = "{"
- │ ├── closing_loc: (128...129) = "}"
+ │ ├── operator_loc: (17,0)-(17,2) = "->"
+ │ ├── opening_loc: (17,24)-(17,25) = "{"
+ │ ├── closing_loc: (17,28)-(17,29) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (103...123))
+ │ │ @ BlockParametersNode (location: (17,3)-(17,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (103...123))
+ │ │ │ @ ParametersNode (location: (17,3)-(17,23))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (103...104))
+ │ │ │ │ └── @ RequiredParameterNode (location: (17,3)-(17,4))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (106...111))
+ │ │ │ │ └── @ OptionalParameterNode (location: (17,6)-(17,11))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (106...107) = "b"
- │ │ │ │ ├── operator_loc: (108...109) = "="
+ │ │ │ │ ├── name_loc: (17,6)-(17,7) = "b"
+ │ │ │ │ ├── operator_loc: (17,8)-(17,9) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (110...111))
+ │ │ │ │ @ IntegerNode (location: (17,10)-(17,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 2)
- │ │ │ │ ├── @ KeywordParameterNode (location: (113...115))
+ │ │ │ │ ├── @ KeywordParameterNode (location: (17,13)-(17,15))
│ │ │ │ │ ├── name: :c
- │ │ │ │ │ ├── name_loc: (113...115) = "c:"
+ │ │ │ │ │ ├── name_loc: (17,13)-(17,15) = "c:"
│ │ │ │ │ └── value: ∅
- │ │ │ │ └── @ KeywordParameterNode (location: (117...119))
+ │ │ │ │ └── @ KeywordParameterNode (location: (17,17)-(17,19))
│ │ │ │ ├── name: :d
- │ │ │ │ ├── name_loc: (117...119) = "d:"
+ │ │ │ │ ├── name_loc: (17,17)-(17,19) = "d:"
│ │ │ │ └── value: ∅
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (121...123))
+ │ │ │ @ BlockParameterNode (location: (17,21)-(17,23))
│ │ │ ├── name: :e
- │ │ │ ├── name_loc: (122...123) = "e"
- │ │ │ └── operator_loc: (121...122) = "&"
+ │ │ │ ├── name_loc: (17,22)-(17,23) = "e"
+ │ │ │ └── operator_loc: (17,21)-(17,22) = "&"
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body:
- │ @ StatementsNode (location: (126...127))
+ │ @ StatementsNode (location: (17,26)-(17,27))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (126...127))
+ │ └── @ LocalVariableReadNode (location: (17,26)-(17,27))
│ ├── name: :a
│ └── depth: 0
- ├── @ LambdaNode (location: (131...171))
+ ├── @ LambdaNode (location: (19,0)-(19,40))
│ ├── locals: [:a, :b, :c, :d, :e, :f, :g]
- │ ├── operator_loc: (131...133) = "->"
- │ ├── opening_loc: (166...167) = "{"
- │ ├── closing_loc: (170...171) = "}"
+ │ ├── operator_loc: (19,0)-(19,2) = "->"
+ │ ├── opening_loc: (19,35)-(19,36) = "{"
+ │ ├── closing_loc: (19,39)-(19,40) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (134...165))
+ │ │ @ BlockParametersNode (location: (19,3)-(19,34))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (135...164))
+ │ │ │ @ ParametersNode (location: (19,4)-(19,33))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (135...136))
+ │ │ │ │ └── @ RequiredParameterNode (location: (19,4)-(19,5))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (138...143))
+ │ │ │ │ └── @ OptionalParameterNode (location: (19,7)-(19,12))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (138...139) = "b"
- │ │ │ │ ├── operator_loc: (140...141) = "="
+ │ │ │ │ ├── name_loc: (19,7)-(19,8) = "b"
+ │ │ │ │ ├── operator_loc: (19,9)-(19,10) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (142...143))
+ │ │ │ │ @ IntegerNode (location: (19,11)-(19,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (145...147))
+ │ │ │ │ @ RestParameterNode (location: (19,14)-(19,16))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (146...147) = "c"
- │ │ │ │ └── operator_loc: (145...146) = "*"
+ │ │ │ │ ├── name_loc: (19,15)-(19,16) = "c"
+ │ │ │ │ └── operator_loc: (19,14)-(19,15) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 2)
- │ │ │ │ ├── @ KeywordParameterNode (location: (149...151))
+ │ │ │ │ ├── @ KeywordParameterNode (location: (19,18)-(19,20))
│ │ │ │ │ ├── name: :d
- │ │ │ │ │ ├── name_loc: (149...151) = "d:"
+ │ │ │ │ │ ├── name_loc: (19,18)-(19,20) = "d:"
│ │ │ │ │ └── value: ∅
- │ │ │ │ └── @ KeywordParameterNode (location: (153...155))
+ │ │ │ │ └── @ KeywordParameterNode (location: (19,22)-(19,24))
│ │ │ │ ├── name: :e
- │ │ │ │ ├── name_loc: (153...155) = "e:"
+ │ │ │ │ ├── name_loc: (19,22)-(19,24) = "e:"
│ │ │ │ └── value: ∅
│ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (157...160))
+ │ │ │ │ @ KeywordRestParameterNode (location: (19,26)-(19,29))
│ │ │ │ ├── name: :f
- │ │ │ │ ├── name_loc: (159...160) = "f"
- │ │ │ │ └── operator_loc: (157...159) = "**"
+ │ │ │ │ ├── name_loc: (19,28)-(19,29) = "f"
+ │ │ │ │ └── operator_loc: (19,26)-(19,28) = "**"
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (162...164))
+ │ │ │ @ BlockParameterNode (location: (19,31)-(19,33))
│ │ │ ├── name: :g
- │ │ │ ├── name_loc: (163...164) = "g"
- │ │ │ └── operator_loc: (162...163) = "&"
+ │ │ │ ├── name_loc: (19,32)-(19,33) = "g"
+ │ │ │ └── operator_loc: (19,31)-(19,32) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (134...135) = "("
- │ │ └── closing_loc: (164...165) = ")"
+ │ │ ├── opening_loc: (19,3)-(19,4) = "("
+ │ │ └── closing_loc: (19,33)-(19,34) = ")"
│ └── body:
- │ @ StatementsNode (location: (168...169))
+ │ @ StatementsNode (location: (19,37)-(19,38))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (168...169))
+ │ └── @ LocalVariableReadNode (location: (19,37)-(19,38))
│ ├── name: :a
│ └── depth: 0
- ├── @ LambdaNode (location: (173...218))
+ ├── @ LambdaNode (location: (21,0)-(23,3))
│ ├── locals: [:a, :b, :c, :d, :e, :f, :g]
- │ ├── operator_loc: (173...175) = "->"
- │ ├── opening_loc: (208...210) = "do"
- │ ├── closing_loc: (215...218) = "end"
+ │ ├── operator_loc: (21,0)-(21,2) = "->"
+ │ ├── opening_loc: (21,35)-(21,37) = "do"
+ │ ├── closing_loc: (23,0)-(23,3) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (176...207))
+ │ │ @ BlockParametersNode (location: (21,3)-(21,34))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (177...206))
+ │ │ │ @ ParametersNode (location: (21,4)-(21,33))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (177...178))
+ │ │ │ │ └── @ RequiredParameterNode (location: (21,4)-(21,5))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (180...185))
+ │ │ │ │ └── @ OptionalParameterNode (location: (21,7)-(21,12))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (180...181) = "b"
- │ │ │ │ ├── operator_loc: (182...183) = "="
+ │ │ │ │ ├── name_loc: (21,7)-(21,8) = "b"
+ │ │ │ │ ├── operator_loc: (21,9)-(21,10) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (184...185))
+ │ │ │ │ @ IntegerNode (location: (21,11)-(21,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (187...189))
+ │ │ │ │ @ RestParameterNode (location: (21,14)-(21,16))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (188...189) = "c"
- │ │ │ │ └── operator_loc: (187...188) = "*"
+ │ │ │ │ ├── name_loc: (21,15)-(21,16) = "c"
+ │ │ │ │ └── operator_loc: (21,14)-(21,15) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 2)
- │ │ │ │ ├── @ KeywordParameterNode (location: (191...193))
+ │ │ │ │ ├── @ KeywordParameterNode (location: (21,18)-(21,20))
│ │ │ │ │ ├── name: :d
- │ │ │ │ │ ├── name_loc: (191...193) = "d:"
+ │ │ │ │ │ ├── name_loc: (21,18)-(21,20) = "d:"
│ │ │ │ │ └── value: ∅
- │ │ │ │ └── @ KeywordParameterNode (location: (195...197))
+ │ │ │ │ └── @ KeywordParameterNode (location: (21,22)-(21,24))
│ │ │ │ ├── name: :e
- │ │ │ │ ├── name_loc: (195...197) = "e:"
+ │ │ │ │ ├── name_loc: (21,22)-(21,24) = "e:"
│ │ │ │ └── value: ∅
│ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (199...202))
+ │ │ │ │ @ KeywordRestParameterNode (location: (21,26)-(21,29))
│ │ │ │ ├── name: :f
- │ │ │ │ ├── name_loc: (201...202) = "f"
- │ │ │ │ └── operator_loc: (199...201) = "**"
+ │ │ │ │ ├── name_loc: (21,28)-(21,29) = "f"
+ │ │ │ │ └── operator_loc: (21,26)-(21,28) = "**"
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (204...206))
+ │ │ │ @ BlockParameterNode (location: (21,31)-(21,33))
│ │ │ ├── name: :g
- │ │ │ ├── name_loc: (205...206) = "g"
- │ │ │ └── operator_loc: (204...205) = "&"
+ │ │ │ ├── name_loc: (21,32)-(21,33) = "g"
+ │ │ │ └── operator_loc: (21,31)-(21,32) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (176...177) = "("
- │ │ └── closing_loc: (206...207) = ")"
+ │ │ ├── opening_loc: (21,3)-(21,4) = "("
+ │ │ └── closing_loc: (21,33)-(21,34) = ")"
│ └── body:
- │ @ StatementsNode (location: (213...214))
+ │ @ StatementsNode (location: (22,2)-(22,3))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (213...214))
+ │ └── @ LocalVariableReadNode (location: (22,2)-(22,3))
│ ├── name: :a
│ └── depth: 0
- ├── @ LambdaNode (location: (220...245))
+ ├── @ LambdaNode (location: (25,0)-(25,25))
│ ├── locals: [:a]
- │ ├── operator_loc: (220...222) = "->"
- │ ├── opening_loc: (227...228) = "{"
- │ ├── closing_loc: (244...245) = "}"
+ │ ├── operator_loc: (25,0)-(25,2) = "->"
+ │ ├── opening_loc: (25,7)-(25,8) = "{"
+ │ ├── closing_loc: (25,24)-(25,25) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (223...226))
+ │ │ @ BlockParametersNode (location: (25,3)-(25,6))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (224...225))
+ │ │ │ @ ParametersNode (location: (25,4)-(25,5))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (224...225))
+ │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -294,22 +294,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (223...224) = "("
- │ │ └── closing_loc: (225...226) = ")"
+ │ │ ├── opening_loc: (25,3)-(25,4) = "("
+ │ │ └── closing_loc: (25,5)-(25,6) = ")"
│ └── body:
- │ @ StatementsNode (location: (229...243))
+ │ @ StatementsNode (location: (25,9)-(25,23))
│ └── body: (length: 1)
- │ └── @ LambdaNode (location: (229...243))
+ │ └── @ LambdaNode (location: (25,9)-(25,23))
│ ├── locals: [:b]
- │ ├── operator_loc: (229...231) = "->"
- │ ├── opening_loc: (234...235) = "{"
- │ ├── closing_loc: (242...243) = "}"
+ │ ├── operator_loc: (25,9)-(25,11) = "->"
+ │ ├── opening_loc: (25,14)-(25,15) = "{"
+ │ ├── closing_loc: (25,22)-(25,23) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (232...233))
+ │ │ @ BlockParametersNode (location: (25,12)-(25,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (232...233))
+ │ │ │ @ ParametersNode (location: (25,12)-(25,13))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (232...233))
+ │ │ │ │ └── @ RequiredParameterNode (location: (25,12)-(25,13))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -321,55 +321,55 @@
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body:
- │ @ StatementsNode (location: (236...241))
+ │ @ StatementsNode (location: (25,16)-(25,21))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (236...241))
+ │ └── @ CallNode (location: (25,16)-(25,21))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (236...237))
+ │ │ @ LocalVariableReadNode (location: (25,16)-(25,17))
│ │ ├── name: :a
│ │ └── depth: 1
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (238...239) = "*"
+ │ ├── message_loc: (25,18)-(25,19) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (240...241))
+ │ │ @ ArgumentsNode (location: (25,20)-(25,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (240...241))
+ │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- └── @ LambdaNode (location: (247...266))
+ └── @ LambdaNode (location: (27,0)-(27,19))
├── locals: [:a, :b, :c]
- ├── operator_loc: (247...249) = "->"
- ├── opening_loc: (263...264) = "{"
- ├── closing_loc: (265...266) = "}"
+ ├── operator_loc: (27,0)-(27,2) = "->"
+ ├── opening_loc: (27,16)-(27,17) = "{"
+ ├── closing_loc: (27,18)-(27,19) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (250...262))
+ │ @ BlockParametersNode (location: (27,3)-(27,15))
│ ├── parameters:
- │ │ @ ParametersNode (location: (251...261))
+ │ │ @ ParametersNode (location: (27,4)-(27,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (251...257))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (27,4)-(27,10))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (252...253))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (27,5)-(27,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (255...256))
+ │ │ │ │ └── @ RequiredParameterNode (location: (27,8)-(27,9))
│ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (251...252) = "("
- │ │ │ └── closing_loc: (256...257) = ")"
+ │ │ │ ├── opening_loc: (27,4)-(27,5) = "("
+ │ │ │ └── closing_loc: (27,9)-(27,10) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (259...261))
+ │ │ │ @ RestParameterNode (location: (27,12)-(27,14))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (260...261) = "c"
- │ │ │ └── operator_loc: (259...260) = "*"
+ │ │ │ ├── name_loc: (27,13)-(27,14) = "c"
+ │ │ │ └── operator_loc: (27,12)-(27,13) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (250...251) = "("
- │ └── closing_loc: (261...262) = ")"
+ │ ├── opening_loc: (27,3)-(27,4) = "("
+ │ └── closing_loc: (27,14)-(27,15) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/range_begin_open_exclusive.txt b/test/yarp/snapshots/range_begin_open_exclusive.txt
index 791526c111..e4842729f1 100644
--- a/test/yarp/snapshots/range_begin_open_exclusive.txt
+++ b/test/yarp/snapshots/range_begin_open_exclusive.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RangeNode (location: (0...4))
+ └── @ RangeNode (location: (1,0)-(1,4))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (3...4))
+ │ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
- ├── operator_loc: (0...3) = "..."
+ ├── operator_loc: (1,0)-(1,3) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/range_begin_open_inclusive.txt b/test/yarp/snapshots/range_begin_open_inclusive.txt
index 02340ee87c..1d9c64ec97 100644
--- a/test/yarp/snapshots/range_begin_open_inclusive.txt
+++ b/test/yarp/snapshots/range_begin_open_inclusive.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ RangeNode (location: (0...3))
+ └── @ RangeNode (location: (1,0)-(1,3))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (2...3))
+ │ @ IntegerNode (location: (1,2)-(1,3))
│ └── flags: decimal
- ├── operator_loc: (0...2) = ".."
+ ├── operator_loc: (1,0)-(1,2) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/range_end_open_exclusive.txt b/test/yarp/snapshots/range_end_open_exclusive.txt
index e6ccdf51ab..defd76783e 100644
--- a/test/yarp/snapshots/range_end_open_exclusive.txt
+++ b/test/yarp/snapshots/range_end_open_exclusive.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RangeNode (location: (0...4))
+ └── @ RangeNode (location: (1,0)-(1,4))
├── left:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
- ├── operator_loc: (1...4) = "..."
+ ├── operator_loc: (1,1)-(1,4) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/range_end_open_inclusive.txt b/test/yarp/snapshots/range_end_open_inclusive.txt
index 962e9f01bd..ee51b81e51 100644
--- a/test/yarp/snapshots/range_end_open_inclusive.txt
+++ b/test/yarp/snapshots/range_end_open_inclusive.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ RangeNode (location: (0...3))
+ └── @ RangeNode (location: (1,0)-(1,3))
├── left:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
- ├── operator_loc: (1...3) = ".."
+ ├── operator_loc: (1,1)-(1,3) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/ranges.txt b/test/yarp/snapshots/ranges.txt
index d82aea3d8f..65192ecc4b 100644
--- a/test/yarp/snapshots/ranges.txt
+++ b/test/yarp/snapshots/ranges.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...85))
+@ ProgramNode (location: (1,0)-(17,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...85))
+ @ StatementsNode (location: (1,0)-(17,5))
└── body: (length: 9)
- ├── @ ParenthesesNode (location: (0...6))
+ ├── @ ParenthesesNode (location: (1,0)-(1,6))
│ ├── body:
- │ │ @ StatementsNode (location: (1...5))
+ │ │ @ StatementsNode (location: (1,1)-(1,5))
│ │ └── body: (length: 1)
- │ │ └── @ RangeNode (location: (1...5))
+ │ │ └── @ RangeNode (location: (1,1)-(1,5))
│ │ ├── left: ∅
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (4...5))
+ │ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (1...4) = "..."
+ │ │ ├── operator_loc: (1,1)-(1,4) = "..."
│ │ └── flags: exclude_end
- │ ├── opening_loc: (0...1) = "("
- │ └── closing_loc: (5...6) = ")"
- ├── @ ParenthesesNode (location: (8...13))
+ │ ├── opening_loc: (1,0)-(1,1) = "("
+ │ └── closing_loc: (1,5)-(1,6) = ")"
+ ├── @ ParenthesesNode (location: (3,0)-(3,5))
│ ├── body:
- │ │ @ StatementsNode (location: (9...12))
+ │ │ @ StatementsNode (location: (3,1)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ RangeNode (location: (9...12))
+ │ │ └── @ RangeNode (location: (3,1)-(3,4))
│ │ ├── left: ∅
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (11...12))
+ │ │ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (9...11) = ".."
+ │ │ ├── operator_loc: (3,1)-(3,3) = ".."
│ │ └── flags: ∅
- │ ├── opening_loc: (8...9) = "("
- │ └── closing_loc: (12...13) = ")"
- ├── @ RangeNode (location: (15...20))
+ │ ├── opening_loc: (3,0)-(3,1) = "("
+ │ └── closing_loc: (3,4)-(3,5) = ")"
+ ├── @ RangeNode (location: (5,0)-(5,5))
│ ├── left:
- │ │ @ IntegerNode (location: (15...16))
+ │ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (19...20))
+ │ │ @ IntegerNode (location: (5,4)-(5,5))
│ │ └── flags: decimal
- │ ├── operator_loc: (16...19) = "..."
+ │ ├── operator_loc: (5,1)-(5,4) = "..."
│ └── flags: exclude_end
- ├── @ CallNode (location: (22...31))
+ ├── @ CallNode (location: (7,0)-(7,9))
│ ├── receiver:
- │ │ @ CallNode (location: (22...25))
+ │ │ @ CallNode (location: (7,0)-(7,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (22...25) = "foo"
+ │ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -51,110 +51,110 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...31) = "[...2]"
- │ ├── opening_loc: (25...26) = "["
+ │ ├── message_loc: (7,3)-(7,9) = "[...2]"
+ │ ├── opening_loc: (7,3)-(7,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (26...30))
+ │ │ @ ArgumentsNode (location: (7,4)-(7,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ RangeNode (location: (26...30))
+ │ │ └── @ RangeNode (location: (7,4)-(7,8))
│ │ ├── left: ∅
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (29...30))
+ │ │ │ @ IntegerNode (location: (7,7)-(7,8))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (26...29) = "..."
+ │ │ ├── operator_loc: (7,4)-(7,7) = "..."
│ │ └── flags: exclude_end
- │ ├── closing_loc: (30...31) = "]"
+ │ ├── closing_loc: (7,8)-(7,9) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ HashNode (location: (33...48))
- │ ├── opening_loc: (33...34) = "{"
+ ├── @ HashNode (location: (9,0)-(9,15))
+ │ ├── opening_loc: (9,0)-(9,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (35...46))
+ │ │ └── @ AssocNode (location: (9,2)-(9,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (35...39))
+ │ │ │ @ SymbolNode (location: (9,2)-(9,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (35...38) = "foo"
- │ │ │ ├── closing_loc: (38...39) = ":"
+ │ │ │ ├── value_loc: (9,2)-(9,5) = "foo"
+ │ │ │ ├── closing_loc: (9,5)-(9,6) = ":"
│ │ │ └── unescaped: "foo"
│ │ ├── value:
- │ │ │ @ RangeNode (location: (40...46))
+ │ │ │ @ RangeNode (location: (9,7)-(9,13))
│ │ │ ├── left: ∅
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (43...46))
+ │ │ │ │ @ CallNode (location: (9,10)-(9,13))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (43...46) = "bar"
+ │ │ │ │ ├── message_loc: (9,10)-(9,13) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── operator_loc: (40...43) = "..."
+ │ │ │ ├── operator_loc: (9,7)-(9,10) = "..."
│ │ │ └── flags: exclude_end
│ │ └── operator_loc: ∅
- │ └── closing_loc: (47...48) = "}"
- ├── @ ParenthesesNode (location: (50...56))
+ │ └── closing_loc: (9,14)-(9,15) = "}"
+ ├── @ ParenthesesNode (location: (11,0)-(11,6))
│ ├── body:
- │ │ @ StatementsNode (location: (51...55))
+ │ │ @ StatementsNode (location: (11,1)-(11,5))
│ │ └── body: (length: 1)
- │ │ └── @ RangeNode (location: (51...55))
+ │ │ └── @ RangeNode (location: (11,1)-(11,5))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (51...52))
+ │ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (52...55) = "..."
+ │ │ ├── operator_loc: (11,2)-(11,5) = "..."
│ │ └── flags: exclude_end
- │ ├── opening_loc: (50...51) = "("
- │ └── closing_loc: (55...56) = ")"
- ├── @ RangeNode (location: (58...62))
+ │ ├── opening_loc: (11,0)-(11,1) = "("
+ │ └── closing_loc: (11,5)-(11,6) = ")"
+ ├── @ RangeNode (location: (13,0)-(13,4))
│ ├── left:
- │ │ @ IntegerNode (location: (58...59))
+ │ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (61...62))
+ │ │ @ IntegerNode (location: (13,3)-(13,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (59...61) = ".."
+ │ ├── operator_loc: (13,1)-(13,3) = ".."
│ └── flags: ∅
- ├── @ HashNode (location: (64...78))
- │ ├── opening_loc: (64...65) = "{"
+ ├── @ HashNode (location: (15,0)-(15,14))
+ │ ├── opening_loc: (15,0)-(15,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (66...76))
+ │ │ └── @ AssocNode (location: (15,2)-(15,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (66...70))
+ │ │ │ @ SymbolNode (location: (15,2)-(15,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (66...69) = "foo"
- │ │ │ ├── closing_loc: (69...70) = ":"
+ │ │ │ ├── value_loc: (15,2)-(15,5) = "foo"
+ │ │ │ ├── closing_loc: (15,5)-(15,6) = ":"
│ │ │ └── unescaped: "foo"
│ │ ├── value:
- │ │ │ @ RangeNode (location: (71...76))
+ │ │ │ @ RangeNode (location: (15,7)-(15,12))
│ │ │ ├── left: ∅
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (73...76))
+ │ │ │ │ @ CallNode (location: (15,9)-(15,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (73...76) = "bar"
+ │ │ │ │ ├── message_loc: (15,9)-(15,12) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── operator_loc: (71...73) = ".."
+ │ │ │ ├── operator_loc: (15,7)-(15,9) = ".."
│ │ │ └── flags: ∅
│ │ └── operator_loc: ∅
- │ └── closing_loc: (77...78) = "}"
- └── @ ParenthesesNode (location: (80...85))
+ │ └── closing_loc: (15,13)-(15,14) = "}"
+ └── @ ParenthesesNode (location: (17,0)-(17,5))
├── body:
- │ @ StatementsNode (location: (81...84))
+ │ @ StatementsNode (location: (17,1)-(17,4))
│ └── body: (length: 1)
- │ └── @ RangeNode (location: (81...84))
+ │ └── @ RangeNode (location: (17,1)-(17,4))
│ ├── left:
- │ │ @ IntegerNode (location: (81...82))
+ │ │ @ IntegerNode (location: (17,1)-(17,2))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (82...84) = ".."
+ │ ├── operator_loc: (17,2)-(17,4) = ".."
│ └── flags: ∅
- ├── opening_loc: (80...81) = "("
- └── closing_loc: (84...85) = ")"
+ ├── opening_loc: (17,0)-(17,1) = "("
+ └── closing_loc: (17,4)-(17,5) = ")"
diff --git a/test/yarp/snapshots/regex.txt b/test/yarp/snapshots/regex.txt
index 6f0d42ce3f..a20a97c5eb 100644
--- a/test/yarp/snapshots/regex.txt
+++ b/test/yarp/snapshots/regex.txt
@@ -1,109 +1,109 @@
-@ ProgramNode (location: (0...293))
+@ ProgramNode (location: (1,0)-(30,13))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...293))
+ @ StatementsNode (location: (1,0)-(30,13))
└── body: (length: 14)
- ├── @ CallNode (location: (0...9))
+ ├── @ CallNode (location: (1,0)-(1,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...9))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ RegularExpressionNode (location: (4...9))
- │ │ ├── opening_loc: (4...5) = "/"
- │ │ ├── content_loc: (5...8) = "bar"
- │ │ ├── closing_loc: (8...9) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ RegularExpressionNode (location: (11...19))
- │ ├── opening_loc: (11...14) = "%r{"
- │ ├── content_loc: (14...17) = "abc"
- │ ├── closing_loc: (17...19) = "}i"
+ ├── @ RegularExpressionNode (location: (3,0)-(3,8))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (21...26))
- │ ├── opening_loc: (21...22) = "/"
- │ ├── content_loc: (22...25) = "a\\b"
- │ ├── closing_loc: (25...26) = "/"
+ ├── @ RegularExpressionNode (location: (5,0)-(5,5))
+ │ ├── opening_loc: (5,0)-(5,1) = "/"
+ │ ├── content_loc: (5,1)-(5,4) = "a\\b"
+ │ ├── closing_loc: (5,4)-(5,5) = "/"
│ ├── unescaped: "a\b"
│ └── flags: ∅
- ├── @ InterpolatedRegularExpressionNode (location: (28...39))
- │ ├── opening_loc: (28...29) = "/"
+ ├── @ InterpolatedRegularExpressionNode (location: (7,0)-(7,11))
+ │ ├── opening_loc: (7,0)-(7,1) = "/"
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (29...33))
+ │ │ ├── @ StringNode (location: (7,1)-(7,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (29...33) = "aaa "
+ │ │ │ ├── content_loc: (7,1)-(7,5) = "aaa "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "aaa "
- │ │ └── @ EmbeddedVariableNode (location: (33...38))
- │ │ ├── operator_loc: (33...34) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (7,5)-(7,10))
+ │ │ ├── operator_loc: (7,5)-(7,6) = "#"
│ │ └── variable:
- │ │ @ GlobalVariableReadNode (location: (34...38))
+ │ │ @ GlobalVariableReadNode (location: (7,6)-(7,10))
│ │ └── name: :$bbb
- │ ├── closing_loc: (38...39) = "/"
+ │ ├── closing_loc: (7,10)-(7,11) = "/"
│ └── flags: ∅
- ├── @ InterpolatedRegularExpressionNode (location: (41...57))
- │ ├── opening_loc: (41...42) = "/"
+ ├── @ InterpolatedRegularExpressionNode (location: (9,0)-(9,16))
+ │ ├── opening_loc: (9,0)-(9,1) = "/"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (42...46))
+ │ │ ├── @ StringNode (location: (9,1)-(9,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (42...46) = "aaa "
+ │ │ │ ├── content_loc: (9,1)-(9,5) = "aaa "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "aaa "
- │ │ ├── @ EmbeddedStatementsNode (location: (46...52))
- │ │ │ ├── opening_loc: (46...48) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (9,5)-(9,11))
+ │ │ │ ├── opening_loc: (9,5)-(9,7) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (48...51))
+ │ │ │ │ @ StatementsNode (location: (9,7)-(9,10))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (48...51))
+ │ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (48...51) = "bbb"
+ │ │ │ │ ├── message_loc: (9,7)-(9,10) = "bbb"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bbb"
- │ │ │ └── closing_loc: (51...52) = "}"
- │ │ └── @ StringNode (location: (52...56))
+ │ │ │ └── closing_loc: (9,10)-(9,11) = "}"
+ │ │ └── @ StringNode (location: (9,11)-(9,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (52...56) = " ccc"
+ │ │ ├── content_loc: (9,11)-(9,15) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
- │ ├── closing_loc: (56...57) = "/"
+ │ ├── closing_loc: (9,15)-(9,16) = "/"
│ └── flags: ∅
- ├── @ ArrayNode (location: (59...86))
+ ├── @ ArrayNode (location: (11,0)-(11,27))
│ ├── elements: (length: 2)
- │ │ ├── @ MatchWriteNode (location: (60...80))
+ │ │ ├── @ MatchWriteNode (location: (11,1)-(11,21))
│ │ │ ├── call:
- │ │ │ │ @ CallNode (location: (60...80))
+ │ │ │ │ @ CallNode (location: (11,1)-(11,21))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ RegularExpressionNode (location: (60...73))
- │ │ │ │ │ ├── opening_loc: (60...61) = "/"
- │ │ │ │ │ ├── content_loc: (61...72) = "(?<foo>bar)"
- │ │ │ │ │ ├── closing_loc: (72...73) = "/"
+ │ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14))
+ │ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/"
+ │ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?<foo>bar)"
+ │ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/"
│ │ │ │ │ ├── unescaped: "(?<foo>bar)"
│ │ │ │ │ └── flags: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (74...76) = "=~"
+ │ │ │ │ ├── message_loc: (11,15)-(11,17) = "=~"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (77...80))
+ │ │ │ │ │ @ ArgumentsNode (location: (11,18)-(11,21))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (77...80))
+ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (77...80) = "baz"
+ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -115,95 +115,95 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "=~"
│ │ │ └── locals: [:foo]
- │ │ └── @ LocalVariableReadNode (location: (82...85))
+ │ │ └── @ LocalVariableReadNode (location: (11,23)-(11,26))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── opening_loc: (59...60) = "["
- │ └── closing_loc: (85...86) = "]"
- ├── @ RegularExpressionNode (location: (88...94))
- │ ├── opening_loc: (88...89) = "/"
- │ ├── content_loc: (89...92) = "abc"
- │ ├── closing_loc: (92...94) = "/i"
+ │ ├── opening_loc: (11,0)-(11,1) = "["
+ │ └── closing_loc: (11,26)-(11,27) = "]"
+ ├── @ RegularExpressionNode (location: (13,0)-(13,6))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (96...122))
- │ ├── opening_loc: (96...99) = "%r/"
- │ ├── content_loc: (99...120) = "[a-z$._?][\\w$.?\#@~]*:"
- │ ├── closing_loc: (120...122) = "/i"
+ ├── @ RegularExpressionNode (location: (15,0)-(15,26))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (124...161))
- │ ├── opening_loc: (124...127) = "%r/"
- │ ├── content_loc: (127...159) = "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
- │ ├── closing_loc: (159...161) = "/i"
+ ├── @ RegularExpressionNode (location: (17,0)-(17,37))
+ │ ├── 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$.?\#@~]*)( +)(equ)"
│ └── flags: ignore_case
- ├── @ RegularExpressionNode (location: (163...188))
- │ ├── opening_loc: (163...166) = "%r/"
- │ ├── content_loc: (166...186) = "[a-z$._?][\\w$.?\#@~]*"
- │ ├── closing_loc: (186...188) = "/i"
+ ├── @ RegularExpressionNode (location: (19,0)-(19,25))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (190...249))
- │ ├── opening_loc: (190...193) = "%r("
- │ ├── content_loc: (193...248) = "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
- │ ├── closing_loc: (248...249) = ")"
+ ├── @ RegularExpressionNode (location: (21,0)-(24,1))
+ │ ├── opening_loc: (21,0)-(21,3) = "%r("
+ │ ├── content_loc: (21,3)-(23,0) = "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
+ │ ├── closing_loc: (24,0)-(24,1) = ")"
│ ├── unescaped: "\n(?:[w\#$%_']|()|(,)|[]|[0-9])*\n (?:[w\#$%_']+)\n"
│ └── flags: ∅
- ├── @ CallNode (location: (251...267))
+ ├── @ CallNode (location: (26,0)-(26,16))
│ ├── receiver:
- │ │ @ RegularExpressionNode (location: (251...259))
- │ │ ├── opening_loc: (251...252) = "/"
- │ │ ├── content_loc: (252...258) = "(?#\\))"
- │ │ ├── closing_loc: (258...259) = "/"
+ │ │ @ RegularExpressionNode (location: (26,0)-(26,8))
+ │ │ ├── opening_loc: (26,0)-(26,1) = "/"
+ │ │ ├── content_loc: (26,1)-(26,7) = "(?#\\))"
+ │ │ ├── closing_loc: (26,7)-(26,8) = "/"
│ │ ├── unescaped: "(?#))"
│ │ └── flags: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (260...262) = "=~"
+ │ ├── message_loc: (26,9)-(26,11) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (263...267))
+ │ │ @ ArgumentsNode (location: (26,12)-(26,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (263...267))
+ │ │ └── @ StringNode (location: (26,12)-(26,16))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (263...264) = "\""
- │ │ ├── content_loc: (264...266) = "hi"
- │ │ ├── closing_loc: (266...267) = "\""
+ │ │ ├── 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: ∅
│ └── name: "=~"
- ├── @ RegularExpressionNode (location: (269...278))
- │ ├── opening_loc: (269...272) = "%r#"
- │ ├── content_loc: (272...277) = "pound"
- │ ├── closing_loc: (277...278) = "#"
+ ├── @ RegularExpressionNode (location: (28,0)-(28,9))
+ │ ├── opening_loc: (28,0)-(28,3) = "%r#"
+ │ ├── content_loc: (28,3)-(28,8) = "pound"
+ │ ├── closing_loc: (28,8)-(28,9) = "#"
│ ├── unescaped: "pound"
│ └── flags: ∅
- └── @ InterpolatedRegularExpressionNode (location: (280...293))
- ├── opening_loc: (280...281) = "/"
+ └── @ InterpolatedRegularExpressionNode (location: (30,0)-(30,13))
+ ├── opening_loc: (30,0)-(30,1) = "/"
├── parts: (length: 2)
- │ ├── @ StringNode (location: (281...285))
+ │ ├── @ StringNode (location: (30,1)-(30,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (281...285) = "aaa "
+ │ │ ├── content_loc: (30,1)-(30,5) = "aaa "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "aaa "
- │ └── @ EmbeddedStatementsNode (location: (285...291))
- │ ├── opening_loc: (285...287) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (30,5)-(30,11))
+ │ ├── opening_loc: (30,5)-(30,7) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (287...290))
+ │ │ @ StatementsNode (location: (30,7)-(30,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (287...290))
+ │ │ └── @ CallNode (location: (30,7)-(30,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (287...290) = "bbb"
+ │ │ ├── message_loc: (30,7)-(30,10) = "bbb"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bbb"
- │ └── closing_loc: (290...291) = "}"
- ├── closing_loc: (291...293) = "/o"
+ │ └── closing_loc: (30,10)-(30,11) = "}"
+ ├── closing_loc: (30,11)-(30,13) = "/o"
└── flags: once
diff --git a/test/yarp/snapshots/rescue.txt b/test/yarp/snapshots/rescue.txt
index 40b84f7bfa..b57f5de7a7 100644
--- a/test/yarp/snapshots/rescue.txt
+++ b/test/yarp/snapshots/rescue.txt
@@ -1,125 +1,125 @@
-@ ProgramNode (location: (0...316))
+@ ProgramNode (location: (1,0)-(31,3))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...316))
+ @ StatementsNode (location: (1,0)-(31,3))
└── body: (length: 12)
- ├── @ RescueModifierNode (location: (0...14))
+ ├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (4...10) = "rescue"
+ │ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (11...14))
- ├── @ RescueModifierNode (location: (16...30))
+ │ @ NilNode (location: (1,11)-(1,14))
+ ├── @ RescueModifierNode (location: (3,0)-(4,3))
│ ├── expression:
- │ │ @ CallNode (location: (16...19))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (20...26) = "rescue"
+ │ ├── keyword_loc: (3,4)-(3,10) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (27...30))
- ├── @ RescueModifierNode (location: (32...48))
+ │ @ NilNode (location: (4,0)-(4,3))
+ ├── @ RescueModifierNode (location: (6,0)-(6,16))
│ ├── expression:
- │ │ @ BreakNode (location: (32...37))
+ │ │ @ BreakNode (location: (6,0)-(6,5))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (32...37) = "break"
- │ ├── keyword_loc: (38...44) = "rescue"
+ │ │ └── keyword_loc: (6,0)-(6,5) = "break"
+ │ ├── keyword_loc: (6,6)-(6,12) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (45...48))
- ├── @ RescueModifierNode (location: (50...65))
+ │ @ NilNode (location: (6,13)-(6,16))
+ ├── @ RescueModifierNode (location: (8,0)-(8,15))
│ ├── expression:
- │ │ @ NextNode (location: (50...54))
+ │ │ @ NextNode (location: (8,0)-(8,4))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (50...54) = "next"
- │ ├── keyword_loc: (55...61) = "rescue"
+ │ │ └── keyword_loc: (8,0)-(8,4) = "next"
+ │ ├── keyword_loc: (8,5)-(8,11) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (62...65))
- ├── @ RescueModifierNode (location: (67...84))
+ │ @ NilNode (location: (8,12)-(8,15))
+ ├── @ RescueModifierNode (location: (10,0)-(10,17))
│ ├── expression:
- │ │ @ ReturnNode (location: (67...73))
- │ │ ├── keyword_loc: (67...73) = "return"
+ │ │ @ ReturnNode (location: (10,0)-(10,6))
+ │ │ ├── keyword_loc: (10,0)-(10,6) = "return"
│ │ └── arguments: ∅
- │ ├── keyword_loc: (74...80) = "rescue"
+ │ ├── keyword_loc: (10,7)-(10,13) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (81...84))
- ├── @ RescueModifierNode (location: (86...105))
+ │ @ NilNode (location: (10,14)-(10,17))
+ ├── @ RescueModifierNode (location: (12,0)-(12,19))
│ ├── expression:
- │ │ @ CallNode (location: (86...89))
+ │ │ @ CallNode (location: (12,0)-(12,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (86...89) = "foo"
+ │ │ ├── message_loc: (12,0)-(12,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (90...96) = "rescue"
+ │ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ └── rescue_expression:
- │ @ OrNode (location: (97...105))
+ │ @ OrNode (location: (12,11)-(12,19))
│ ├── left:
- │ │ @ NilNode (location: (97...100))
+ │ │ @ NilNode (location: (12,11)-(12,14))
│ ├── right:
- │ │ @ IntegerNode (location: (104...105))
+ │ │ @ IntegerNode (location: (12,18)-(12,19))
│ │ └── flags: decimal
- │ └── operator_loc: (101...103) = "||"
- ├── @ RescueModifierNode (location: (107...129))
+ │ └── operator_loc: (12,15)-(12,17) = "||"
+ ├── @ RescueModifierNode (location: (14,0)-(14,22))
│ ├── expression:
- │ │ @ CallNode (location: (107...110))
+ │ │ @ CallNode (location: (14,0)-(14,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (107...110) = "foo"
+ │ │ ├── message_loc: (14,0)-(14,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (111...117) = "rescue"
+ │ ├── keyword_loc: (14,4)-(14,10) = "rescue"
│ └── rescue_expression:
- │ @ IfNode (location: (118...129))
+ │ @ IfNode (location: (14,11)-(14,22))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ NilNode (location: (118...121))
+ │ │ @ NilNode (location: (14,11)-(14,14))
│ ├── statements:
- │ │ @ StatementsNode (location: (124...125))
+ │ │ @ StatementsNode (location: (14,17)-(14,18))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (124...125))
+ │ │ └── @ IntegerNode (location: (14,17)-(14,18))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (126...129))
- │ │ ├── else_keyword_loc: (126...127) = ":"
+ │ │ @ ElseNode (location: (14,19)-(14,22))
+ │ │ ├── else_keyword_loc: (14,19)-(14,20) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (128...129))
+ │ │ │ @ StatementsNode (location: (14,21)-(14,22))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (128...129))
+ │ │ │ └── @ IntegerNode (location: (14,21)-(14,22))
│ │ │ └── flags: decimal
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ BeginNode (location: (131...155))
- │ ├── begin_keyword_loc: (131...136) = "begin"
+ ├── @ BeginNode (location: (16,0)-(16,24))
+ │ ├── begin_keyword_loc: (16,0)-(16,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (138...139))
+ │ │ @ StatementsNode (location: (16,7)-(16,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (138...139))
+ │ │ └── @ CallNode (location: (16,7)-(16,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (138...139) = "a"
+ │ │ ├── message_loc: (16,7)-(16,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -127,16 +127,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (141...150))
- │ │ ├── keyword_loc: (141...147) = "rescue"
+ │ │ @ RescueNode (location: (16,10)-(16,19))
+ │ │ ├── keyword_loc: (16,10)-(16,16) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ SplatNode (location: (148...150))
- │ │ │ ├── operator_loc: (148...149) = "*"
+ │ │ │ └── @ SplatNode (location: (16,17)-(16,19))
+ │ │ │ ├── operator_loc: (16,17)-(16,18) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (149...150))
+ │ │ │ @ CallNode (location: (16,18)-(16,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (149...150) = "b"
+ │ │ │ ├── message_loc: (16,18)-(16,19) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -149,23 +149,23 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (152...155) = "end"
- ├── @ CallNode (location: (157...212))
+ │ └── end_keyword_loc: (16,21)-(16,24) = "end"
+ ├── @ CallNode (location: (18,0)-(20,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (157...160) = "foo"
+ │ ├── message_loc: (18,0)-(18,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (161...212))
+ │ │ @ BlockNode (location: (18,4)-(20,3))
│ │ ├── locals: [:x]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (164...167))
+ │ │ │ @ BlockParametersNode (location: (18,7)-(18,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (165...166))
+ │ │ │ │ @ ParametersNode (location: (18,8)-(18,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (165...166))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
│ │ │ │ │ └── name: :x
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -174,58 +174,58 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (164...165) = "|"
- │ │ │ └── closing_loc: (166...167) = "|"
+ │ │ │ ├── opening_loc: (18,7)-(18,8) = "|"
+ │ │ │ └── closing_loc: (18,9)-(18,10) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (170...208))
+ │ │ │ @ StatementsNode (location: (19,2)-(19,40))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (170...208))
+ │ │ │ └── @ RescueModifierNode (location: (19,2)-(19,40))
│ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (170...176))
+ │ │ │ │ @ CallNode (location: (19,2)-(19,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (170...173) = "bar"
- │ │ │ │ ├── opening_loc: (173...174) = "("
+ │ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
+ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (174...175))
+ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (174...175))
+ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (174...175) = "y"
+ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "y"
- │ │ │ │ ├── closing_loc: (175...176) = ")"
+ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "bar"
- │ │ │ ├── keyword_loc: (177...183) = "rescue"
+ │ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ CallNode (location: (184...208))
+ │ │ │ @ CallNode (location: (19,16)-(19,40))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (184...197) = "ArgumentError"
+ │ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (198...208))
+ │ │ │ │ @ ArgumentsNode (location: (19,30)-(19,40))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (198...208))
+ │ │ │ │ └── @ CallNode (location: (19,30)-(19,40))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (198...202) = "fail"
+ │ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (203...208))
+ │ │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (203...208))
+ │ │ │ │ │ └── @ StringNode (location: (19,35)-(19,40))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (203...204) = "\""
- │ │ │ │ │ ├── content_loc: (204...207) = "baz"
- │ │ │ │ │ ├── closing_loc: (207...208) = "\""
+ │ │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\""
+ │ │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz"
+ │ │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\""
│ │ │ │ │ └── unescaped: "baz"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
@@ -235,41 +235,41 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "ArgumentError"
- │ │ ├── opening_loc: (161...163) = "do"
- │ │ └── closing_loc: (209...212) = "end"
+ │ │ ├── opening_loc: (18,4)-(18,6) = "do"
+ │ │ └── closing_loc: (20,0)-(20,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ IfNode (location: (214...245))
- │ ├── if_keyword_loc: (214...216) = "if"
+ ├── @ IfNode (location: (22,0)-(24,3))
+ │ ├── if_keyword_loc: (22,0)-(22,2) = "if"
│ ├── predicate:
- │ │ @ LocalVariableWriteNode (location: (217...235))
+ │ │ @ LocalVariableWriteNode (location: (22,3)-(22,21))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (217...218) = "a"
+ │ │ ├── name_loc: (22,3)-(22,4) = "a"
│ │ ├── value:
- │ │ │ @ RescueModifierNode (location: (221...235))
+ │ │ │ @ RescueModifierNode (location: (22,7)-(22,21))
│ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (221...224))
+ │ │ │ │ @ CallNode (location: (22,7)-(22,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (221...224) = "foo"
+ │ │ │ │ ├── message_loc: (22,7)-(22,10) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ ├── keyword_loc: (225...231) = "rescue"
+ │ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ NilNode (location: (232...235))
- │ │ └── operator_loc: (219...220) = "="
+ │ │ │ @ NilNode (location: (22,18)-(22,21))
+ │ │ └── operator_loc: (22,5)-(22,6) = "="
│ ├── statements:
- │ │ @ StatementsNode (location: (238...241))
+ │ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (238...241))
+ │ │ └── @ CallNode (location: (23,2)-(23,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (238...241) = "bar"
+ │ │ ├── message_loc: (23,2)-(23,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -277,76 +277,76 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (242...245) = "end"
- ├── @ DefNode (location: (247...291))
+ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ ├── @ DefNode (location: (26,0)-(26,44))
│ ├── name: :some_method
- │ ├── name_loc: (251...262) = "some_method"
+ │ ├── name_loc: (26,4)-(26,15) = "some_method"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (265...291))
+ │ │ @ StatementsNode (location: (26,18)-(26,44))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (265...291))
+ │ │ └── @ CallNode (location: (26,18)-(26,44))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (265...277) = "other_method"
+ │ │ ├── message_loc: (26,18)-(26,30) = "other_method"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (278...291))
+ │ │ │ @ ArgumentsNode (location: (26,31)-(26,44))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (278...291))
+ │ │ │ └── @ RescueModifierNode (location: (26,31)-(26,44))
│ │ │ ├── expression:
- │ │ │ │ @ IntegerNode (location: (278...280))
+ │ │ │ │ @ IntegerNode (location: (26,31)-(26,33))
│ │ │ │ └── flags: decimal
- │ │ │ ├── keyword_loc: (281...287) = "rescue"
+ │ │ │ ├── keyword_loc: (26,34)-(26,40) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ NilNode (location: (288...291))
+ │ │ │ @ NilNode (location: (26,41)-(26,44))
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "other_method"
│ ├── locals: []
- │ ├── def_keyword_loc: (247...250) = "def"
+ │ ├── def_keyword_loc: (26,0)-(26,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (263...264) = "="
+ │ ├── equal_loc: (26,16)-(26,17) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (293...316))
+ └── @ DefNode (location: (28,0)-(31,3))
├── name: :a
- ├── name_loc: (297...298) = "a"
+ ├── name_loc: (28,4)-(28,5) = "a"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ BeginNode (location: (301...316))
+ │ @ BeginNode (location: (29,2)-(31,3))
│ ├── begin_keyword_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (301...305))
+ │ │ @ StatementsNode (location: (29,2)-(29,6))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (301...305))
+ │ │ └── @ CallNode (location: (29,2)-(29,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (301...302) = "a"
+ │ │ ├── message_loc: (29,2)-(29,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (303...305))
+ │ │ │ @ ArgumentsNode (location: (29,4)-(29,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (303...305))
+ │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (303...305))
+ │ │ │ └── @ AssocNode (location: (29,4)-(29,6))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (303...305))
+ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (303...304) = "b"
- │ │ │ │ ├── closing_loc: (304...305) = ":"
+ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
+ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (303...305))
+ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6))
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (303...305))
+ │ │ │ │ @ CallNode (location: (29,4)-(29,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (303...304) = "b"
+ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -359,8 +359,8 @@
│ │ ├── flags: ∅
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (306...312))
- │ │ ├── keyword_loc: (306...312) = "rescue"
+ │ │ @ RescueNode (location: (30,0)-(30,6))
+ │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
@@ -368,11 +368,11 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (313...316) = "end"
+ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
├── locals: []
- ├── def_keyword_loc: (293...296) = "def"
+ ├── def_keyword_loc: (28,0)-(28,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (313...316) = "end"
+ └── end_keyword_loc: (31,0)-(31,3) = "end"
diff --git a/test/yarp/snapshots/return.txt b/test/yarp/snapshots/return.txt
index fa6d8984f7..66e4625262 100644
--- a/test/yarp/snapshots/return.txt
+++ b/test/yarp/snapshots/return.txt
@@ -1,128 +1,128 @@
-@ ProgramNode (location: (0...139))
+@ ProgramNode (location: (1,0)-(23,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...139))
+ @ StatementsNode (location: (1,0)-(23,9))
└── body: (length: 10)
- ├── @ ReturnNode (location: (0...6))
- │ ├── keyword_loc: (0...6) = "return"
+ ├── @ ReturnNode (location: (1,0)-(1,6))
+ │ ├── keyword_loc: (1,0)-(1,6) = "return"
│ └── arguments: ∅
- ├── @ ReturnNode (location: (8...28))
- │ ├── keyword_loc: (8...14) = "return"
+ ├── @ ReturnNode (location: (3,0)-(3,20))
+ │ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (15...28))
+ │ @ ArgumentsNode (location: (3,7)-(3,20))
│ └── arguments: (length: 3)
- │ ├── @ ParenthesesNode (location: (15...18))
+ │ ├── @ ParenthesesNode (location: (3,7)-(3,10))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (16...17))
+ │ │ │ @ StatementsNode (location: (3,8)-(3,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (16...17))
+ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (15...16) = "("
- │ │ └── closing_loc: (17...18) = ")"
- │ ├── @ ParenthesesNode (location: (20...23))
+ │ │ ├── opening_loc: (3,7)-(3,8) = "("
+ │ │ └── closing_loc: (3,9)-(3,10) = ")"
+ │ ├── @ ParenthesesNode (location: (3,12)-(3,15))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (21...22))
+ │ │ │ @ StatementsNode (location: (3,13)-(3,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (21...22))
+ │ │ │ └── @ IntegerNode (location: (3,13)-(3,14))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (20...21) = "("
- │ │ └── closing_loc: (22...23) = ")"
- │ └── @ ParenthesesNode (location: (25...28))
+ │ │ ├── opening_loc: (3,12)-(3,13) = "("
+ │ │ └── closing_loc: (3,14)-(3,15) = ")"
+ │ └── @ ParenthesesNode (location: (3,17)-(3,20))
│ ├── body:
- │ │ @ StatementsNode (location: (26...27))
+ │ │ @ StatementsNode (location: (3,18)-(3,19))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (26...27))
+ │ │ └── @ IntegerNode (location: (3,18)-(3,19))
│ │ └── flags: decimal
- │ ├── opening_loc: (25...26) = "("
- │ └── closing_loc: (27...28) = ")"
- ├── @ ReturnNode (location: (30...39))
- │ ├── keyword_loc: (30...36) = "return"
+ │ ├── 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: (37...39))
+ │ @ ArgumentsNode (location: (5,7)-(5,9))
│ └── arguments: (length: 1)
- │ └── @ SplatNode (location: (37...39))
- │ ├── operator_loc: (37...38) = "*"
+ │ └── @ SplatNode (location: (5,7)-(5,9))
+ │ ├── operator_loc: (5,7)-(5,8) = "*"
│ └── expression:
- │ @ IntegerNode (location: (38...39))
+ │ @ IntegerNode (location: (5,8)-(5,9))
│ └── flags: decimal
- ├── @ ReturnNode (location: (41...49))
- │ ├── keyword_loc: (41...47) = "return"
+ ├── @ ReturnNode (location: (7,0)-(7,8))
+ │ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (48...49))
+ │ @ ArgumentsNode (location: (7,7)-(7,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (48...49))
+ │ └── @ IntegerNode (location: (7,7)-(7,8))
│ └── flags: decimal
- ├── @ ReturnNode (location: (51...65))
- │ ├── keyword_loc: (51...57) = "return"
+ ├── @ ReturnNode (location: (9,0)-(10,1))
+ │ ├── keyword_loc: (9,0)-(9,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (58...65))
+ │ @ ArgumentsNode (location: (9,7)-(10,1))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (58...59))
+ │ ├── @ IntegerNode (location: (9,7)-(9,8))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (61...62))
+ │ ├── @ IntegerNode (location: (9,10)-(9,11))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (64...65))
+ │ └── @ IntegerNode (location: (10,0)-(10,1))
│ └── flags: decimal
- ├── @ ReturnNode (location: (67...81))
- │ ├── keyword_loc: (67...73) = "return"
+ ├── @ ReturnNode (location: (12,0)-(12,14))
+ │ ├── keyword_loc: (12,0)-(12,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (74...81))
+ │ @ ArgumentsNode (location: (12,7)-(12,14))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (74...75))
+ │ ├── @ IntegerNode (location: (12,7)-(12,8))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (77...78))
+ │ ├── @ IntegerNode (location: (12,10)-(12,11))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (80...81))
+ │ └── @ IntegerNode (location: (12,13)-(12,14))
│ └── flags: decimal
- ├── @ ReturnNode (location: (83...99))
- │ ├── keyword_loc: (83...89) = "return"
+ ├── @ ReturnNode (location: (14,0)-(14,16))
+ │ ├── keyword_loc: (14,0)-(14,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (90...99))
+ │ @ ArgumentsNode (location: (14,7)-(14,16))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (90...99))
+ │ └── @ ArrayNode (location: (14,7)-(14,16))
│ ├── elements: (length: 3)
- │ │ ├── @ IntegerNode (location: (91...92))
+ │ │ ├── @ IntegerNode (location: (14,8)-(14,9))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (94...95))
+ │ │ ├── @ IntegerNode (location: (14,11)-(14,12))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (97...98))
+ │ │ └── @ IntegerNode (location: (14,14)-(14,15))
│ │ └── flags: decimal
- │ ├── opening_loc: (90...91) = "["
- │ └── closing_loc: (98...99) = "]"
- ├── @ ReturnNode (location: (101...118))
- │ ├── keyword_loc: (101...107) = "return"
+ │ ├── 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: (107...118))
+ │ @ ArgumentsNode (location: (16,6)-(19,1))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (107...118))
+ │ └── @ ParenthesesNode (location: (16,6)-(19,1))
│ ├── body:
- │ │ @ StatementsNode (location: (111...116))
+ │ │ @ StatementsNode (location: (17,2)-(18,3))
│ │ └── body: (length: 2)
- │ │ ├── @ IntegerNode (location: (111...112))
+ │ │ ├── @ IntegerNode (location: (17,2)-(17,3))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (115...116))
+ │ │ └── @ IntegerNode (location: (18,2)-(18,3))
│ │ └── flags: decimal
- │ ├── opening_loc: (107...108) = "("
- │ └── closing_loc: (117...118) = ")"
- ├── @ ReturnNode (location: (120...128))
- │ ├── keyword_loc: (120...126) = "return"
+ │ ├── 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: (126...128))
+ │ @ ArgumentsNode (location: (21,6)-(21,8))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (126...128))
+ │ └── @ ParenthesesNode (location: (21,6)-(21,8))
│ ├── body: ∅
- │ ├── opening_loc: (126...127) = "("
- │ └── closing_loc: (127...128) = ")"
- └── @ ReturnNode (location: (130...139))
- ├── keyword_loc: (130...136) = "return"
+ │ ├── 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: (136...139))
+ @ ArgumentsNode (location: (23,6)-(23,9))
└── arguments: (length: 1)
- └── @ ParenthesesNode (location: (136...139))
+ └── @ ParenthesesNode (location: (23,6)-(23,9))
├── body:
- │ @ StatementsNode (location: (137...138))
+ │ @ StatementsNode (location: (23,7)-(23,8))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (137...138))
+ │ └── @ IntegerNode (location: (23,7)-(23,8))
│ └── flags: decimal
- ├── opening_loc: (136...137) = "("
- └── closing_loc: (138...139) = ")"
+ ├── opening_loc: (23,6)-(23,7) = "("
+ └── closing_loc: (23,8)-(23,9) = ")"
diff --git a/test/yarp/snapshots/seattlerb/BEGIN.txt b/test/yarp/snapshots/seattlerb/BEGIN.txt
index 5f1613c118..3595e2a05c 100644
--- a/test/yarp/snapshots/seattlerb/BEGIN.txt
+++ b/test/yarp/snapshots/seattlerb/BEGIN.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ PreExecutionNode (location: (0...12))
+ └── @ PreExecutionNode (location: (1,0)-(1,12))
├── statements:
- │ @ StatementsNode (location: (8...10))
+ │ @ StatementsNode (location: (1,8)-(1,10))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (8...10))
+ │ └── @ IntegerNode (location: (1,8)-(1,10))
│ └── flags: decimal
- ├── keyword_loc: (0...5) = "BEGIN"
- ├── opening_loc: (6...7) = "{"
- └── closing_loc: (11...12) = "}"
+ ├── keyword_loc: (1,0)-(1,5) = "BEGIN"
+ ├── opening_loc: (1,6)-(1,7) = "{"
+ └── closing_loc: (1,11)-(1,12) = "}"
diff --git a/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt b/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
index 0fa3e602ca..deb317781a 100644
--- a/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
+++ b/test/yarp/snapshots/seattlerb/TestRubyParserShared.txt
@@ -1,126 +1,126 @@
-@ ProgramNode (location: (0...689))
+@ ProgramNode (location: (1,0)-(92,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...689))
+ @ StatementsNode (location: (1,0)-(92,1))
└── body: (length: 16)
- ├── @ ArrayNode (location: (0...7))
+ ├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (0...3) = "%I["
- │ └── closing_loc: (6...7) = "]"
- ├── @ ArrayNode (location: (9...26))
+ │ ├── opening_loc: (1,0)-(1,3) = "%I["
+ │ └── closing_loc: (4,0)-(4,1) = "]"
+ ├── @ ArrayNode (location: (6,0)-(9,1))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (13...18))
+ │ │ ├── @ SymbolNode (location: (7,0)-(7,5))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (13...18) = "line2"
+ │ │ │ ├── value_loc: (7,0)-(7,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
- │ │ └── @ SymbolNode (location: (19...24))
+ │ │ └── @ SymbolNode (location: (8,0)-(8,5))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (19...24) = "line3"
+ │ │ ├── value_loc: (8,0)-(8,5) = "line3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
- │ ├── opening_loc: (9...12) = "%I["
- │ └── closing_loc: (25...26) = "]"
- ├── @ ArrayNode (location: (28...35))
+ │ ├── opening_loc: (6,0)-(6,3) = "%I["
+ │ └── closing_loc: (9,0)-(9,1) = "]"
+ ├── @ ArrayNode (location: (11,0)-(14,1))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (28...31) = "%W["
- │ └── closing_loc: (34...35) = "]"
- ├── @ ArrayNode (location: (37...54))
+ │ ├── opening_loc: (11,0)-(11,3) = "%W["
+ │ └── closing_loc: (14,0)-(14,1) = "]"
+ ├── @ ArrayNode (location: (16,0)-(19,1))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (41...46))
+ │ │ ├── @ StringNode (location: (17,0)-(17,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (41...46) = "line2"
+ │ │ │ ├── content_loc: (17,0)-(17,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
- │ │ └── @ StringNode (location: (47...52))
+ │ │ └── @ StringNode (location: (18,0)-(18,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (47...52) = "line3"
+ │ │ ├── content_loc: (18,0)-(18,5) = "line3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
- │ ├── opening_loc: (37...40) = "%W["
- │ └── closing_loc: (53...54) = "]"
- ├── @ ArrayNode (location: (56...63))
+ │ ├── opening_loc: (16,0)-(16,3) = "%W["
+ │ └── closing_loc: (19,0)-(19,1) = "]"
+ ├── @ ArrayNode (location: (21,0)-(24,1))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (56...59) = "%i["
- │ └── closing_loc: (62...63) = "]"
- ├── @ ArrayNode (location: (65...82))
+ │ ├── opening_loc: (21,0)-(21,3) = "%i["
+ │ └── closing_loc: (24,0)-(24,1) = "]"
+ ├── @ ArrayNode (location: (26,0)-(29,1))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (69...74))
+ │ │ ├── @ SymbolNode (location: (27,0)-(27,5))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (69...74) = "line2"
+ │ │ │ ├── value_loc: (27,0)-(27,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
- │ │ └── @ SymbolNode (location: (75...80))
+ │ │ └── @ SymbolNode (location: (28,0)-(28,5))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (75...80) = "line3"
+ │ │ ├── value_loc: (28,0)-(28,5) = "line3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
- │ ├── opening_loc: (65...68) = "%i["
- │ └── closing_loc: (81...82) = "]"
- ├── @ RegularExpressionNode (location: (84...91))
- │ ├── opening_loc: (84...87) = "%r["
- │ ├── content_loc: (87...90) = "\n\n\n"
- │ ├── closing_loc: (90...91) = "]"
+ │ ├── opening_loc: (26,0)-(26,3) = "%i["
+ │ └── closing_loc: (29,0)-(29,1) = "]"
+ ├── @ RegularExpressionNode (location: (31,0)-(34,1))
+ │ ├── opening_loc: (31,0)-(31,3) = "%r["
+ │ ├── content_loc: (31,3)-(33,0) = "\n\n\n"
+ │ ├── closing_loc: (34,0)-(34,1) = "]"
│ ├── unescaped: "\n\n\n"
│ └── flags: ∅
- ├── @ ArrayNode (location: (93...100))
+ ├── @ ArrayNode (location: (36,0)-(39,1))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (93...96) = "%w["
- │ └── closing_loc: (99...100) = "]"
- ├── @ ArrayNode (location: (102...119))
+ │ ├── opening_loc: (36,0)-(36,3) = "%w["
+ │ └── closing_loc: (39,0)-(39,1) = "]"
+ ├── @ ArrayNode (location: (41,0)-(44,1))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (106...111))
+ │ │ ├── @ StringNode (location: (42,0)-(42,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (106...111) = "line2"
+ │ │ │ ├── content_loc: (42,0)-(42,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
- │ │ └── @ StringNode (location: (112...117))
+ │ │ └── @ StringNode (location: (43,0)-(43,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (112...117) = "line3"
+ │ │ ├── content_loc: (43,0)-(43,5) = "line3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
- │ ├── opening_loc: (102...105) = "%w["
- │ └── closing_loc: (118...119) = "]"
- ├── @ ArrayNode (location: (121...139))
+ │ ├── opening_loc: (41,0)-(41,3) = "%w["
+ │ └── closing_loc: (44,0)-(44,1) = "]"
+ ├── @ ArrayNode (location: (46,0)-(49,1))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (123...129))
- │ │ │ ├── opening_loc: (123...124) = ":"
- │ │ │ ├── value_loc: (124...129) = "line2"
+ │ │ ├── @ SymbolNode (location: (47,0)-(47,6))
+ │ │ │ ├── opening_loc: (47,0)-(47,1) = ":"
+ │ │ │ ├── value_loc: (47,1)-(47,6) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
- │ │ └── @ SymbolNode (location: (131...137))
- │ │ ├── opening_loc: (131...132) = ":"
- │ │ ├── value_loc: (132...137) = "line3"
+ │ │ └── @ SymbolNode (location: (48,0)-(48,6))
+ │ │ ├── opening_loc: (48,0)-(48,1) = ":"
+ │ │ ├── value_loc: (48,1)-(48,6) = "line3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
- │ ├── opening_loc: (121...122) = "["
- │ └── closing_loc: (138...139) = "]"
- ├── @ ClassNode (location: (141...269))
+ │ ├── opening_loc: (46,0)-(46,1) = "["
+ │ └── closing_loc: (49,0)-(49,1) = "]"
+ ├── @ ClassNode (location: (51,0)-(56,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (141...146) = "class"
+ │ ├── class_keyword_loc: (51,0)-(51,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (147...148))
+ │ │ @ ConstantReadNode (location: (51,6)-(51,7))
│ │ └── name: :X
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (168...246))
+ │ │ @ StatementsNode (location: (52,2)-(55,5))
│ │ └── body: (length: 1)
- │ │ └── @ DefNode (location: (168...246))
+ │ │ └── @ DefNode (location: (52,2)-(55,5))
│ │ ├── name: :y
- │ │ ├── name_loc: (177...178) = "y"
+ │ │ ├── name_loc: (52,11)-(52,12) = "y"
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (172...176))
+ │ │ │ @ SelfNode (location: (52,6)-(52,10))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (179...200))
+ │ │ │ @ ParametersNode (location: (52,13)-(53,9))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (179...180))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (52,13)-(52,14))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (199...200))
+ │ │ │ │ └── @ RequiredParameterNode (location: (53,8)-(53,9))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -129,20 +129,20 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (220...225))
+ │ │ │ @ StatementsNode (location: (54,4)-(54,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (220...225))
+ │ │ │ └── @ CallNode (location: (54,4)-(54,9))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (220...221))
+ │ │ │ │ @ LocalVariableReadNode (location: (54,4)-(54,5))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (222...223) = "+"
+ │ │ │ ├── message_loc: (54,6)-(54,7) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (224...225))
+ │ │ │ │ @ ArgumentsNode (location: (54,8)-(54,9))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (224...225))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
@@ -150,68 +150,68 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
│ │ ├── locals: [:a, :b]
- │ │ ├── def_keyword_loc: (168...171) = "def"
- │ │ ├── operator_loc: (176...177) = "."
- │ │ ├── lparen_loc: (178...179) = "("
- │ │ ├── rparen_loc: (200...201) = ")"
+ │ │ ├── def_keyword_loc: (52,2)-(52,5) = "def"
+ │ │ ├── operator_loc: (52,10)-(52,11) = "."
+ │ │ ├── lparen_loc: (52,12)-(52,13) = "("
+ │ │ ├── rparen_loc: (53,9)-(53,10) = ")"
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (243...246) = "end"
- │ ├── end_keyword_loc: (266...269) = "end"
+ │ │ └── end_keyword_loc: (55,2)-(55,5) = "end"
+ │ ├── end_keyword_loc: (56,0)-(56,3) = "end"
│ └── name: :X
- ├── @ ClassNode (location: (293...376))
+ ├── @ ClassNode (location: (59,0)-(63,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (293...298) = "class"
+ │ ├── class_keyword_loc: (59,0)-(59,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (299...300))
+ │ │ @ ConstantReadNode (location: (59,6)-(59,7))
│ │ └── name: :X
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (315...358))
+ │ │ @ StatementsNode (location: (60,2)-(62,5))
│ │ └── body: (length: 1)
- │ │ └── @ ClassNode (location: (315...358))
+ │ │ └── @ ClassNode (location: (60,2)-(62,5))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (315...320) = "class"
+ │ │ ├── class_keyword_loc: (60,2)-(60,7) = "class"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (321...322))
+ │ │ │ @ ConstantReadNode (location: (60,8)-(60,9))
│ │ │ └── name: :Y
│ │ ├── inheritance_operator_loc: ∅
│ │ ├── superclass: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (337...343))
+ │ │ │ @ StatementsNode (location: (61,4)-(61,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ConstantWriteNode (location: (337...343))
+ │ │ │ └── @ ConstantWriteNode (location: (61,4)-(61,10))
│ │ │ ├── name: :Z
- │ │ │ ├── name_loc: (337...338) = "Z"
+ │ │ │ ├── name_loc: (61,4)-(61,5) = "Z"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (341...343))
+ │ │ │ │ @ IntegerNode (location: (61,8)-(61,10))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (339...340) = "="
- │ │ ├── end_keyword_loc: (355...358) = "end"
+ │ │ │ └── operator_loc: (61,6)-(61,7) = "="
+ │ │ ├── end_keyword_loc: (62,2)-(62,5) = "end"
│ │ └── name: :Y
- │ ├── end_keyword_loc: (373...376) = "end"
+ │ ├── end_keyword_loc: (63,0)-(63,3) = "end"
│ └── name: :X
- ├── @ ClassNode (location: (395...498))
+ ├── @ ClassNode (location: (66,0)-(71,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (395...400) = "class"
+ │ ├── class_keyword_loc: (66,0)-(66,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (401...402))
+ │ │ @ ConstantReadNode (location: (66,6)-(66,7))
│ │ └── name: :X
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (417...480))
+ │ │ @ StatementsNode (location: (67,2)-(70,5))
│ │ └── body: (length: 1)
- │ │ └── @ DefNode (location: (417...480))
+ │ │ └── @ DefNode (location: (67,2)-(70,5))
│ │ ├── name: :y
- │ │ ├── name_loc: (421...422) = "y"
+ │ │ ├── name_loc: (67,6)-(67,7) = "y"
│ │ ├── receiver: ∅
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (423...444))
+ │ │ │ @ ParametersNode (location: (67,8)-(68,9))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (423...424))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (67,8)-(67,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (443...444))
+ │ │ │ │ └── @ RequiredParameterNode (location: (68,8)-(68,9))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -220,20 +220,20 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (459...464))
+ │ │ │ @ StatementsNode (location: (69,4)-(69,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (459...464))
+ │ │ │ └── @ CallNode (location: (69,4)-(69,9))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (459...460))
+ │ │ │ │ @ LocalVariableReadNode (location: (69,4)-(69,5))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (461...462) = "+"
+ │ │ │ ├── message_loc: (69,6)-(69,7) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (463...464))
+ │ │ │ │ @ ArgumentsNode (location: (69,8)-(69,9))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (463...464))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
@@ -241,92 +241,92 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
│ │ ├── locals: [:a, :b]
- │ │ ├── def_keyword_loc: (417...420) = "def"
+ │ │ ├── def_keyword_loc: (67,2)-(67,5) = "def"
│ │ ├── operator_loc: ∅
- │ │ ├── lparen_loc: (422...423) = "("
- │ │ ├── rparen_loc: (444...445) = ")"
+ │ │ ├── lparen_loc: (67,7)-(67,8) = "("
+ │ │ ├── rparen_loc: (68,9)-(68,10) = ")"
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (477...480) = "end"
- │ ├── end_keyword_loc: (495...498) = "end"
+ │ │ └── end_keyword_loc: (70,2)-(70,5) = "end"
+ │ ├── end_keyword_loc: (71,0)-(71,3) = "end"
│ └── name: :X
- ├── @ ModuleNode (location: (517...565))
+ ├── @ ModuleNode (location: (74,0)-(79,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (517...523) = "module"
+ │ ├── module_keyword_loc: (74,0)-(74,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (524...525))
+ │ │ @ ConstantReadNode (location: (74,7)-(74,8))
│ │ └── name: :X
│ ├── body:
- │ │ @ StatementsNode (location: (528...561))
+ │ │ @ StatementsNode (location: (75,2)-(78,3))
│ │ └── body: (length: 1)
- │ │ └── @ ConstantWriteNode (location: (528...561))
+ │ │ └── @ ConstantWriteNode (location: (75,2)-(78,3))
│ │ ├── name: :X
- │ │ ├── name_loc: (528...529) = "X"
+ │ │ ├── name_loc: (75,2)-(75,3) = "X"
│ │ ├── value:
- │ │ │ @ ArrayNode (location: (532...561))
+ │ │ │ @ ArrayNode (location: (75,6)-(78,3))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (538...544))
- │ │ │ │ │ ├── opening_loc: (538...539) = ":"
- │ │ │ │ │ ├── value_loc: (539...544) = "line3"
+ │ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10))
+ │ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
+ │ │ │ │ │ ├── value_loc: (76,5)-(76,10) = "line3"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "line3"
- │ │ │ │ └── @ SymbolNode (location: (550...556))
- │ │ │ │ ├── opening_loc: (550...551) = ":"
- │ │ │ │ ├── value_loc: (551...556) = "line4"
+ │ │ │ │ └── @ SymbolNode (location: (77,4)-(77,10))
+ │ │ │ │ ├── opening_loc: (77,4)-(77,5) = ":"
+ │ │ │ │ ├── value_loc: (77,5)-(77,10) = "line4"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "line4"
- │ │ │ ├── opening_loc: (532...533) = "["
- │ │ │ └── closing_loc: (560...561) = "]"
- │ │ └── operator_loc: (530...531) = "="
- │ ├── end_keyword_loc: (562...565) = "end"
+ │ │ │ ├── opening_loc: (75,6)-(75,7) = "["
+ │ │ │ └── closing_loc: (78,2)-(78,3) = "]"
+ │ │ └── operator_loc: (75,4)-(75,5) = "="
+ │ ├── end_keyword_loc: (79,0)-(79,3) = "end"
│ └── name: :X
- ├── @ ModuleNode (location: (568...651))
+ ├── @ ModuleNode (location: (82,0)-(86,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (568...574) = "module"
+ │ ├── module_keyword_loc: (82,0)-(82,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (575...576))
+ │ │ @ ConstantReadNode (location: (82,7)-(82,8))
│ │ └── name: :X
│ ├── body:
- │ │ @ StatementsNode (location: (590...633))
+ │ │ @ StatementsNode (location: (83,2)-(85,5))
│ │ └── body: (length: 1)
- │ │ └── @ ModuleNode (location: (590...633))
+ │ │ └── @ ModuleNode (location: (83,2)-(85,5))
│ │ ├── locals: []
- │ │ ├── module_keyword_loc: (590...596) = "module"
+ │ │ ├── module_keyword_loc: (83,2)-(83,8) = "module"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (597...598))
+ │ │ │ @ ConstantReadNode (location: (83,9)-(83,10))
│ │ │ └── name: :Y
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (612...618))
+ │ │ │ @ StatementsNode (location: (84,4)-(84,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ConstantWriteNode (location: (612...618))
+ │ │ │ └── @ ConstantWriteNode (location: (84,4)-(84,10))
│ │ │ ├── name: :Z
- │ │ │ ├── name_loc: (612...613) = "Z"
+ │ │ │ ├── name_loc: (84,4)-(84,5) = "Z"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (616...618))
+ │ │ │ │ @ IntegerNode (location: (84,8)-(84,10))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (614...615) = "="
- │ │ ├── end_keyword_loc: (630...633) = "end"
+ │ │ │ └── operator_loc: (84,6)-(84,7) = "="
+ │ │ ├── end_keyword_loc: (85,2)-(85,5) = "end"
│ │ └── name: :Y
- │ ├── end_keyword_loc: (648...651) = "end"
+ │ ├── end_keyword_loc: (86,0)-(86,3) = "end"
│ └── name: :X
- └── @ CallNode (location: (670...689))
+ └── @ CallNode (location: (89,0)-(92,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (670...671) = "x"
- ├── opening_loc: (671...672) = "("
+ ├── message_loc: (89,0)-(89,1) = "x"
+ ├── opening_loc: (89,1)-(89,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (673...687))
+ │ @ ArgumentsNode (location: (90,0)-(91,6))
│ └── arguments: (length: 2)
- │ ├── @ SymbolNode (location: (673...679))
- │ │ ├── opening_loc: (673...674) = ":"
- │ │ ├── value_loc: (674...679) = "line2"
+ │ ├── @ 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: (681...687))
- │ ├── opening_loc: (681...682) = ":"
- │ ├── value_loc: (682...687) = "line3"
+ │ └── @ 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: (688...689) = ")"
+ ├── closing_loc: (92,0)-(92,1) = ")"
├── block: ∅
├── flags: ∅
└── name: "x"
diff --git a/test/yarp/snapshots/seattlerb/__ENCODING__.txt b/test/yarp/snapshots/seattlerb/__ENCODING__.txt
index aa300aa827..1b223bd8fe 100644
--- a/test/yarp/snapshots/seattlerb/__ENCODING__.txt
+++ b/test/yarp/snapshots/seattlerb/__ENCODING__.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ SourceEncodingNode (location: (0...12))
+ └── @ SourceEncodingNode (location: (1,0)-(1,12))
diff --git a/test/yarp/snapshots/seattlerb/alias_gvar_backref.txt b/test/yarp/snapshots/seattlerb/alias_gvar_backref.txt
index 83406fe8d1..4ba0469132 100644
--- a/test/yarp/snapshots/seattlerb/alias_gvar_backref.txt
+++ b/test/yarp/snapshots/seattlerb/alias_gvar_backref.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ AliasGlobalVariableNode (location: (0...15))
+ └── @ AliasGlobalVariableNode (location: (1,0)-(1,15))
├── new_name:
- │ @ GlobalVariableReadNode (location: (6...12))
+ │ @ GlobalVariableReadNode (location: (1,6)-(1,12))
│ └── name: :$MATCH
├── old_name:
- │ @ BackReferenceReadNode (location: (13...15))
- └── keyword_loc: (0...5) = "alias"
+ │ @ BackReferenceReadNode (location: (1,13)-(1,15))
+ └── keyword_loc: (1,0)-(1,5) = "alias"
diff --git a/test/yarp/snapshots/seattlerb/alias_resword.txt b/test/yarp/snapshots/seattlerb/alias_resword.txt
index 418af5d9b7..089819b528 100644
--- a/test/yarp/snapshots/seattlerb/alias_resword.txt
+++ b/test/yarp/snapshots/seattlerb/alias_resword.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ AliasMethodNode (location: (0...12))
+ └── @ AliasMethodNode (location: (1,0)-(1,12))
├── new_name:
- │ @ SymbolNode (location: (6...8))
+ │ @ SymbolNode (location: (1,6)-(1,8))
│ ├── opening_loc: ∅
- │ ├── value_loc: (6...8) = "in"
+ │ ├── value_loc: (1,6)-(1,8) = "in"
│ ├── closing_loc: ∅
│ └── unescaped: "in"
├── old_name:
- │ @ SymbolNode (location: (9...12))
+ │ @ SymbolNode (location: (1,9)-(1,12))
│ ├── opening_loc: ∅
- │ ├── value_loc: (9...12) = "out"
+ │ ├── value_loc: (1,9)-(1,12) = "out"
│ ├── closing_loc: ∅
│ └── unescaped: "out"
- └── keyword_loc: (0...5) = "alias"
+ └── keyword_loc: (1,0)-(1,5) = "alias"
diff --git a/test/yarp/snapshots/seattlerb/and_multi.txt b/test/yarp/snapshots/seattlerb/and_multi.txt
index 200e749c4a..575f75fe30 100644
--- a/test/yarp/snapshots/seattlerb/and_multi.txt
+++ b/test/yarp/snapshots/seattlerb/and_multi.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 1)
- └── @ AndNode (location: (0...27))
+ └── @ AndNode (location: (1,0)-(3,4))
├── left:
- │ @ AndNode (location: (0...18))
+ │ @ AndNode (location: (1,0)-(2,9))
│ ├── left:
- │ │ @ TrueNode (location: (0...4))
+ │ │ @ TrueNode (location: (1,0)-(1,4))
│ ├── right:
- │ │ @ CallNode (location: (9...18))
+ │ │ @ CallNode (location: (2,0)-(2,9))
│ │ ├── receiver:
- │ │ │ @ FalseNode (location: (13...18))
+ │ │ │ @ FalseNode (location: (2,4)-(2,9))
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "not"
+ │ │ ├── message_loc: (2,0)-(2,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "!"
- │ └── operator_loc: (5...8) = "and"
+ │ └── operator_loc: (1,5)-(1,8) = "and"
├── right:
- │ @ TrueNode (location: (23...27))
- └── operator_loc: (19...22) = "and"
+ │ @ TrueNode (location: (3,0)-(3,4))
+ └── operator_loc: (2,10)-(2,13) = "and"
diff --git a/test/yarp/snapshots/seattlerb/aref_args_assocs.txt b/test/yarp/snapshots/seattlerb/aref_args_assocs.txt
index 119479f60c..02bfd74b50 100644
--- a/test/yarp/snapshots/seattlerb/aref_args_assocs.txt
+++ b/test/yarp/snapshots/seattlerb/aref_args_assocs.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...8))
+ └── @ ArrayNode (location: (1,0)-(1,8))
├── elements: (length: 1)
- │ └── @ KeywordHashNode (location: (1...7))
+ │ └── @ KeywordHashNode (location: (1,1)-(1,7))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (1...7))
+ │ └── @ AssocNode (location: (1,1)-(1,7))
│ ├── key:
- │ │ @ IntegerNode (location: (1...2))
+ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (6...7))
+ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ └── flags: decimal
- │ └── operator_loc: (3...5) = "=>"
- ├── opening_loc: (0...1) = "["
- └── closing_loc: (7...8) = "]"
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
+ ├── opening_loc: (1,0)-(1,1) = "["
+ └── closing_loc: (1,7)-(1,8) = "]"
diff --git a/test/yarp/snapshots/seattlerb/aref_args_lit_assocs.txt b/test/yarp/snapshots/seattlerb/aref_args_lit_assocs.txt
index d720213758..bbe45dfc0e 100644
--- a/test/yarp/snapshots/seattlerb/aref_args_lit_assocs.txt
+++ b/test/yarp/snapshots/seattlerb/aref_args_lit_assocs.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...11))
+ └── @ ArrayNode (location: (1,0)-(1,11))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (1...2))
+ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (4...10))
+ │ └── @ KeywordHashNode (location: (1,4)-(1,10))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (4...10))
+ │ └── @ AssocNode (location: (1,4)-(1,10))
│ ├── key:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
- │ └── operator_loc: (6...8) = "=>"
- ├── opening_loc: (0...1) = "["
- └── closing_loc: (10...11) = "]"
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
+ ├── opening_loc: (1,0)-(1,1) = "["
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/yarp/snapshots/seattlerb/args_kw_block.txt b/test/yarp/snapshots/seattlerb/args_kw_block.txt
index 5485f6fc09..3cbd2c1705 100644
--- a/test/yarp/snapshots/seattlerb/args_kw_block.txt
+++ b/test/yarp/snapshots/seattlerb/args_kw_block.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ DefNode (location: (0...20))
+ └── @ DefNode (location: (1,0)-(1,20))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...14))
+ │ @ ParametersNode (location: (1,6)-(1,14))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :a
- │ │ ├── name_loc: (6...8) = "a:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "a:"
│ │ └── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (12...14))
+ │ @ BlockParameterNode (location: (1,12)-(1,14))
│ ├── name: :b
- │ ├── name_loc: (13...14) = "b"
- │ └── operator_loc: (12...13) = "&"
+ │ ├── name_loc: (1,13)-(1,14) = "b"
+ │ └── operator_loc: (1,12)-(1,13) = "&"
├── body: ∅
├── locals: [:a, :b]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (14...15) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,14)-(1,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (17...20) = "end"
+ └── end_keyword_loc: (1,17)-(1,20) = "end"
diff --git a/test/yarp/snapshots/seattlerb/array_line_breaks.txt b/test/yarp/snapshots/seattlerb/array_line_breaks.txt
index 746936f09d..b6ebac1688 100644
--- a/test/yarp/snapshots/seattlerb/array_line_breaks.txt
+++ b/test/yarp/snapshots/seattlerb/array_line_breaks.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(4,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(4,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...11))
+ ├── @ ArrayNode (location: (1,0)-(3,4))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (2...5))
+ │ │ ├── @ StringNode (location: (2,0)-(2,3))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (2...3) = "'"
- │ │ │ ├── content_loc: (3...4) = "a"
- │ │ │ ├── closing_loc: (4...5) = "'"
+ │ │ │ ├── opening_loc: (2,0)-(2,1) = "'"
+ │ │ │ ├── content_loc: (2,1)-(2,2) = "a"
+ │ │ │ ├── closing_loc: (2,2)-(2,3) = "'"
│ │ │ └── unescaped: "a"
- │ │ └── @ StringNode (location: (7...10))
+ │ │ └── @ StringNode (location: (3,0)-(3,3))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (7...8) = "'"
- │ │ ├── content_loc: (8...9) = "b"
- │ │ ├── closing_loc: (9...10) = "'"
+ │ │ ├── opening_loc: (3,0)-(3,1) = "'"
+ │ │ ├── content_loc: (3,1)-(3,2) = "b"
+ │ │ ├── closing_loc: (3,2)-(3,3) = "'"
│ │ └── unescaped: "b"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (10...11) = "]"
- └── @ IntegerNode (location: (12...13))
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (3,3)-(3,4) = "]"
+ └── @ IntegerNode (location: (4,0)-(4,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/array_lits_trailing_calls.txt b/test/yarp/snapshots/seattlerb/array_lits_trailing_calls.txt
index 9ecb2c7622..ef31ed8bbc 100644
--- a/test/yarp/snapshots/seattlerb/array_lits_trailing_calls.txt
+++ b/test/yarp/snapshots/seattlerb/array_lits_trailing_calls.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ CallNode (location: (0...6))
+ ├── @ CallNode (location: (1,0)-(1,6))
│ ├── receiver:
- │ │ @ ArrayNode (location: (0...4))
+ │ │ @ ArrayNode (location: (1,0)-(1,4))
│ │ ├── elements: (length: 0)
- │ │ ├── opening_loc: (0...3) = "%w["
- │ │ └── closing_loc: (3...4) = "]"
- │ ├── call_operator_loc: (4...5) = "."
- │ ├── message_loc: (5...6) = "b"
+ │ │ ├── opening_loc: (1,0)-(1,3) = "%w["
+ │ │ └── closing_loc: (1,3)-(1,4) = "]"
+ │ ├── call_operator_loc: (1,4)-(1,5) = "."
+ │ ├── message_loc: (1,5)-(1,6) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- └── @ CallNode (location: (8...12))
+ └── @ CallNode (location: (3,0)-(3,4))
├── receiver:
- │ @ ArrayNode (location: (8...10))
+ │ @ ArrayNode (location: (3,0)-(3,2))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (8...9) = "["
- │ └── closing_loc: (9...10) = "]"
- ├── call_operator_loc: (10...11) = "."
- ├── message_loc: (11...12) = "b"
+ │ ├── opening_loc: (3,0)-(3,1) = "["
+ │ └── closing_loc: (3,1)-(3,2) = "]"
+ ├── call_operator_loc: (3,2)-(3,3) = "."
+ ├── message_loc: (3,3)-(3,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/assoc__bare.txt b/test/yarp/snapshots/seattlerb/assoc__bare.txt
index fa86e4fa2a..1de54f236d 100644
--- a/test/yarp/snapshots/seattlerb/assoc__bare.txt
+++ b/test/yarp/snapshots/seattlerb/assoc__bare.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ HashNode (location: (0...6))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,6))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (2...4))
+ │ └── @ AssocNode (location: (1,2)-(1,4))
│ ├── key:
- │ │ @ SymbolNode (location: (2...4))
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (2...3) = "y"
- │ │ ├── closing_loc: (3...4) = ":"
+ │ │ ├── value_loc: (1,2)-(1,3) = "y"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
│ │ └── unescaped: "y"
│ ├── value:
- │ │ @ ImplicitNode (location: (2...4))
+ │ │ @ ImplicitNode (location: (1,2)-(1,4))
│ │ └── value:
- │ │ @ CallNode (location: (2...4))
+ │ │ @ CallNode (location: (1,2)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "y"
+ │ │ ├── message_loc: (1,2)-(1,3) = "y"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -27,4 +27,4 @@
│ │ ├── flags: ∅
│ │ └── name: "y"
│ └── operator_loc: ∅
- └── closing_loc: (5...6) = "}"
+ └── closing_loc: (1,5)-(1,6) = "}"
diff --git a/test/yarp/snapshots/seattlerb/assoc_label.txt b/test/yarp/snapshots/seattlerb/assoc_label.txt
index 85bb4840b0..2e20f9fc29 100644
--- a/test/yarp/snapshots/seattlerb/assoc_label.txt
+++ b/test/yarp/snapshots/seattlerb/assoc_label.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...5))
+ │ @ ArgumentsNode (location: (1,2)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...5))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...5))
+ │ └── @ AssocNode (location: (1,2)-(1,5))
│ ├── key:
- │ │ @ SymbolNode (location: (2...4))
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (2...3) = "b"
- │ │ ├── closing_loc: (3...4) = ":"
+ │ │ ├── value_loc: (1,2)-(1,3) = "b"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
│ │ └── unescaped: "b"
│ ├── value:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ └── operator_loc: ∅
- ├── closing_loc: (5...6) = ")"
+ ├── closing_loc: (1,5)-(1,6) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/attr_asgn_colon_id.txt b/test/yarp/snapshots/seattlerb/attr_asgn_colon_id.txt
index 9d591b8988..5232738267 100644
--- a/test/yarp/snapshots/seattlerb/attr_asgn_colon_id.txt
+++ b/test/yarp/snapshots/seattlerb/attr_asgn_colon_id.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver:
- │ @ ConstantReadNode (location: (0...1))
+ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
- ├── call_operator_loc: (1...3) = "::"
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (7...8))
+ │ @ ArgumentsNode (location: (1,7)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/attrasgn_array_arg.txt b/test/yarp/snapshots/seattlerb/attrasgn_array_arg.txt
index eb609fb3e2..5d30d718c9 100644
--- a/test/yarp/snapshots/seattlerb/attrasgn_array_arg.txt
+++ b/test/yarp/snapshots/seattlerb/attrasgn_array_arg.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (1...9) = "[[1, 2]]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,9) = "[[1, 2]]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (2...13))
+ │ @ ArgumentsNode (location: (1,2)-(1,13))
│ └── arguments: (length: 2)
- │ ├── @ ArrayNode (location: (2...8))
+ │ ├── @ ArrayNode (location: (1,2)-(1,8))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (3...4))
+ │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (6...7))
+ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (2...3) = "["
- │ │ └── closing_loc: (7...8) = "]"
- │ └── @ IntegerNode (location: (12...13))
+ │ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ │ └── closing_loc: (1,7)-(1,8) = "]"
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/seattlerb/attrasgn_array_lhs.txt b/test/yarp/snapshots/seattlerb/attrasgn_array_lhs.txt
index b5051c92ff..741e1cba09 100644
--- a/test/yarp/snapshots/seattlerb/attrasgn_array_lhs.txt
+++ b/test/yarp/snapshots/seattlerb/attrasgn_array_lhs.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(1,42))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
- └── @ CallNode (location: (0...42))
+ └── @ CallNode (location: (1,0)-(1,42))
├── receiver:
- │ @ ArrayNode (location: (0...12))
+ │ @ ArrayNode (location: (1,0)-(1,12))
│ ├── elements: (length: 4)
- │ │ ├── @ IntegerNode (location: (1...2))
+ │ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (4...5))
+ │ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (7...8))
+ │ │ ├── @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (10...11))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (11...12) = "]"
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (1,11)-(1,12) = "]"
├── call_operator_loc: ∅
- ├── message_loc: (12...24) = "[from .. to]"
- ├── opening_loc: (12...13) = "["
+ ├── message_loc: (1,12)-(1,24) = "[from .. to]"
+ ├── opening_loc: (1,12)-(1,13) = "["
├── arguments:
- │ @ ArgumentsNode (location: (13...42))
+ │ @ ArgumentsNode (location: (1,13)-(1,42))
│ └── arguments: (length: 2)
- │ ├── @ RangeNode (location: (13...23))
+ │ ├── @ RangeNode (location: (1,13)-(1,23))
│ │ ├── left:
- │ │ │ @ CallNode (location: (13...17))
+ │ │ │ @ CallNode (location: (1,13)-(1,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...17) = "from"
+ │ │ │ ├── message_loc: (1,13)-(1,17) = "from"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -36,41 +36,41 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "from"
│ │ ├── right:
- │ │ │ @ CallNode (location: (21...23))
+ │ │ │ @ CallNode (location: (1,21)-(1,23))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (21...23) = "to"
+ │ │ │ ├── message_loc: (1,21)-(1,23) = "to"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "to"
- │ │ ├── operator_loc: (18...20) = ".."
+ │ │ ├── operator_loc: (1,18)-(1,20) = ".."
│ │ └── flags: ∅
- │ └── @ ArrayNode (location: (27...42))
+ │ └── @ ArrayNode (location: (1,27)-(1,42))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (28...31))
+ │ │ ├── @ StringNode (location: (1,28)-(1,31))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (28...29) = "\""
- │ │ │ ├── content_loc: (29...30) = "a"
- │ │ │ ├── closing_loc: (30...31) = "\""
+ │ │ │ ├── opening_loc: (1,28)-(1,29) = "\""
+ │ │ │ ├── content_loc: (1,29)-(1,30) = "a"
+ │ │ │ ├── closing_loc: (1,30)-(1,31) = "\""
│ │ │ └── unescaped: "a"
- │ │ ├── @ StringNode (location: (33...36))
+ │ │ ├── @ StringNode (location: (1,33)-(1,36))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (33...34) = "\""
- │ │ │ ├── content_loc: (34...35) = "b"
- │ │ │ ├── closing_loc: (35...36) = "\""
+ │ │ │ ├── opening_loc: (1,33)-(1,34) = "\""
+ │ │ │ ├── content_loc: (1,34)-(1,35) = "b"
+ │ │ │ ├── closing_loc: (1,35)-(1,36) = "\""
│ │ │ └── unescaped: "b"
- │ │ └── @ StringNode (location: (38...41))
+ │ │ └── @ StringNode (location: (1,38)-(1,41))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (38...39) = "\""
- │ │ ├── content_loc: (39...40) = "c"
- │ │ ├── closing_loc: (40...41) = "\""
+ │ │ ├── opening_loc: (1,38)-(1,39) = "\""
+ │ │ ├── content_loc: (1,39)-(1,40) = "c"
+ │ │ ├── closing_loc: (1,40)-(1,41) = "\""
│ │ └── unescaped: "c"
- │ ├── opening_loc: (27...28) = "["
- │ └── closing_loc: (41...42) = "]"
- ├── closing_loc: (23...24) = "]"
+ │ ├── opening_loc: (1,27)-(1,28) = "["
+ │ └── closing_loc: (1,41)-(1,42) = "]"
+ ├── closing_loc: (1,23)-(1,24) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/seattlerb/attrasgn_primary_dot_constant.txt b/test/yarp/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
index f8e2c7a112..73b65fc636 100644
--- a/test/yarp/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
+++ b/test/yarp/snapshots/seattlerb/attrasgn_primary_dot_constant.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "B"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "B"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...7))
+ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (6...7))
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/backticks_interpolation_line.txt b/test/yarp/snapshots/seattlerb/backticks_interpolation_line.txt
index 772ef6e888..d56a532bc4 100644
--- a/test/yarp/snapshots/seattlerb/backticks_interpolation_line.txt
+++ b/test/yarp/snapshots/seattlerb/backticks_interpolation_line.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "x"
+ ├── message_loc: (1,0)-(1,1) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...8))
+ │ @ ArgumentsNode (location: (1,2)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedXStringNode (location: (2...8))
- │ ├── opening_loc: (2...3) = "`"
+ │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8))
+ │ ├── opening_loc: (1,2)-(1,3) = "`"
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (3...7))
- │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5...6))
+ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (5...6) = "y"
+ │ │ │ ├── message_loc: (1,5)-(1,6) = "y"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "y"
- │ │ └── closing_loc: (6...7) = "}"
- │ └── closing_loc: (7...8) = "`"
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ └── closing_loc: (1,7)-(1,8) = "`"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/bang_eq.txt b/test/yarp/snapshots/seattlerb/bang_eq.txt
index 681be2f514..b2fc7b7bb7 100644
--- a/test/yarp/snapshots/seattlerb/bang_eq.txt
+++ b/test/yarp/snapshots/seattlerb/bang_eq.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = "!="
+ ├── message_loc: (1,2)-(1,4) = "!="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/bdot2.txt b/test/yarp/snapshots/seattlerb/bdot2.txt
index a87ecbe8ca..2fc74e52a7 100644
--- a/test/yarp/snapshots/seattlerb/bdot2.txt
+++ b/test/yarp/snapshots/seattlerb/bdot2.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...4))
+ ├── @ RangeNode (location: (1,0)-(1,4))
│ ├── left: ∅
│ ├── right:
- │ │ @ IntegerNode (location: (2...4))
+ │ │ @ IntegerNode (location: (1,2)-(1,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (0...2) = ".."
+ │ ├── operator_loc: (1,0)-(1,2) = ".."
│ └── flags: ∅
- ├── @ RangeNode (location: (7...10))
+ ├── @ RangeNode (location: (2,2)-(2,5))
│ ├── left: ∅
│ ├── right:
- │ │ @ CallNode (location: (9...10))
+ │ │ @ CallNode (location: (2,4)-(2,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "a"
+ │ │ ├── message_loc: (2,4)-(2,5) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── operator_loc: (7...9) = ".."
+ │ ├── operator_loc: (2,2)-(2,4) = ".."
│ └── flags: ∅
- └── @ CallNode (location: (13...14))
+ └── @ CallNode (location: (3,2)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (13...14) = "c"
+ ├── message_loc: (3,2)-(3,3) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/bdot3.txt b/test/yarp/snapshots/seattlerb/bdot3.txt
index 6c6bc6b916..f282688f85 100644
--- a/test/yarp/snapshots/seattlerb/bdot3.txt
+++ b/test/yarp/snapshots/seattlerb/bdot3.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...5))
+ ├── @ RangeNode (location: (1,0)-(1,5))
│ ├── left: ∅
│ ├── right:
- │ │ @ IntegerNode (location: (3...5))
+ │ │ @ IntegerNode (location: (1,3)-(1,5))
│ │ └── flags: decimal
- │ ├── operator_loc: (0...3) = "..."
+ │ ├── operator_loc: (1,0)-(1,3) = "..."
│ └── flags: exclude_end
- ├── @ RangeNode (location: (8...12))
+ ├── @ RangeNode (location: (2,2)-(2,6))
│ ├── left: ∅
│ ├── right:
- │ │ @ CallNode (location: (11...12))
+ │ │ @ CallNode (location: (2,5)-(2,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "a"
+ │ │ ├── message_loc: (2,5)-(2,6) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── operator_loc: (8...11) = "..."
+ │ ├── operator_loc: (2,2)-(2,5) = "..."
│ └── flags: exclude_end
- └── @ CallNode (location: (15...16))
+ └── @ CallNode (location: (3,2)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (15...16) = "c"
+ ├── message_loc: (3,2)-(3,3) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/begin_ensure_no_bodies.txt b/test/yarp/snapshots/seattlerb/begin_ensure_no_bodies.txt
index 8a01f305dd..e1698d0bae 100644
--- a/test/yarp/snapshots/seattlerb/begin_ensure_no_bodies.txt
+++ b/test/yarp/snapshots/seattlerb/begin_ensure_no_bodies.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...16))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(3,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (6...16))
- │ ├── ensure_keyword_loc: (6...12) = "ensure"
+ │ @ EnsureNode (location: (2,0)-(3,3))
+ │ ├── ensure_keyword_loc: (2,0)-(2,6) = "ensure"
│ ├── statements: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- └── end_keyword_loc: (13...16) = "end"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt b/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt
index 634adfd4ca..686fa100f1 100644
--- a/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt
+++ b/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt
@@ -1,43 +1,43 @@
-@ ProgramNode (location: (0...44))
+@ ProgramNode (location: (1,0)-(9,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...44))
+ @ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...44))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(9,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (8...9))
+ │ @ StatementsNode (location: (2,2)-(2,3))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (8...9))
+ │ └── @ IntegerNode (location: (2,2)-(2,3))
│ └── flags: decimal
├── rescue_clause:
- │ @ RescueNode (location: (10...20))
- │ ├── keyword_loc: (10...16) = "rescue"
+ │ @ RescueNode (location: (3,0)-(4,3))
+ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (19...20))
+ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (19...20))
+ │ │ └── @ IntegerNode (location: (4,2)-(4,3))
│ │ └── flags: decimal
│ └── consequent: ∅
├── else_clause:
- │ @ ElseNode (location: (21...36))
- │ ├── else_keyword_loc: (21...25) = "else"
+ │ @ ElseNode (location: (5,0)-(7,6))
+ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (28...29))
+ │ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (28...29))
+ │ │ └── @ IntegerNode (location: (6,2)-(6,3))
│ │ └── flags: decimal
- │ └── end_keyword_loc: (30...36) = "ensure"
+ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
├── ensure_clause:
- │ @ EnsureNode (location: (30...44))
- │ ├── ensure_keyword_loc: (30...36) = "ensure"
+ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
│ ├── statements:
- │ │ @ StatementsNode (location: (39...40))
+ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (39...40))
+ │ │ └── @ IntegerNode (location: (8,2)-(8,3))
│ │ └── flags: decimal
- │ └── end_keyword_loc: (41...44) = "end"
- └── end_keyword_loc: (41...44) = "end"
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ └── end_keyword_loc: (9,0)-(9,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt b/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt
index a5112e34fa..02e1f097ac 100644
--- a/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt
+++ b/test/yarp/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(9,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...32))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(9,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements: ∅
├── rescue_clause:
- │ @ RescueNode (location: (7...13))
- │ ├── keyword_loc: (7...13) = "rescue"
+ │ @ RescueNode (location: (3,0)-(3,6))
+ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements: ∅
│ └── consequent: ∅
├── else_clause:
- │ @ ElseNode (location: (15...27))
- │ ├── else_keyword_loc: (15...19) = "else"
+ │ @ ElseNode (location: (5,0)-(7,6))
+ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
│ ├── statements: ∅
- │ └── end_keyword_loc: (21...27) = "ensure"
+ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
├── ensure_clause:
- │ @ EnsureNode (location: (21...32))
- │ ├── ensure_keyword_loc: (21...27) = "ensure"
+ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
│ ├── statements: ∅
- │ └── end_keyword_loc: (29...32) = "end"
- └── end_keyword_loc: (29...32) = "end"
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ └── end_keyword_loc: (9,0)-(9,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt b/test/yarp/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt
index 4661ead290..b36fe5c1fe 100644
--- a/test/yarp/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt
+++ b/test/yarp/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...23))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(4,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements: ∅
├── rescue_clause:
- │ @ RescueNode (location: (6...12))
- │ ├── keyword_loc: (6...12) = "rescue"
+ │ @ RescueNode (location: (2,0)-(2,6))
+ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
@@ -16,8 +16,8 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (13...23))
- │ ├── ensure_keyword_loc: (13...19) = "ensure"
+ │ @ EnsureNode (location: (3,0)-(4,3))
+ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
│ ├── statements: ∅
- │ └── end_keyword_loc: (20...23) = "end"
- └── end_keyword_loc: (20...23) = "end"
+ │ └── end_keyword_loc: (4,0)-(4,3) = "end"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/block_arg__bare.txt b/test/yarp/snapshots/seattlerb/block_arg__bare.txt
index 7060880e15..fb9b0bdd0d 100644
--- a/test/yarp/snapshots/seattlerb/block_arg__bare.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg__bare.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ DefNode (location: (0...13))
+ └── @ DefNode (location: (1,0)-(1,13))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...7))
+ │ @ ParametersNode (location: (1,6)-(1,7))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -16,15 +16,15 @@
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (6...7))
+ │ @ BlockParameterNode (location: (1,6)-(1,7))
│ ├── name: nil
│ ├── name_loc: ∅
- │ └── operator_loc: (6...7) = "&"
+ │ └── operator_loc: (1,6)-(1,7) = "&"
├── body: ∅
├── locals: [:&]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (7...8) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,7)-(1,8) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (10...13) = "end"
+ └── end_keyword_loc: (1,10)-(1,13) = "end"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_kwsplat.txt b/test/yarp/snapshots/seattlerb/block_arg_kwsplat.txt
index d5cd44f8d0..c3041819bf 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_kwsplat.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...11))
+ │ @ BlockNode (location: (1,2)-(1,11))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...9))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,9))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...8))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,8))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (5...8))
+ │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (7...8) = "b"
- │ │ │ │ └── operator_loc: (5...7) = "**"
+ │ │ │ │ ├── name_loc: (1,7)-(1,8) = "b"
+ │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (8...9) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,8)-(1,9) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (10...11) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_opt_arg_block.txt b/test/yarp/snapshots/seattlerb/block_arg_opt_arg_block.txt
index 93714b7021..d1382f9a53 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_opt_arg_block.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_opt_arg_block.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ CallNode (location: (0...21))
+ └── @ CallNode (location: (1,0)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...21))
+ │ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:b, :c, :d, :e]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...19))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...18))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (8...9) = "c"
- │ │ │ │ ├── operator_loc: (9...10) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (10...11))
+ │ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (16...18))
+ │ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
│ │ │ ├── name: :e
- │ │ │ ├── name_loc: (17...18) = "e"
- │ │ │ └── operator_loc: (16...17) = "&"
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "e"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (18...19) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (20...21) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,20)-(1,21) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_opt_splat.txt b/test/yarp/snapshots/seattlerb/block_arg_opt_splat.txt
index 4315793457..1119f827dd 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_opt_splat.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_opt_splat.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...20))
+ │ @ BlockNode (location: (1,2)-(1,20))
│ ├── locals: [:b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...18))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,18))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...17))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,17))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...13))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (8...9) = "c"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (15...17))
+ │ │ │ │ @ RestParameterNode (location: (1,15)-(1,17))
│ │ │ │ ├── name: :d
- │ │ │ │ ├── name_loc: (16...17) = "d"
- │ │ │ │ └── operator_loc: (15...16) = "*"
+ │ │ │ │ ├── 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: (4...5) = "|"
- │ │ └── closing_loc: (17...18) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,17)-(1,18) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (19...20) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,19)-(1,20) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt b/test/yarp/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
index 7b5ca07e04..5bb2de2a16 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(1,25))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...25))
+ │ @ BlockNode (location: (1,2)-(1,25))
│ ├── locals: [:b, :c, :d, :e, :f]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...23))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...22))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (8...9) = "c"
- │ │ │ │ ├── operator_loc: (9...10) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (10...11))
+ │ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (13...15))
+ │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :d
- │ │ │ │ ├── name_loc: (14...15) = "d"
- │ │ │ │ └── operator_loc: (13...14) = "*"
+ │ │ │ │ ├── name_loc: (1,14)-(1,15) = "d"
+ │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (17...18))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ │ │ └── name: :e
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (20...22))
+ │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
│ │ │ ├── name: :f
- │ │ │ ├── name_loc: (21...22) = "f"
- │ │ │ └── operator_loc: (20...21) = "&"
+ │ │ │ ├── name_loc: (1,21)-(1,22) = "f"
+ │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (22...23) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (24...25) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,24)-(1,25) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_optional.txt b/test/yarp/snapshots/seattlerb/block_arg_optional.txt
index c8ba4b69ee..8b29ce6e9f 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_optional.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_optional.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...13))
+ │ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...11))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...10))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...10))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...6) = "b"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -32,10 +32,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_scope.txt b/test/yarp/snapshots/seattlerb/block_arg_scope.txt
index 2e4387375c..e70f2f4ce7 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_scope.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_scope.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...12))
+ │ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...10))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...6))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,6))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -27,12 +27,12 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (8...9))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9))
│ │ │ └── name: :c
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (9...10) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (11...12) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,11)-(1,12) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_scope2.txt b/test/yarp/snapshots/seattlerb/block_arg_scope2.txt
index af3b33f582..99af39a109 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_scope2.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_scope2.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (3...12))
+ │ │ @ BlockParametersNode (location: (1,3)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (4...5))
+ │ │ │ @ ParametersNode (location: (1,4)-(1,5))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (4...5))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -27,14 +27,14 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 2)
- │ │ │ ├── @ BlockLocalVariableNode (location: (7...8))
+ │ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
│ │ │ │ └── name: :c
- │ │ │ └── @ BlockLocalVariableNode (location: (10...11))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11))
│ │ │ └── name: :d
- │ │ ├── opening_loc: (3...4) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,3)-(1,4) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_arg_splat_arg.txt b/test/yarp/snapshots/seattlerb/block_arg_splat_arg.txt
index 0081063b4d..a3a194f30b 100644
--- a/test/yarp/snapshots/seattlerb/block_arg_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/block_arg_splat_arg.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...16))
+ │ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...14))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...13))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (8...10))
+ │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (9...10) = "c"
- │ │ │ │ └── operator_loc: (8...9) = "*"
+ │ │ │ │ ├── name_loc: (1,9)-(1,10) = "c"
+ │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (15...16) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,15)-(1,16) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_args_kwargs.txt b/test/yarp/snapshots/seattlerb/block_args_kwargs.txt
index 9581a5dda7..4d2255fd66 100644
--- a/test/yarp/snapshots/seattlerb/block_args_kwargs.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_kwargs.txt
@@ -1,43 +1,43 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ CallNode (location: (0...23))
+ └── @ CallNode (location: (1,0)-(1,23))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...23))
+ │ @ BlockNode (location: (1,2)-(1,23))
│ ├── locals: [:kwargs]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...14))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...13))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (5...13))
+ │ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13))
│ │ │ │ ├── name: :kwargs
- │ │ │ │ ├── name_loc: (7...13) = "kwargs"
- │ │ │ │ └── operator_loc: (5...7) = "**"
+ │ │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs"
+ │ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (15...21))
+ │ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (15...21))
+ │ │ └── @ LocalVariableReadNode (location: (1,15)-(1,21))
│ │ ├── name: :kwargs
│ │ └── depth: 0
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (22...23) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,22)-(1,23) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_args_no_kwargs.txt b/test/yarp/snapshots/seattlerb/block_args_no_kwargs.txt
index 6637b63284..b8542f2ab7 100644
--- a/test/yarp/snapshots/seattlerb/block_args_no_kwargs.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_no_kwargs.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...13))
+ │ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: []
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...11))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...10))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ NoKeywordsParameterNode (location: (5...10))
- │ │ │ │ ├── operator_loc: (5...7) = "**"
- │ │ │ │ └── keyword_loc: (7...10) = "nil"
+ │ │ │ │ @ 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: (4...5) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_args_opt1.txt b/test/yarp/snapshots/seattlerb/block_args_opt1.txt
index a1f7f3609b..7e022ab1ea 100644
--- a/test/yarp/snapshots/seattlerb/block_args_opt1.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_opt1.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ CallNode (location: (0...24))
+ └── @ CallNode (location: (1,0)-(1,24))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...24))
+ │ @ BlockNode (location: (1,2)-(1,24))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -34,22 +34,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (16...22))
+ │ │ @ StatementsNode (location: (1,16)-(1,22))
│ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (16...22))
+ │ │ └── @ ArrayNode (location: (1,16)-(1,22))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (17...18))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (20...21))
+ │ │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (16...17) = "["
- │ │ └── closing_loc: (21...22) = "]"
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (23...24) = "}"
+ │ │ ├── opening_loc: (1,16)-(1,17) = "["
+ │ │ └── closing_loc: (1,21)-(1,22) = "]"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,23)-(1,24) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_args_opt2.txt b/test/yarp/snapshots/seattlerb/block_args_opt2.txt
index a9d73a9562..4a5b0ef03d 100644
--- a/test/yarp/snapshots/seattlerb/block_args_opt2.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_opt2.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (6...14))
+ │ │ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (6...9))
+ │ │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9))
│ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (6...7) = "b"
- │ │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (11...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (11...12) = "c"
- │ │ │ │ ├── operator_loc: (12...13) = "="
+ │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
+ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (13...14))
+ │ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -39,10 +39,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_args_opt2_2.txt b/test/yarp/snapshots/seattlerb/block_args_opt2_2.txt
index abec503328..da706e2306 100644
--- a/test/yarp/snapshots/seattlerb/block_args_opt2_2.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_opt2_2.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(1,35))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(1,35))
└── body: (length: 1)
- └── @ CallNode (location: (0...35))
+ └── @ CallNode (location: (1,0)-(1,35))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...35))
+ │ @ BlockNode (location: (1,2)-(1,35))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...23))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...22))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (16...22))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (16...17) = "c"
- │ │ │ │ ├── operator_loc: (18...19) = "="
+ │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
+ │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (20...22))
+ │ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -41,25 +41,25 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (22...23) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (24...33))
+ │ │ @ StatementsNode (location: (1,24)-(1,33))
│ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (24...33))
+ │ │ └── @ ArrayNode (location: (1,24)-(1,33))
│ │ ├── elements: (length: 3)
- │ │ │ ├── @ LocalVariableReadNode (location: (25...26))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (28...29))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (31...32))
+ │ │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (24...25) = "["
- │ │ └── closing_loc: (32...33) = "]"
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (34...35) = "}"
+ │ │ ├── opening_loc: (1,24)-(1,25) = "["
+ │ │ └── closing_loc: (1,32)-(1,33) = "]"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,34)-(1,35) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_args_opt3.txt b/test/yarp/snapshots/seattlerb/block_args_opt3.txt
index 535121b243..5f187e20cf 100644
--- a/test/yarp/snapshots/seattlerb/block_args_opt3.txt
+++ b/test/yarp/snapshots/seattlerb/block_args_opt3.txt
@@ -1,72 +1,72 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(1,42))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
- └── @ CallNode (location: (0...42))
+ └── @ CallNode (location: (1,0)-(1,42))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...42))
+ │ @ BlockNode (location: (1,2)-(1,42))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...27))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,27))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...26))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,26))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 2)
- │ │ │ │ ├── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ OptionalParameterNode (location: (16...22))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (16...17) = "c"
- │ │ │ │ ├── operator_loc: (18...19) = "="
+ │ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
+ │ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (20...22))
+ │ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (24...26))
+ │ │ │ @ BlockParameterNode (location: (1,24)-(1,26))
│ │ │ ├── name: :d
- │ │ │ ├── name_loc: (25...26) = "d"
- │ │ │ └── operator_loc: (24...25) = "&"
+ │ │ │ ├── name_loc: (1,25)-(1,26) = "d"
+ │ │ │ └── operator_loc: (1,24)-(1,25) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (26...27) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,26)-(1,27) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (28...40))
+ │ │ @ StatementsNode (location: (1,28)-(1,40))
│ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (28...40))
+ │ │ └── @ ArrayNode (location: (1,28)-(1,40))
│ │ ├── elements: (length: 4)
- │ │ │ ├── @ LocalVariableReadNode (location: (29...30))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (32...33))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
- │ │ │ ├── @ LocalVariableReadNode (location: (35...36))
+ │ │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36))
│ │ │ │ ├── name: :c
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (38...39))
+ │ │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39))
│ │ │ ├── name: :d
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (28...29) = "["
- │ │ └── closing_loc: (39...40) = "]"
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (41...42) = "}"
+ │ │ ├── opening_loc: (1,28)-(1,29) = "["
+ │ │ └── closing_loc: (1,39)-(1,40) = "]"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,41)-(1,42) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_break.txt b/test/yarp/snapshots/seattlerb/block_break.txt
index 601503d343..ce4f94f1c9 100644
--- a/test/yarp/snapshots/seattlerb/block_break.txt
+++ b/test/yarp/snapshots/seattlerb/block_break.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ BreakNode (location: (0...26))
+ └── @ BreakNode (location: (1,0)-(1,26))
├── arguments:
- │ @ ArgumentsNode (location: (6...26))
+ │ @ ArgumentsNode (location: (1,6)-(1,26))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (6...26))
+ │ └── @ CallNode (location: (1,6)-(1,26))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "foo"
+ │ ├── message_loc: (1,6)-(1,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (10...13))
+ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (10...13))
+ │ │ └── @ CallNode (location: (1,10)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...13) = "arg"
+ │ │ ├── message_loc: (1,10)-(1,13) = "arg"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -27,14 +27,14 @@
│ │ └── name: "arg"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (14...26))
+ │ │ @ BlockNode (location: (1,14)-(1,26))
│ │ ├── locals: [:bar]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (17...22))
+ │ │ │ @ BlockParametersNode (location: (1,17)-(1,22))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (18...21))
+ │ │ │ │ @ ParametersNode (location: (1,18)-(1,21))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (18...21))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21))
│ │ │ │ │ └── name: :bar
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -43,11 +43,11 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (17...18) = "|"
- │ │ │ └── closing_loc: (21...22) = "|"
+ │ │ │ ├── opening_loc: (1,17)-(1,18) = "|"
+ │ │ │ └── closing_loc: (1,21)-(1,22) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (14...16) = "do"
- │ │ └── closing_loc: (23...26) = "end"
+ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ └── closing_loc: (1,23)-(1,26) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- └── keyword_loc: (0...5) = "break"
+ └── keyword_loc: (1,0)-(1,5) = "break"
diff --git a/test/yarp/snapshots/seattlerb/block_call_defn_call_block_call.txt b/test/yarp/snapshots/seattlerb/block_call_defn_call_block_call.txt
index a428abf823..49ddad48b2 100644
--- a/test/yarp/snapshots/seattlerb/block_call_defn_call_block_call.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_defn_call_block_call.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(4,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 2)
- ├── @ CallNode (location: (0...18))
+ ├── @ CallNode (location: (1,0)-(3,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...18))
+ │ │ @ ArgumentsNode (location: (1,2)-(3,4))
│ │ └── arguments: (length: 1)
- │ │ └── @ DefNode (location: (2...18))
+ │ │ └── @ DefNode (location: (1,2)-(3,4))
│ │ ├── name: :b
- │ │ ├── name_loc: (6...7) = "b"
+ │ │ ├── name_loc: (1,6)-(1,7) = "b"
│ │ ├── receiver: ∅
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (8...9))
+ │ │ │ @ ParametersNode (location: (1,8)-(1,9))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (8...9))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ │ └── name: :c
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -27,12 +27,12 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (12...13))
+ │ │ │ @ StatementsNode (location: (2,1)-(2,2))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (12...13))
+ │ │ │ └── @ CallNode (location: (2,1)-(2,2))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (12...13) = "d"
+ │ │ │ ├── message_loc: (2,1)-(2,2) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -40,39 +40,39 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
│ │ ├── locals: [:c]
- │ │ ├── def_keyword_loc: (2...5) = "def"
+ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
│ │ ├── operator_loc: ∅
- │ │ ├── lparen_loc: (7...8) = "("
- │ │ ├── rparen_loc: (9...10) = ")"
+ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ │ ├── rparen_loc: (1,9)-(1,10) = ")"
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (15...18) = "end"
+ │ │ └── end_keyword_loc: (3,1)-(3,4) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (20...30))
+ └── @ CallNode (location: (4,1)-(4,11))
├── receiver:
- │ @ CallNode (location: (20...21))
+ │ @ CallNode (location: (4,1)-(4,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...21) = "e"
+ │ ├── message_loc: (4,1)-(4,2) = "e"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "e"
- ├── call_operator_loc: (21...22) = "."
- ├── message_loc: (22...23) = "f"
+ ├── call_operator_loc: (4,2)-(4,3) = "."
+ ├── message_loc: (4,3)-(4,4) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (24...30))
+ │ @ BlockNode (location: (4,5)-(4,11))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (24...26) = "do"
- │ └── closing_loc: (27...30) = "end"
+ │ ├── opening_loc: (4,5)-(4,7) = "do"
+ │ └── closing_loc: (4,8)-(4,11) = "end"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_call_dot_op2_brace_block.txt b/test/yarp/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
index b38de9aff5..812b7ab151 100644
--- a/test/yarp/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_dot_op2_brace_block.txt
@@ -1,74 +1,74 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(1,31))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(1,31))
└── body: (length: 1)
- └── @ CallNode (location: (0...31))
+ └── @ CallNode (location: (1,0)-(1,31))
├── receiver:
- │ @ CallNode (location: (0...16))
+ │ @ CallNode (location: (1,0)-(1,16))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...2) = "."
- │ ├── message_loc: (2...3) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
+ │ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...7))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...7))
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "c"
- │ │ ├── opening_loc: (5...6) = "("
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (6...7) = ")"
+ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "c"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (8...16))
+ │ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...12))
+ │ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (11...12))
+ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...12) = "d"
+ │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (8...10) = "do"
- │ │ └── closing_loc: (13...16) = "end"
+ │ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ │ └── closing_loc: (1,13)-(1,16) = "end"
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (16...17) = "."
- ├── message_loc: (17...18) = "e"
+ ├── call_operator_loc: (1,16)-(1,17) = "."
+ ├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (19...31))
+ │ @ BlockNode (location: (1,19)-(1,31))
│ ├── locals: [:f]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (22...25))
+ │ │ @ BlockParametersNode (location: (1,22)-(1,25))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (23...24))
+ │ │ │ @ ParametersNode (location: (1,23)-(1,24))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (23...24))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24))
│ │ │ │ └── name: :f
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -77,22 +77,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (22...23) = "|"
- │ │ └── closing_loc: (24...25) = "|"
+ │ │ ├── opening_loc: (1,22)-(1,23) = "|"
+ │ │ └── closing_loc: (1,24)-(1,25) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (26...27))
+ │ │ @ StatementsNode (location: (1,26)-(1,27))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (26...27))
+ │ │ └── @ CallNode (location: (1,26)-(1,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (26...27) = "g"
+ │ │ ├── message_loc: (1,26)-(1,27) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "g"
- │ ├── opening_loc: (19...21) = "do"
- │ └── closing_loc: (28...31) = "end"
+ │ ├── opening_loc: (1,19)-(1,21) = "do"
+ │ └── closing_loc: (1,28)-(1,31) = "end"
├── flags: ∅
└── name: "e"
diff --git a/test/yarp/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt b/test/yarp/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
index 6833b1648d..2262a7cc88 100644
--- a/test/yarp/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt
@@ -1,70 +1,70 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(1,33))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
- └── @ CallNode (location: (0...33))
+ └── @ CallNode (location: (1,0)-(1,33))
├── receiver:
- │ @ CallNode (location: (0...16))
+ │ @ CallNode (location: (1,0)-(1,16))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...2) = "."
- │ ├── message_loc: (2...3) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
+ │ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...7))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...7))
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "c"
- │ │ ├── opening_loc: (5...6) = "("
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (6...7) = ")"
+ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "c"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (8...16))
+ │ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...12))
+ │ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (11...12))
+ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...12) = "d"
+ │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (8...10) = "do"
- │ │ └── closing_loc: (13...16) = "end"
+ │ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ │ └── closing_loc: (1,13)-(1,16) = "end"
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (16...17) = "."
- ├── message_loc: (17...18) = "e"
+ ├── call_operator_loc: (1,16)-(1,17) = "."
+ ├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (19...20))
+ │ @ ArgumentsNode (location: (1,19)-(1,20))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (19...20))
+ │ └── @ CallNode (location: (1,19)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (19...20) = "f"
+ │ ├── message_loc: (1,19)-(1,20) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -73,14 +73,14 @@
│ └── name: "f"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (21...33))
+ │ @ BlockNode (location: (1,21)-(1,33))
│ ├── locals: [:g]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (24...27))
+ │ │ @ BlockParametersNode (location: (1,24)-(1,27))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (25...26))
+ │ │ │ @ ParametersNode (location: (1,25)-(1,26))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (25...26))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26))
│ │ │ │ └── name: :g
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -89,22 +89,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (24...25) = "|"
- │ │ └── closing_loc: (26...27) = "|"
+ │ │ ├── opening_loc: (1,24)-(1,25) = "|"
+ │ │ └── closing_loc: (1,26)-(1,27) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (28...29))
+ │ │ @ StatementsNode (location: (1,28)-(1,29))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (28...29))
+ │ │ └── @ CallNode (location: (1,28)-(1,29))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (28...29) = "h"
+ │ │ ├── message_loc: (1,28)-(1,29) = "h"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "h"
- │ ├── opening_loc: (21...23) = "do"
- │ └── closing_loc: (30...33) = "end"
+ │ ├── opening_loc: (1,21)-(1,23) = "do"
+ │ └── closing_loc: (1,30)-(1,33) = "end"
├── flags: ∅
└── name: "e"
diff --git a/test/yarp/snapshots/seattlerb/block_call_operation_colon.txt b/test/yarp/snapshots/seattlerb/block_call_operation_colon.txt
index 9a61c531c3..3bcc89b50a 100644
--- a/test/yarp/snapshots/seattlerb/block_call_operation_colon.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_operation_colon.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver:
- │ @ CallNode (location: (0...12))
+ │ @ CallNode (location: (1,0)-(1,12))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...2) = "."
- │ ├── message_loc: (2...3) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
+ │ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...5))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...5))
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "c"
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -35,16 +35,16 @@
│ │ └── name: "c"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (6...12))
+ │ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (6...8) = "do"
- │ │ └── closing_loc: (9...12) = "end"
+ │ │ ├── opening_loc: (1,6)-(1,8) = "do"
+ │ │ └── closing_loc: (1,9)-(1,12) = "end"
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (12...14) = "::"
- ├── message_loc: (14...15) = "d"
+ ├── call_operator_loc: (1,12)-(1,14) = "::"
+ ├── message_loc: (1,14)-(1,15) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/block_call_operation_dot.txt b/test/yarp/snapshots/seattlerb/block_call_operation_dot.txt
index fb552bcf30..93116aed58 100644
--- a/test/yarp/snapshots/seattlerb/block_call_operation_dot.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_operation_dot.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver:
- │ @ CallNode (location: (0...12))
+ │ @ CallNode (location: (1,0)-(1,12))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...2) = "."
- │ ├── message_loc: (2...3) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
+ │ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...5))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...5))
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "c"
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -35,16 +35,16 @@
│ │ └── name: "c"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (6...12))
+ │ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (6...8) = "do"
- │ │ └── closing_loc: (9...12) = "end"
+ │ │ ├── opening_loc: (1,6)-(1,8) = "do"
+ │ │ └── closing_loc: (1,9)-(1,12) = "end"
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (12...13) = "."
- ├── message_loc: (13...14) = "d"
+ ├── call_operator_loc: (1,12)-(1,13) = "."
+ ├── message_loc: (1,13)-(1,14) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/block_call_paren_call_block_call.txt b/test/yarp/snapshots/seattlerb/block_call_paren_call_block_call.txt
index 9dd19e0c26..ec75ca056a 100644
--- a/test/yarp/snapshots/seattlerb/block_call_paren_call_block_call.txt
+++ b/test/yarp/snapshots/seattlerb/block_call_paren_call_block_call.txt
@@ -1,59 +1,59 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(2,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(2,10))
└── body: (length: 2)
- ├── @ CallNode (location: (0...5))
+ ├── @ CallNode (location: (1,0)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...5))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (2...5))
+ │ │ └── @ ParenthesesNode (location: (1,2)-(1,5))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (3...4))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (3...4))
+ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3...4) = "b"
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── opening_loc: (2...3) = "("
- │ │ └── closing_loc: (4...5) = ")"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,4)-(1,5) = ")"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (6...16))
+ └── @ CallNode (location: (2,0)-(2,10))
├── receiver:
- │ @ CallNode (location: (6...7))
+ │ @ CallNode (location: (2,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...7) = "c"
+ │ ├── message_loc: (2,0)-(2,1) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "c"
- ├── call_operator_loc: (7...8) = "."
- ├── message_loc: (8...9) = "d"
+ ├── call_operator_loc: (2,1)-(2,2) = "."
+ ├── message_loc: (2,2)-(2,3) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (10...16))
+ │ @ BlockNode (location: (2,4)-(2,10))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (10...12) = "do"
- │ └── closing_loc: (13...16) = "end"
+ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ └── closing_loc: (2,7)-(2,10) = "end"
├── flags: ∅
└── name: "d"
diff --git a/test/yarp/snapshots/seattlerb/block_command_operation_colon.txt b/test/yarp/snapshots/seattlerb/block_command_operation_colon.txt
index ba69cd30dc..90bb7ad6d0 100644
--- a/test/yarp/snapshots/seattlerb/block_command_operation_colon.txt
+++ b/test/yarp/snapshots/seattlerb/block_command_operation_colon.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver:
- │ @ CallNode (location: (0...11))
+ │ @ CallNode (location: (1,0)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...4))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (2...4))
- │ │ ├── opening_loc: (2...3) = ":"
- │ │ ├── value_loc: (3...4) = "b"
+ │ │ └── @ 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: (5...11))
+ │ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (5...7) = "do"
- │ │ └── closing_loc: (8...11) = "end"
+ │ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ │ └── closing_loc: (1,8)-(1,11) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── call_operator_loc: (11...13) = "::"
- ├── message_loc: (13...14) = "c"
+ ├── call_operator_loc: (1,11)-(1,13) = "::"
+ ├── message_loc: (1,13)-(1,14) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (15...17))
+ │ @ ArgumentsNode (location: (1,15)-(1,17))
│ └── arguments: (length: 1)
- │ └── @ SymbolNode (location: (15...17))
- │ ├── opening_loc: (15...16) = ":"
- │ ├── value_loc: (16...17) = "d"
+ │ └── @ 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: ∅
diff --git a/test/yarp/snapshots/seattlerb/block_command_operation_dot.txt b/test/yarp/snapshots/seattlerb/block_command_operation_dot.txt
index 285125f974..94be9641fb 100644
--- a/test/yarp/snapshots/seattlerb/block_command_operation_dot.txt
+++ b/test/yarp/snapshots/seattlerb/block_command_operation_dot.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver:
- │ @ CallNode (location: (0...11))
+ │ @ CallNode (location: (1,0)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...4))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (2...4))
- │ │ ├── opening_loc: (2...3) = ":"
- │ │ ├── value_loc: (3...4) = "b"
+ │ │ └── @ 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: (5...11))
+ │ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (5...7) = "do"
- │ │ └── closing_loc: (8...11) = "end"
+ │ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ │ └── closing_loc: (1,8)-(1,11) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── call_operator_loc: (11...12) = "."
- ├── message_loc: (12...13) = "c"
+ ├── call_operator_loc: (1,11)-(1,12) = "."
+ ├── message_loc: (1,12)-(1,13) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (14...16))
+ │ @ ArgumentsNode (location: (1,14)-(1,16))
│ └── arguments: (length: 1)
- │ └── @ SymbolNode (location: (14...16))
- │ ├── opening_loc: (14...15) = ":"
- │ ├── value_loc: (15...16) = "d"
+ │ └── @ 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: ∅
diff --git a/test/yarp/snapshots/seattlerb/block_decomp_anon_splat_arg.txt b/test/yarp/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
index 4bc3639271..76c3b8c413 100644
--- a/test/yarp/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/block_decomp_anon_splat_arg.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:a]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...11))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ SplatNode (location: (6...7))
- │ │ │ │ │ │ ├── operator_loc: (6...7) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,6)-(1,7))
+ │ │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (10...11) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -34,10 +34,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_decomp_arg_splat.txt b/test/yarp/snapshots/seattlerb/block_decomp_arg_splat.txt
index 7cc9979278..3eebb50b72 100644
--- a/test/yarp/snapshots/seattlerb/block_decomp_arg_splat.txt
+++ b/test/yarp/snapshots/seattlerb/block_decomp_arg_splat.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...11))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ SplatNode (location: (9...10))
- │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (10...11) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -34,10 +34,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_decomp_arg_splat_arg.txt b/test/yarp/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
index 34e47e5257..4ee66e215b 100644
--- a/test/yarp/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/block_decomp_arg_splat_arg.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...15))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,15))
│ │ │ │ ├── parameters: (length: 3)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ ├── @ SplatNode (location: (9...11))
- │ │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ │ └── expression:
- │ │ │ │ │ │ @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (14...15) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -38,10 +38,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_decomp_splat.txt b/test/yarp/snapshots/seattlerb/block_decomp_splat.txt
index 290061c5ba..698dba24db 100644
--- a/test/yarp/snapshots/seattlerb/block_decomp_splat.txt
+++ b/test/yarp/snapshots/seattlerb/block_decomp_splat.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...12))
+ │ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:a]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...10))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...9))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,9))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...9))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,9))
│ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (6...8))
- │ │ │ │ │ ├── operator_loc: (6...7) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,6)-(1,8))
+ │ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (7...8))
+ │ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (8...9) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,8)-(1,9) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -34,10 +34,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (9...10) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (11...12) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,11)-(1,12) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/block_kw.txt b/test/yarp/snapshots/seattlerb/block_kw.txt
index b86db4881b..f706063884 100644
--- a/test/yarp/snapshots/seattlerb/block_kw.txt
+++ b/test/yarp/snapshots/seattlerb/block_kw.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "blah"
+ ├── message_loc: (1,0)-(1,4) = "blah"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...15))
+ │ @ BlockNode (location: (1,5)-(1,15))
│ ├── locals: [:k]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...13))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (8...12))
+ │ │ │ @ ParametersNode (location: (1,8)-(1,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (8...12))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,8)-(1,12))
│ │ │ │ ├── name: :k
- │ │ │ │ ├── name_loc: (8...10) = "k:"
+ │ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (10...12))
+ │ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (7...8) = "|"
- │ │ └── closing_loc: (12...13) = "|"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (5...6) = "{"
- │ └── closing_loc: (14...15) = "}"
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ └── closing_loc: (1,14)-(1,15) = "}"
├── flags: ∅
└── name: "blah"
diff --git a/test/yarp/snapshots/seattlerb/block_kw__required.txt b/test/yarp/snapshots/seattlerb/block_kw__required.txt
index 8a6dd862ee..d46bfcf21a 100644
--- a/test/yarp/snapshots/seattlerb/block_kw__required.txt
+++ b/test/yarp/snapshots/seattlerb/block_kw__required.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "blah"
+ ├── message_loc: (1,0)-(1,4) = "blah"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...16))
+ │ @ BlockNode (location: (1,5)-(1,16))
│ ├── locals: [:k]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (8...12))
+ │ │ @ BlockParametersNode (location: (1,8)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (9...11))
+ │ │ │ @ ParametersNode (location: (1,9)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (9...11))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,9)-(1,11))
│ │ │ │ ├── name: :k
- │ │ │ │ ├── name_loc: (9...11) = "k:"
+ │ │ │ │ ├── name_loc: (1,9)-(1,11) = "k:"
│ │ │ │ └── value: ∅
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (8...9) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (5...7) = "do"
- │ └── closing_loc: (13...16) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,13)-(1,16) = "end"
├── flags: ∅
└── name: "blah"
diff --git a/test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt b/test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt
index 139cd8d7ac..f268418a5f 100644
--- a/test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt
+++ b/test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...2) = "bl"
+ ├── message_loc: (1,0)-(1,2) = "bl"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (3...20))
+ │ @ BlockNode (location: (1,3)-(1,20))
│ ├── locals: [:kw]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (5...15))
+ │ │ @ BlockParametersNode (location: (1,5)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (6...14))
+ │ │ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (6...14))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,14))
│ │ │ │ ├── name: :kw
- │ │ │ │ ├── name_loc: (6...9) = "kw:"
+ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (10...14))
- │ │ │ │ ├── opening_loc: (10...11) = ":"
- │ │ │ │ ├── value_loc: (11...14) = "val"
+ │ │ │ │ @ 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: (5...6) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (16...18))
+ │ │ @ StatementsNode (location: (1,16)-(1,18))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (16...18))
+ │ │ └── @ LocalVariableReadNode (location: (1,16)-(1,18))
│ │ ├── name: :kw
│ │ └── depth: 0
- │ ├── opening_loc: (3...4) = "{"
- │ └── closing_loc: (19...20) = "}"
+ │ ├── opening_loc: (1,3)-(1,4) = "{"
+ │ └── closing_loc: (1,19)-(1,20) = "}"
├── flags: ∅
└── name: "bl"
diff --git a/test/yarp/snapshots/seattlerb/block_kwarg_lvar_multiple.txt b/test/yarp/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
index e42b0a7bd4..f062044909 100644
--- a/test/yarp/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
+++ b/test/yarp/snapshots/seattlerb/block_kwarg_lvar_multiple.txt
@@ -1,57 +1,57 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(1,33))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
- └── @ CallNode (location: (0...33))
+ └── @ CallNode (location: (1,0)-(1,33))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...2) = "bl"
+ ├── message_loc: (1,0)-(1,2) = "bl"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (3...33))
+ │ @ BlockNode (location: (1,3)-(1,33))
│ ├── locals: [:kw, :kw2]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (5...28))
+ │ │ @ BlockParametersNode (location: (1,5)-(1,28))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (6...26))
+ │ │ │ @ ParametersNode (location: (1,6)-(1,26))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 2)
- │ │ │ │ ├── @ KeywordParameterNode (location: (6...14))
+ │ │ │ │ ├── @ KeywordParameterNode (location: (1,6)-(1,14))
│ │ │ │ │ ├── name: :kw
- │ │ │ │ │ ├── name_loc: (6...9) = "kw:"
+ │ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ │ └── value:
- │ │ │ │ │ @ SymbolNode (location: (10...14))
- │ │ │ │ │ ├── opening_loc: (10...11) = ":"
- │ │ │ │ │ ├── value_loc: (11...14) = "val"
+ │ │ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
+ │ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "val"
- │ │ │ │ └── @ KeywordParameterNode (location: (16...26))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,16)-(1,26))
│ │ │ │ ├── name: :kw2
- │ │ │ │ ├── name_loc: (16...20) = "kw2:"
+ │ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
│ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (21...26))
- │ │ │ │ ├── opening_loc: (21...22) = ":"
- │ │ │ │ ├── value_loc: (22...26) = "val2"
+ │ │ │ │ @ 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: (5...6) = "|"
- │ │ └── closing_loc: (27...28) = "|"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ │ └── closing_loc: (1,27)-(1,28) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (29...31))
+ │ │ @ StatementsNode (location: (1,29)-(1,31))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (29...31))
+ │ │ └── @ LocalVariableReadNode (location: (1,29)-(1,31))
│ │ ├── name: :kw
│ │ └── depth: 0
- │ ├── opening_loc: (3...4) = "{"
- │ └── closing_loc: (32...33) = "}"
+ │ ├── opening_loc: (1,3)-(1,4) = "{"
+ │ └── closing_loc: (1,32)-(1,33) = "}"
├── flags: ∅
└── name: "bl"
diff --git a/test/yarp/snapshots/seattlerb/block_next.txt b/test/yarp/snapshots/seattlerb/block_next.txt
index fa11a5c831..5c1b27d8f3 100644
--- a/test/yarp/snapshots/seattlerb/block_next.txt
+++ b/test/yarp/snapshots/seattlerb/block_next.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ NextNode (location: (0...25))
+ └── @ NextNode (location: (1,0)-(1,25))
├── arguments:
- │ @ ArgumentsNode (location: (5...25))
+ │ @ ArgumentsNode (location: (1,5)-(1,25))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (5...25))
+ │ └── @ CallNode (location: (1,5)-(1,25))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (9...12))
+ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (9...12))
+ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "arg"
+ │ │ ├── message_loc: (1,9)-(1,12) = "arg"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -27,14 +27,14 @@
│ │ └── name: "arg"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (13...25))
+ │ │ @ BlockNode (location: (1,13)-(1,25))
│ │ ├── locals: [:bar]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (16...21))
+ │ │ │ @ BlockParametersNode (location: (1,16)-(1,21))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (17...20))
+ │ │ │ │ @ ParametersNode (location: (1,17)-(1,20))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (17...20))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20))
│ │ │ │ │ └── name: :bar
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -43,11 +43,11 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (16...17) = "|"
- │ │ │ └── closing_loc: (20...21) = "|"
+ │ │ │ ├── opening_loc: (1,16)-(1,17) = "|"
+ │ │ │ └── closing_loc: (1,20)-(1,21) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (13...15) = "do"
- │ │ └── closing_loc: (22...25) = "end"
+ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ │ └── closing_loc: (1,22)-(1,25) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- └── keyword_loc: (0...4) = "next"
+ └── keyword_loc: (1,0)-(1,4) = "next"
diff --git a/test/yarp/snapshots/seattlerb/block_opt_arg.txt b/test/yarp/snapshots/seattlerb/block_opt_arg.txt
index 214bc762e4..32d5738df3 100644
--- a/test/yarp/snapshots/seattlerb/block_opt_arg.txt
+++ b/test/yarp/snapshots/seattlerb/block_opt_arg.txt
@@ -1,43 +1,43 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...8))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...6) = "b"
- │ │ │ │ ├── operator_loc: (6...7) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (7...8))
+ │ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_opt_splat.txt b/test/yarp/snapshots/seattlerb/block_opt_splat.txt
index 4a4a2d2e84..9a8a4938fe 100644
--- a/test/yarp/snapshots/seattlerb/block_opt_splat.txt
+++ b/test/yarp/snapshots/seattlerb/block_opt_splat.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...10))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...6) = "b"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (12...14))
+ │ │ │ │ @ RestParameterNode (location: (1,12)-(1,14))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (13...14) = "c"
- │ │ │ │ └── operator_loc: (12...13) = "*"
+ │ │ │ │ ├── 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: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt b/test/yarp/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
index 8035289c04..e3fc328737 100644
--- a/test/yarp/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
+++ b/test/yarp/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(1,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...22))
+ │ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:b, :c, :d, :e]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...20))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...19))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,19))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...8))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...6) = "b"
- │ │ │ │ ├── operator_loc: (6...7) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (7...8))
+ │ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (10...12))
+ │ │ │ │ @ RestParameterNode (location: (1,10)-(1,12))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (11...12) = "c"
- │ │ │ │ └── operator_loc: (10...11) = "*"
+ │ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
+ │ │ │ │ └── operator_loc: (1,10)-(1,11) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (14...15))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (17...19))
+ │ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
│ │ │ ├── name: :e
- │ │ │ ├── name_loc: (18...19) = "e"
- │ │ │ └── operator_loc: (17...18) = "&"
+ │ │ │ ├── name_loc: (1,18)-(1,19) = "e"
+ │ │ │ └── operator_loc: (1,17)-(1,18) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (19...20) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,19)-(1,20) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (21...22) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,21)-(1,22) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_optarg.txt b/test/yarp/snapshots/seattlerb/block_optarg.txt
index 35a87200fb..b930687f3b 100644
--- a/test/yarp/snapshots/seattlerb/block_optarg.txt
+++ b/test/yarp/snapshots/seattlerb/block_optarg.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...6) = "b"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (9...11))
- │ │ │ │ ├── opening_loc: (9...10) = ":"
- │ │ │ │ ├── value_loc: (10...11) = "c"
+ │ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
+ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
+ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
│ │ │ ├── rest: ∅
@@ -35,10 +35,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_paren_splat.txt b/test/yarp/snapshots/seattlerb/block_paren_splat.txt
index 93380a5a2e..f7592497f1 100644
--- a/test/yarp/snapshots/seattlerb/block_paren_splat.txt
+++ b/test/yarp/snapshots/seattlerb/block_paren_splat.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...15))
+ │ @ BlockNode (location: (1,2)-(1,15))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...13))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...12))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,12))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...12))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,12))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ SplatNode (location: (9...11))
- │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (11...12) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -36,10 +36,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (12...13) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (14...15) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,14)-(1,15) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_reg_optarg.txt b/test/yarp/snapshots/seattlerb/block_reg_optarg.txt
index 295feda52c..2d6d50122c 100644
--- a/test/yarp/snapshots/seattlerb/block_reg_optarg.txt
+++ b/test/yarp/snapshots/seattlerb/block_reg_optarg.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (8...9) = "c"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ SymbolNode (location: (12...14))
- │ │ │ │ ├── opening_loc: (12...13) = ":"
- │ │ │ │ ├── value_loc: (13...14) = "d"
+ │ │ │ │ @ SymbolNode (location: (1,12)-(1,14))
+ │ │ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
+ │ │ │ │ ├── value_loc: (1,13)-(1,14) = "d"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "d"
│ │ │ ├── rest: ∅
@@ -37,10 +37,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_return.txt b/test/yarp/snapshots/seattlerb/block_return.txt
index 89151fd495..8c391abd53 100644
--- a/test/yarp/snapshots/seattlerb/block_return.txt
+++ b/test/yarp/snapshots/seattlerb/block_return.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(1,27))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
- └── @ ReturnNode (location: (0...27))
- ├── keyword_loc: (0...6) = "return"
+ └── @ ReturnNode (location: (1,0)-(1,27))
+ ├── keyword_loc: (1,0)-(1,6) = "return"
└── arguments:
- @ ArgumentsNode (location: (7...27))
+ @ ArgumentsNode (location: (1,7)-(1,27))
└── arguments: (length: 1)
- └── @ CallNode (location: (7...27))
+ └── @ CallNode (location: (1,7)-(1,27))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...10) = "foo"
+ ├── message_loc: (1,7)-(1,10) = "foo"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (11...14))
+ │ @ ArgumentsNode (location: (1,11)-(1,14))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (11...14))
+ │ └── @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "arg"
+ │ ├── message_loc: (1,11)-(1,14) = "arg"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -28,14 +28,14 @@
│ └── name: "arg"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (15...27))
+ │ @ BlockNode (location: (1,15)-(1,27))
│ ├── locals: [:bar]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (18...23))
+ │ │ @ BlockParametersNode (location: (1,18)-(1,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (19...22))
+ │ │ │ @ ParametersNode (location: (1,19)-(1,22))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (19...22))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22))
│ │ │ │ └── name: :bar
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -44,10 +44,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (18...19) = "|"
- │ │ └── closing_loc: (22...23) = "|"
+ │ │ ├── opening_loc: (1,18)-(1,19) = "|"
+ │ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (15...17) = "do"
- │ └── closing_loc: (24...27) = "end"
+ │ ├── opening_loc: (1,15)-(1,17) = "do"
+ │ └── closing_loc: (1,24)-(1,27) = "end"
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/seattlerb/block_scope.txt b/test/yarp/snapshots/seattlerb/block_scope.txt
index 03d1b09597..14263c5623 100644
--- a/test/yarp/snapshots/seattlerb/block_scope.txt
+++ b/test/yarp/snapshots/seattlerb/block_scope.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...10))
+ │ @ BlockNode (location: (1,2)-(1,10))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...8))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,8))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (6...7))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7))
│ │ │ └── name: :b
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (7...8) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,7)-(1,8) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (9...10) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,9)-(1,10) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/block_splat_reg.txt b/test/yarp/snapshots/seattlerb/block_splat_reg.txt
index 05ba0a4d28..4b12ce34a8 100644
--- a/test/yarp/snapshots/seattlerb/block_splat_reg.txt
+++ b/test/yarp/snapshots/seattlerb/block_splat_reg.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...13))
+ │ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...11))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...10))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (5...7))
+ │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (6...7) = "b"
- │ │ │ │ └── operator_loc: (5...6) = "*"
+ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/bug169.txt b/test/yarp/snapshots/seattlerb/bug169.txt
index 49a82c9056..94c2597316 100644
--- a/test/yarp/snapshots/seattlerb/bug169.txt
+++ b/test/yarp/snapshots/seattlerb/bug169.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "m"
+ ├── message_loc: (1,0)-(1,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...4))
+ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (2...4))
+ │ └── @ ParenthesesNode (location: (1,2)-(1,4))
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (3...4) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,3)-(1,4) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...7))
+ │ @ BlockNode (location: (1,5)-(1,7))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (5...6) = "{"
- │ └── closing_loc: (6...7) = "}"
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ └── closing_loc: (1,6)-(1,7) = "}"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/seattlerb/bug179.txt b/test/yarp/snapshots/seattlerb/bug179.txt
index 2a298d7d2b..233a4767e0 100644
--- a/test/yarp/snapshots/seattlerb/bug179.txt
+++ b/test/yarp/snapshots/seattlerb/bug179.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...9))
+ │ @ ArgumentsNode (location: (1,2)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ RangeNode (location: (2...9))
+ │ └── @ RangeNode (location: (1,2)-(1,9))
│ ├── left:
- │ │ @ ParenthesesNode (location: (2...4))
+ │ │ @ ParenthesesNode (location: (1,2)-(1,4))
│ │ ├── body: ∅
- │ │ ├── opening_loc: (2...3) = "("
- │ │ └── closing_loc: (3...4) = ")"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,3)-(1,4) = ")"
│ ├── right:
- │ │ @ NilNode (location: (6...9))
- │ ├── operator_loc: (4...6) = ".."
+ │ │ @ NilNode (location: (1,6)-(1,9))
+ │ ├── operator_loc: (1,4)-(1,6) = ".."
│ └── flags: ∅
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug190.txt b/test/yarp/snapshots/seattlerb/bug190.txt
index 2cc70b7747..527304835a 100644
--- a/test/yarp/snapshots/seattlerb/bug190.txt
+++ b/test/yarp/snapshots/seattlerb/bug190.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...6))
- ├── opening_loc: (0...3) = "%r'"
- ├── content_loc: (3...5) = "\\'"
- ├── closing_loc: (5...6) = "'"
+ └── @ RegularExpressionNode (location: (1,0)-(1,6))
+ ├── opening_loc: (1,0)-(1,3) = "%r'"
+ ├── content_loc: (1,3)-(1,5) = "\\'"
+ ├── closing_loc: (1,5)-(1,6) = "'"
├── unescaped: "'"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug191.txt b/test/yarp/snapshots/seattlerb/bug191.txt
index 83142cc3d2..313e892629 100644
--- a/test/yarp/snapshots/seattlerb/bug191.txt
+++ b/test/yarp/snapshots/seattlerb/bug191.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(3,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(3,9))
└── body: (length: 2)
- ├── @ IfNode (location: (0...9))
+ ├── @ IfNode (location: (1,0)-(1,9))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,24 +17,24 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── statements:
- │ │ @ StatementsNode (location: (4...6))
+ │ │ @ StatementsNode (location: (1,4)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (4...6))
+ │ │ └── @ StringNode (location: (1,4)-(1,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (4...5) = "\""
- │ │ ├── content_loc: (5...5) = ""
- │ │ ├── closing_loc: (5...6) = "\""
+ │ │ ├── opening_loc: (1,4)-(1,5) = "\""
+ │ │ ├── content_loc: (1,5)-(1,5) = ""
+ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
│ │ └── unescaped: ""
│ ├── consequent:
- │ │ @ ElseNode (location: (6...9))
- │ │ ├── else_keyword_loc: (6...7) = ":"
+ │ │ @ ElseNode (location: (1,6)-(1,9))
+ │ │ ├── else_keyword_loc: (1,6)-(1,7) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8...9))
+ │ │ │ @ StatementsNode (location: (1,8)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (8...9))
+ │ │ │ └── @ CallNode (location: (1,8)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (8...9) = "b"
+ │ │ │ ├── message_loc: (1,8)-(1,9) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -43,13 +43,13 @@
│ │ │ └── name: "b"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- └── @ IfNode (location: (11...20))
+ └── @ IfNode (location: (3,0)-(3,9))
├── if_keyword_loc: ∅
├── predicate:
- │ @ CallNode (location: (11...12))
+ │ @ CallNode (location: (3,0)-(3,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...12) = "a"
+ │ ├── message_loc: (3,0)-(3,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -57,24 +57,24 @@
│ ├── flags: variable_call
│ └── name: "a"
├── statements:
- │ @ StatementsNode (location: (15...17))
+ │ @ StatementsNode (location: (3,4)-(3,6))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (15...17))
+ │ └── @ StringNode (location: (3,4)-(3,6))
│ ├── flags: ∅
- │ ├── opening_loc: (15...16) = "'"
- │ ├── content_loc: (16...16) = ""
- │ ├── closing_loc: (16...17) = "'"
+ │ ├── opening_loc: (3,4)-(3,5) = "'"
+ │ ├── content_loc: (3,5)-(3,5) = ""
+ │ ├── closing_loc: (3,5)-(3,6) = "'"
│ └── unescaped: ""
├── consequent:
- │ @ ElseNode (location: (17...20))
- │ ├── else_keyword_loc: (17...18) = ":"
+ │ @ ElseNode (location: (3,6)-(3,9))
+ │ ├── else_keyword_loc: (3,6)-(3,7) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (19...20))
+ │ │ @ StatementsNode (location: (3,8)-(3,9))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (19...20))
+ │ │ └── @ CallNode (location: (3,8)-(3,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (19...20) = "b"
+ │ │ ├── message_loc: (3,8)-(3,9) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug202.txt b/test/yarp/snapshots/seattlerb/bug202.txt
index 86d1d9ca2b..3faff193dc 100644
--- a/test/yarp/snapshots/seattlerb/bug202.txt
+++ b/test/yarp/snapshots/seattlerb/bug202.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(2,10))
├── locals: [:测试]
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(2,10))
└── body: (length: 2)
- ├── @ GlobalVariableWriteNode (location: (0...11))
+ ├── @ GlobalVariableWriteNode (location: (1,0)-(1,11))
│ ├── name: :$测试
- │ ├── name_loc: (0...7) = "$测试"
+ │ ├── name_loc: (1,0)-(1,7) = "$测试"
│ ├── value:
- │ │ @ IntegerNode (location: (10...11))
+ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
- │ └── operator_loc: (8...9) = "="
- └── @ LocalVariableWriteNode (location: (12...22))
+ │ └── operator_loc: (1,8)-(1,9) = "="
+ └── @ LocalVariableWriteNode (location: (2,0)-(2,10))
├── name: :测试
├── depth: 0
- ├── name_loc: (12...18) = "测试"
+ ├── name_loc: (2,0)-(2,6) = "测试"
├── value:
- │ @ IntegerNode (location: (21...22))
+ │ @ IntegerNode (location: (2,9)-(2,10))
│ └── flags: decimal
- └── operator_loc: (19...20) = "="
+ └── operator_loc: (2,7)-(2,8) = "="
diff --git a/test/yarp/snapshots/seattlerb/bug236.txt b/test/yarp/snapshots/seattlerb/bug236.txt
index 51cfe2b41a..c53055bae0 100644
--- a/test/yarp/snapshots/seattlerb/bug236.txt
+++ b/test/yarp/snapshots/seattlerb/bug236.txt
@@ -1,59 +1,59 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(3,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(3,6))
└── body: (length: 2)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "x"
+ │ ├── message_loc: (1,0)-(1,1) = "x"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (1...7))
+ │ │ @ BlockNode (location: (1,1)-(1,7))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (2...6))
+ │ │ │ @ BlockParametersNode (location: (1,2)-(1,6))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (3...5))
+ │ │ │ │ @ ParametersNode (location: (1,3)-(1,5))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (3...4))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (4...5))
+ │ │ │ │ │ @ RestParameterNode (location: (1,4)-(1,5))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (4...5) = ","
+ │ │ │ │ │ └── operator_loc: (1,4)-(1,5) = ","
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (2...3) = "|"
- │ │ │ └── closing_loc: (5...6) = "|"
+ │ │ │ ├── opening_loc: (1,2)-(1,3) = "|"
+ │ │ │ └── closing_loc: (1,5)-(1,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (1...2) = "{"
- │ │ └── closing_loc: (6...7) = "}"
+ │ │ ├── opening_loc: (1,1)-(1,2) = "{"
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
│ ├── flags: ∅
│ └── name: "x"
- └── @ CallNode (location: (9...15))
+ └── @ CallNode (location: (3,0)-(3,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (9...10) = "x"
+ ├── message_loc: (3,0)-(3,1) = "x"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (10...15))
+ │ @ BlockNode (location: (3,1)-(3,6))
│ ├── locals: [:a]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (11...14))
+ │ │ @ BlockParametersNode (location: (3,2)-(3,5))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (12...13))
+ │ │ │ @ ParametersNode (location: (3,3)-(3,4))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -62,10 +62,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (11...12) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (3,2)-(3,3) = "|"
+ │ │ └── closing_loc: (3,4)-(3,5) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (10...11) = "{"
- │ └── closing_loc: (14...15) = "}"
+ │ ├── opening_loc: (3,1)-(3,2) = "{"
+ │ └── closing_loc: (3,5)-(3,6) = "}"
├── flags: ∅
└── name: "x"
diff --git a/test/yarp/snapshots/seattlerb/bug290.txt b/test/yarp/snapshots/seattlerb/bug290.txt
index fcc548230c..dbe69a5a15 100644
--- a/test/yarp/snapshots/seattlerb/bug290.txt
+++ b/test/yarp/snapshots/seattlerb/bug290.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...15))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(3,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (8...11))
+ │ @ StatementsNode (location: (2,2)-(2,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (8...11))
+ │ └── @ CallNode (location: (2,2)-(2,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...11) = "foo"
+ │ ├── message_loc: (2,2)-(2,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -21,4 +21,4 @@
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (12...15) = "end"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/bug_187.txt b/test/yarp/snapshots/seattlerb/bug_187.txt
index 2bb9fc45fd..0f55dc049c 100644
--- a/test/yarp/snapshots/seattlerb/bug_187.txt
+++ b/test/yarp/snapshots/seattlerb/bug_187.txt
@@ -1,57 +1,57 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...28))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...7) = "private"
+ ├── message_loc: (1,0)-(1,7) = "private"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (8...28))
+ │ @ ArgumentsNode (location: (1,8)-(3,3))
│ └── arguments: (length: 1)
- │ └── @ DefNode (location: (8...28))
+ │ └── @ DefNode (location: (1,8)-(3,3))
│ ├── name: :f
- │ ├── name_loc: (12...13) = "f"
+ │ ├── name_loc: (1,12)-(1,13) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (14...24))
+ │ │ @ StatementsNode (location: (2,0)-(2,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (14...24))
+ │ │ └── @ CallNode (location: (2,0)-(2,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (14...15))
+ │ │ │ @ CallNode (location: (2,0)-(2,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (14...15) = "a"
+ │ │ │ ├── message_loc: (2,0)-(2,1) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── call_operator_loc: (15...16) = "."
- │ │ ├── message_loc: (16...17) = "b"
+ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ │ ├── message_loc: (2,2)-(2,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (18...24))
+ │ │ │ @ BlockNode (location: (2,4)-(2,10))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (18...20) = "do"
- │ │ │ └── closing_loc: (21...24) = "end"
+ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ │ │ └── closing_loc: (2,7)-(2,10) = "end"
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── locals: []
- │ ├── def_keyword_loc: (8...11) = "def"
+ │ ├── def_keyword_loc: (1,8)-(1,11) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (25...28) = "end"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug_215.txt b/test/yarp/snapshots/seattlerb/bug_215.txt
index c3d3eb3f4f..0ce43b58de 100644
--- a/test/yarp/snapshots/seattlerb/bug_215.txt
+++ b/test/yarp/snapshots/seattlerb/bug_215.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ UndefNode (location: (0...13))
+ └── @ UndefNode (location: (1,0)-(1,13))
├── names: (length: 1)
- │ └── @ SymbolNode (location: (6...13))
- │ ├── opening_loc: (6...9) = "%s("
- │ ├── value_loc: (9...12) = "foo"
- │ ├── closing_loc: (12...13) = ")"
+ │ └── @ SymbolNode (location: (1,6)-(1,13))
+ │ ├── opening_loc: (1,6)-(1,9) = "%s("
+ │ ├── value_loc: (1,9)-(1,12) = "foo"
+ │ ├── closing_loc: (1,12)-(1,13) = ")"
│ └── unescaped: "foo"
- └── keyword_loc: (0...5) = "undef"
+ └── keyword_loc: (1,0)-(1,5) = "undef"
diff --git a/test/yarp/snapshots/seattlerb/bug_249.txt b/test/yarp/snapshots/seattlerb/bug_249.txt
index b3bf158d50..3fd204a71b 100644
--- a/test/yarp/snapshots/seattlerb/bug_249.txt
+++ b/test/yarp/snapshots/seattlerb/bug_249.txt
@@ -1,82 +1,82 @@
-@ ProgramNode (location: (0...67))
+@ ProgramNode (location: (1,0)-(4,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...67))
+ @ StatementsNode (location: (1,0)-(4,28))
└── body: (length: 1)
- └── @ CallNode (location: (0...67))
+ └── @ CallNode (location: (1,0)-(4,28))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...5) = "mount"
+ ├── message_loc: (1,0)-(1,5) = "mount"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...67))
+ │ @ ArgumentsNode (location: (1,6)-(4,28))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (6...48))
+ │ ├── @ CallNode (location: (1,6)-(4,9))
│ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (6...44))
+ │ │ │ @ ParenthesesNode (location: (1,6)-(4,5))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (7...43))
+ │ │ │ │ @ StatementsNode (location: (1,7)-(4,4))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (7...43))
+ │ │ │ │ └── @ CallNode (location: (1,7)-(4,4))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ ConstantReadNode (location: (7...12))
+ │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12))
│ │ │ │ │ └── name: :Class
- │ │ │ │ ├── call_operator_loc: (12...13) = "."
- │ │ │ │ ├── message_loc: (13...16) = "new"
+ │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
+ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (17...43))
+ │ │ │ │ │ @ BlockNode (location: (1,17)-(4,4))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body:
- │ │ │ │ │ │ @ StatementsNode (location: (20...38))
+ │ │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ DefNode (location: (20...38))
+ │ │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3))
│ │ │ │ │ │ ├── name: :initialize
- │ │ │ │ │ │ ├── name_loc: (24...34) = "initialize"
+ │ │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize"
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ ├── locals: []
- │ │ │ │ │ │ ├── def_keyword_loc: (20...23) = "def"
+ │ │ │ │ │ │ ├── def_keyword_loc: (2,0)-(2,3) = "def"
│ │ │ │ │ │ ├── operator_loc: ∅
│ │ │ │ │ │ ├── lparen_loc: ∅
│ │ │ │ │ │ ├── rparen_loc: ∅
│ │ │ │ │ │ ├── equal_loc: ∅
- │ │ │ │ │ │ └── end_keyword_loc: (35...38) = "end"
- │ │ │ │ │ ├── opening_loc: (17...19) = "do"
- │ │ │ │ │ └── closing_loc: (40...43) = "end"
+ │ │ │ │ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ │ │ │ │ │ ├── opening_loc: (1,17)-(1,19) = "do"
+ │ │ │ │ │ └── closing_loc: (4,1)-(4,4) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "new"
- │ │ │ ├── opening_loc: (6...7) = "("
- │ │ │ └── closing_loc: (43...44) = ")"
- │ │ ├── call_operator_loc: (44...45) = "."
- │ │ ├── message_loc: (45...48) = "new"
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
+ │ │ │ └── closing_loc: (4,4)-(4,5) = ")"
+ │ │ ├── call_operator_loc: (4,5)-(4,6) = "."
+ │ │ ├── message_loc: (4,6)-(4,9) = "new"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "new"
- │ └── @ KeywordHashNode (location: (50...67))
+ │ └── @ KeywordHashNode (location: (4,11)-(4,28))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (50...67))
+ │ └── @ AssocNode (location: (4,11)-(4,28))
│ ├── key:
- │ │ @ SymbolNode (location: (50...53))
- │ │ ├── opening_loc: (50...51) = ":"
- │ │ ├── value_loc: (51...53) = "at"
+ │ │ @ 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: (57...67))
+ │ │ @ StringNode (location: (4,18)-(4,28))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (57...58) = "'"
- │ │ ├── content_loc: (58...66) = "endpoint"
- │ │ ├── closing_loc: (66...67) = "'"
+ │ │ ├── opening_loc: (4,18)-(4,19) = "'"
+ │ │ ├── content_loc: (4,19)-(4,27) = "endpoint"
+ │ │ ├── closing_loc: (4,27)-(4,28) = "'"
│ │ └── unescaped: "endpoint"
- │ └── operator_loc: (54...56) = "=>"
+ │ └── operator_loc: (4,15)-(4,17) = "=>"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug_and.txt b/test/yarp/snapshots/seattlerb/bug_and.txt
index 6215fceaf7..49c387a72d 100644
--- a/test/yarp/snapshots/seattlerb/bug_and.txt
+++ b/test/yarp/snapshots/seattlerb/bug_and.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(4,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 2)
- ├── @ AndNode (location: (0...13))
+ ├── @ AndNode (location: (1,0)-(2,4))
│ ├── left:
- │ │ @ TrueNode (location: (0...4))
+ │ │ @ TrueNode (location: (1,0)-(1,4))
│ ├── right:
- │ │ @ TrueNode (location: (9...13))
- │ └── operator_loc: (5...8) = "and"
- └── @ AndNode (location: (15...26))
+ │ │ @ TrueNode (location: (2,0)-(2,4))
+ │ └── operator_loc: (1,5)-(1,8) = "and"
+ └── @ AndNode (location: (4,0)-(4,11))
├── left:
- │ @ TrueNode (location: (15...19))
+ │ @ TrueNode (location: (4,0)-(4,4))
├── right:
- │ @ ArrayNode (location: (24...26))
+ │ @ ArrayNode (location: (4,9)-(4,11))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (24...25) = "["
- │ └── closing_loc: (25...26) = "]"
- └── operator_loc: (20...23) = "and"
+ │ ├── opening_loc: (4,9)-(4,10) = "["
+ │ └── closing_loc: (4,10)-(4,11) = "]"
+ └── operator_loc: (4,5)-(4,8) = "and"
diff --git a/test/yarp/snapshots/seattlerb/bug_args__19.txt b/test/yarp/snapshots/seattlerb/bug_args__19.txt
index 806927a0e3..45abd4c0e4 100644
--- a/test/yarp/snapshots/seattlerb/bug_args__19.txt
+++ b/test/yarp/snapshots/seattlerb/bug_args__19.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...16))
+ │ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...11))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ └── name: :b
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (10...11) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -33,22 +33,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (13...14))
+ │ │ @ StatementsNode (location: (1,13)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (13...14))
+ │ │ └── @ CallNode (location: (1,13)-(1,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...14) = "d"
+ │ │ ├── message_loc: (1,13)-(1,14) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "d"
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (15...16) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,15)-(1,16) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/bug_args_masgn.txt b/test/yarp/snapshots/seattlerb/bug_args_masgn.txt
index a22b4f7e90..748eb80f26 100644
--- a/test/yarp/snapshots/seattlerb/bug_args_masgn.txt
+++ b/test/yarp/snapshots/seattlerb/bug_args_masgn.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (5...11))
+ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ │ └── closing_loc: (10...11) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :c
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -35,10 +35,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/bug_args_masgn2.txt b/test/yarp/snapshots/seattlerb/bug_args_masgn2.txt
index 272cd30603..b4e786c7c2 100644
--- a/test/yarp/snapshots/seattlerb/bug_args_masgn2.txt
+++ b/test/yarp/snapshots/seattlerb/bug_args_masgn2.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(1,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...22))
+ │ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...20))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...19))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,19))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (5...16))
+ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,5)-(1,16))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (6...12))
+ │ │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,6)-(1,12))
│ │ │ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (7...8))
+ │ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ │ ├── opening_loc: (6...7) = "("
- │ │ │ │ │ │ │ └── closing_loc: (11...12) = ")"
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (14...15))
+ │ │ │ │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
+ │ │ │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ │ │ │ └── name: :c
- │ │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ │ └── closing_loc: (15...16) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (18...19))
+ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19))
│ │ │ │ └── name: :d
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -41,10 +41,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (19...20) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,19)-(1,20) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (21...22) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,21)-(1,22) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt b/test/yarp/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
index 10a2e9539f..61eacf4421 100644
--- a/test/yarp/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
+++ b/test/yarp/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ CallNode (location: (0...19))
+ └── @ CallNode (location: (1,0)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...19))
+ │ @ BlockNode (location: (1,2)-(1,19))
│ ├── locals: [:k, :v, :i]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...17))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,17))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...16))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,16))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...16))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,16))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (6...12))
+ │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,6)-(1,12))
│ │ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (7...8))
+ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ │ │ │ │ └── name: :k
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ │ │ └── name: :v
- │ │ │ │ │ │ ├── opening_loc: (6...7) = "("
- │ │ │ │ │ │ └── closing_loc: (11...12) = ")"
- │ │ │ │ │ └── @ RequiredParameterNode (location: (14...15))
+ │ │ │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "("
+ │ │ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ │ │ └── name: :i
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (15...16) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -39,10 +39,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (16...17) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,16)-(1,17) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (18...19) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,18)-(1,19) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/bug_call_arglist_parens.txt b/test/yarp/snapshots/seattlerb/bug_call_arglist_parens.txt
index 077fedf68d..3a7d533238 100644
--- a/test/yarp/snapshots/seattlerb/bug_call_arglist_parens.txt
+++ b/test/yarp/snapshots/seattlerb/bug_call_arglist_parens.txt
@@ -1,99 +1,99 @@
-@ ProgramNode (location: (6...94))
+@ ProgramNode (location: (1,6)-(11,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (6...94))
+ @ StatementsNode (location: (1,6)-(11,9))
└── body: (length: 3)
- ├── @ DefNode (location: (6...39))
+ ├── @ DefNode (location: (1,6)-(3,9))
│ ├── name: :f
- │ ├── name_loc: (10...11) = "f"
+ │ ├── name_loc: (1,10)-(1,11) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (20...29))
+ │ │ @ StatementsNode (location: (2,8)-(2,17))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (20...29))
+ │ │ └── @ CallNode (location: (2,8)-(2,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...21) = "g"
+ │ │ ├── message_loc: (2,8)-(2,9) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (22...29))
+ │ │ │ @ ArgumentsNode (location: (2,10)-(2,17))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ ParenthesesNode (location: (22...26))
+ │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (24...25))
+ │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (24...25))
+ │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (22...23) = "("
- │ │ │ │ └── closing_loc: (25...26) = ")"
- │ │ │ └── @ IntegerNode (location: (28...29))
+ │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "("
+ │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")"
+ │ │ │ └── @ IntegerNode (location: (2,16)-(2,17))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "g"
│ ├── locals: []
- │ ├── def_keyword_loc: (6...9) = "def"
+ │ ├── def_keyword_loc: (1,6)-(1,9) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (36...39) = "end"
- ├── @ DefNode (location: (48...82))
+ │ └── end_keyword_loc: (3,6)-(3,9) = "end"
+ ├── @ DefNode (location: (6,6)-(8,9))
│ ├── name: :f
- │ ├── name_loc: (52...53) = "f"
+ │ ├── name_loc: (6,10)-(6,11) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (64...72))
+ │ │ @ StatementsNode (location: (7,8)-(7,16))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (64...72))
+ │ │ └── @ CallNode (location: (7,8)-(7,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (64...65) = "g"
+ │ │ ├── message_loc: (7,8)-(7,9) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (66...72))
+ │ │ │ @ ArgumentsNode (location: (7,10)-(7,16))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ ParenthesesNode (location: (66...69))
+ │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (67...68))
+ │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (67...68))
+ │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (66...67) = "("
- │ │ │ │ └── closing_loc: (68...69) = ")"
- │ │ │ └── @ IntegerNode (location: (71...72))
+ │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "("
+ │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")"
+ │ │ │ └── @ IntegerNode (location: (7,15)-(7,16))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "g"
│ ├── locals: []
- │ ├── def_keyword_loc: (48...51) = "def"
+ │ ├── def_keyword_loc: (6,6)-(6,9) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (53...54) = "("
- │ ├── rparen_loc: (54...55) = ")"
+ │ ├── lparen_loc: (6,11)-(6,12) = "("
+ │ ├── rparen_loc: (6,12)-(6,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (79...82) = "end"
- └── @ CallNode (location: (85...94))
+ │ └── end_keyword_loc: (8,6)-(8,9) = "end"
+ └── @ CallNode (location: (11,0)-(11,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (85...86) = "g"
+ ├── message_loc: (11,0)-(11,1) = "g"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (87...94))
+ │ @ ArgumentsNode (location: (11,2)-(11,9))
│ └── arguments: (length: 2)
- │ ├── @ ParenthesesNode (location: (87...91))
+ │ ├── @ ParenthesesNode (location: (11,2)-(11,6))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (89...90))
+ │ │ │ @ StatementsNode (location: (11,4)-(11,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (89...90))
+ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (87...88) = "("
- │ │ └── closing_loc: (90...91) = ")"
- │ └── @ IntegerNode (location: (93...94))
+ │ │ ├── opening_loc: (11,2)-(11,3) = "("
+ │ │ └── closing_loc: (11,5)-(11,6) = ")"
+ │ └── @ IntegerNode (location: (11,8)-(11,9))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/bug_case_when_regexp.txt b/test/yarp/snapshots/seattlerb/bug_case_when_regexp.txt
index 0d781b4080..ac948bc6c9 100644
--- a/test/yarp/snapshots/seattlerb/bug_case_when_regexp.txt
+++ b/test/yarp/snapshots/seattlerb/bug_case_when_regexp.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ CaseNode (location: (0...26))
+ └── @ CaseNode (location: (1,0)-(1,26))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "x"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "x"
│ ├── closing_loc: ∅
│ └── unescaped: "x"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (9...17))
- │ ├── keyword_loc: (9...13) = "when"
+ │ └── @ WhenNode (location: (1,9)-(1,17))
+ │ ├── keyword_loc: (1,9)-(1,13) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ RegularExpressionNode (location: (14...17))
- │ │ ├── opening_loc: (14...15) = "/"
- │ │ ├── content_loc: (15...16) = "x"
- │ │ ├── closing_loc: (16...17) = "/"
+ │ │ └── @ RegularExpressionNode (location: (1,14)-(1,17))
+ │ │ ├── opening_loc: (1,14)-(1,15) = "/"
+ │ │ ├── content_loc: (1,15)-(1,16) = "x"
+ │ │ ├── closing_loc: (1,16)-(1,17) = "/"
│ │ ├── unescaped: "x"
│ │ └── flags: ∅
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (23...26) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,23)-(1,26) = "end"
diff --git a/test/yarp/snapshots/seattlerb/bug_comma.txt b/test/yarp/snapshots/seattlerb/bug_comma.txt
index d377e7f0c9..07ec02b232 100644
--- a/test/yarp/snapshots/seattlerb/bug_comma.txt
+++ b/test/yarp/snapshots/seattlerb/bug_comma.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ IfNode (location: (0...24))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,24))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...15))
+ │ @ CallNode (location: (1,3)-(1,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...7) = "test"
+ │ ├── message_loc: (1,3)-(1,7) = "test"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...15))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (8...10))
+ │ │ ├── @ StringNode (location: (1,8)-(1,10))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (8...9) = "?"
- │ │ │ ├── content_loc: (9...10) = "d"
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "?"
+ │ │ │ ├── content_loc: (1,9)-(1,10) = "d"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "d"
- │ │ └── @ CallNode (location: (12...15))
+ │ │ └── @ CallNode (location: (1,12)-(1,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "dir"
+ │ │ ├── message_loc: (1,12)-(1,15) = "dir"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -36,4 +36,4 @@
│ └── name: "test"
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (21...24) = "end"
+ └── end_keyword_loc: (1,21)-(1,24) = "end"
diff --git a/test/yarp/snapshots/seattlerb/bug_cond_pct.txt b/test/yarp/snapshots/seattlerb/bug_cond_pct.txt
index 8cb7f1f84c..bb07f009aa 100644
--- a/test/yarp/snapshots/seattlerb/bug_cond_pct.txt
+++ b/test/yarp/snapshots/seattlerb/bug_cond_pct.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ CaseNode (location: (0...28))
+ └── @ CaseNode (location: (1,0)-(1,28))
├── predicate: ∅
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (6...23))
- │ ├── keyword_loc: (6...10) = "when"
+ │ └── @ WhenNode (location: (1,6)-(1,23))
+ │ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ RegularExpressionNode (location: (11...23))
- │ │ ├── opening_loc: (11...14) = "%r%"
- │ │ ├── content_loc: (14...22) = "blahblah"
- │ │ ├── closing_loc: (22...23) = "%"
+ │ │ └── @ RegularExpressionNode (location: (1,11)-(1,23))
+ │ │ ├── opening_loc: (1,11)-(1,14) = "%r%"
+ │ │ ├── content_loc: (1,14)-(1,22) = "blahblah"
+ │ │ ├── closing_loc: (1,22)-(1,23) = "%"
│ │ ├── unescaped: "blahblah"
│ │ └── flags: ∅
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (25...28) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,25)-(1,28) = "end"
diff --git a/test/yarp/snapshots/seattlerb/bug_hash_args.txt b/test/yarp/snapshots/seattlerb/bug_hash_args.txt
index 7184b66ae9..3a204fb4b8 100644
--- a/test/yarp/snapshots/seattlerb/bug_hash_args.txt
+++ b/test/yarp/snapshots/seattlerb/bug_hash_args.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ CallNode (location: (0...19))
+ └── @ CallNode (location: (1,0)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "foo"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "foo"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...18))
+ │ @ ArgumentsNode (location: (1,4)-(1,18))
│ └── arguments: (length: 2)
- │ ├── @ SymbolNode (location: (4...8))
- │ │ ├── opening_loc: (4...5) = ":"
- │ │ ├── value_loc: (5...8) = "bar"
+ │ ├── @ 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: (10...18))
+ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (10...18))
+ │ └── @ AssocNode (location: (1,10)-(1,18))
│ ├── key:
- │ │ @ SymbolNode (location: (10...14))
+ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (10...13) = "baz"
- │ │ ├── closing_loc: (13...14) = ":"
+ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
│ │ └── unescaped: "baz"
│ ├── value:
- │ │ @ NilNode (location: (15...18))
+ │ │ @ NilNode (location: (1,15)-(1,18))
│ └── operator_loc: ∅
- ├── closing_loc: (18...19) = ")"
+ ├── closing_loc: (1,18)-(1,19) = ")"
├── block: ∅
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/seattlerb/bug_hash_args_trailing_comma.txt b/test/yarp/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
index 57d5e40ea8..73bc04243d 100644
--- a/test/yarp/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/bug_hash_args_trailing_comma.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "foo"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "foo"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...18))
+ │ @ ArgumentsNode (location: (1,4)-(1,18))
│ └── arguments: (length: 2)
- │ ├── @ SymbolNode (location: (4...8))
- │ │ ├── opening_loc: (4...5) = ":"
- │ │ ├── value_loc: (5...8) = "bar"
+ │ ├── @ 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: (10...18))
+ │ └── @ KeywordHashNode (location: (1,10)-(1,18))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (10...18))
+ │ └── @ AssocNode (location: (1,10)-(1,18))
│ ├── key:
- │ │ @ SymbolNode (location: (10...14))
+ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (10...13) = "baz"
- │ │ ├── closing_loc: (13...14) = ":"
+ │ │ ├── value_loc: (1,10)-(1,13) = "baz"
+ │ │ ├── closing_loc: (1,13)-(1,14) = ":"
│ │ └── unescaped: "baz"
│ ├── value:
- │ │ @ NilNode (location: (15...18))
+ │ │ @ NilNode (location: (1,15)-(1,18))
│ └── operator_loc: ∅
- ├── closing_loc: (19...20) = ")"
+ ├── closing_loc: (1,19)-(1,20) = ")"
├── block: ∅
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/seattlerb/bug_hash_interp_array.txt b/test/yarp/snapshots/seattlerb/bug_hash_interp_array.txt
index f05d1aeffc..e4b9536b87 100644
--- a/test/yarp/snapshots/seattlerb/bug_hash_interp_array.txt
+++ b/test/yarp/snapshots/seattlerb/bug_hash_interp_array.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ HashNode (location: (0...13))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,13))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (2...11))
+ │ └── @ AssocNode (location: (1,2)-(1,11))
│ ├── key:
- │ │ @ InterpolatedSymbolNode (location: (2...8))
- │ │ ├── opening_loc: (2...3) = "\""
+ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,8))
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (3...6))
- │ │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,6))
+ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (5...6) = "}"
- │ │ └── closing_loc: (6...8) = "\":"
+ │ │ │ └── closing_loc: (1,5)-(1,6) = "}"
+ │ │ └── closing_loc: (1,6)-(1,8) = "\":"
│ ├── value:
- │ │ @ ArrayNode (location: (9...11))
+ │ │ @ ArrayNode (location: (1,9)-(1,11))
│ │ ├── elements: (length: 0)
- │ │ ├── opening_loc: (9...10) = "["
- │ │ └── closing_loc: (10...11) = "]"
+ │ │ ├── opening_loc: (1,9)-(1,10) = "["
+ │ │ └── closing_loc: (1,10)-(1,11) = "]"
│ └── operator_loc: ∅
- └── closing_loc: (12...13) = "}"
+ └── closing_loc: (1,12)-(1,13) = "}"
diff --git a/test/yarp/snapshots/seattlerb/bug_masgn_right.txt b/test/yarp/snapshots/seattlerb/bug_masgn_right.txt
index 2a3ffe101d..c19931cdd1 100644
--- a/test/yarp/snapshots/seattlerb/bug_masgn_right.txt
+++ b/test/yarp/snapshots/seattlerb/bug_masgn_right.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...14))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (13...14) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -35,10 +35,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/bug_not_parens.txt b/test/yarp/snapshots/seattlerb/bug_not_parens.txt
index f9c7740173..8b937728d0 100644
--- a/test/yarp/snapshots/seattlerb/bug_not_parens.txt
+++ b/test/yarp/snapshots/seattlerb/bug_not_parens.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ CallNode (location: (4...5))
+ │ @ CallNode (location: (1,4)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "a"
+ │ ├── message_loc: (1,4)-(1,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,10 +16,10 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "not"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "not"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
- ├── closing_loc: (5...6) = ")"
+ ├── closing_loc: (1,5)-(1,6) = ")"
├── block: ∅
├── flags: ∅
└── name: "!"
diff --git a/test/yarp/snapshots/seattlerb/bug_op_asgn_rescue.txt b/test/yarp/snapshots/seattlerb/bug_op_asgn_rescue.txt
index 32ef0af5ff..c3df9b1be9 100644
--- a/test/yarp/snapshots/seattlerb/bug_op_asgn_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/bug_op_asgn_rescue.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ LocalVariableOrWriteNode (location: (0...18))
- ├── name_loc: (0...1) = "a"
- ├── operator_loc: (2...5) = "||="
+ └── @ LocalVariableOrWriteNode (location: (1,0)-(1,18))
+ ├── name_loc: (1,0)-(1,1) = "a"
+ ├── operator_loc: (1,2)-(1,5) = "||="
├── value:
- │ @ RescueModifierNode (location: (6...18))
+ │ @ RescueModifierNode (location: (1,6)-(1,18))
│ ├── expression:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (1,6)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "b"
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── keyword_loc: (8...14) = "rescue"
+ │ ├── keyword_loc: (1,8)-(1,14) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (15...18))
+ │ @ NilNode (location: (1,15)-(1,18))
├── name: :a
└── depth: 0
diff --git a/test/yarp/snapshots/seattlerb/call_and.txt b/test/yarp/snapshots/seattlerb/call_and.txt
index 2ebeeea7ac..009eb877d0 100644
--- a/test/yarp/snapshots/seattlerb/call_and.txt
+++ b/test/yarp/snapshots/seattlerb/call_and.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "&"
+ ├── message_loc: (1,2)-(1,3) = "&"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_arg_assoc.txt b/test/yarp/snapshots/seattlerb/call_arg_assoc.txt
index 0ffca3c181..2f7f20b2d9 100644
--- a/test/yarp/snapshots/seattlerb/call_arg_assoc.txt
+++ b/test/yarp/snapshots/seattlerb/call_arg_assoc.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...9))
+ │ @ ArgumentsNode (location: (1,2)-(1,9))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (2...3))
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (5...9))
+ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (5...9))
+ │ └── @ AssocNode (location: (1,5)-(1,9))
│ ├── key:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (8...9))
+ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
- │ └── operator_loc: (6...8) = "=>"
- ├── closing_loc: (9...10) = ")"
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
+ ├── closing_loc: (1,9)-(1,10) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_arg_assoc_kwsplat.txt b/test/yarp/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
index 1ec7c61252..f477f046ac 100644
--- a/test/yarp/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/call_arg_assoc_kwsplat.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...15))
+ │ @ ArgumentsNode (location: (1,2)-(1,15))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (2...3))
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (5...15))
+ │ └── @ KeywordHashNode (location: (1,5)-(1,15))
│ └── elements: (length: 2)
- │ ├── @ AssocNode (location: (5...10))
+ │ ├── @ AssocNode (location: (1,5)-(1,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (5...8))
+ │ │ │ @ SymbolNode (location: (1,5)-(1,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (5...7) = "kw"
- │ │ │ ├── closing_loc: (7...8) = ":"
+ │ │ │ ├── value_loc: (1,5)-(1,7) = "kw"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
│ │ │ └── unescaped: "kw"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── @ AssocSplatNode (location: (12...15))
+ │ └── @ AssocSplatNode (location: (1,12)-(1,15))
│ ├── value:
- │ │ @ IntegerNode (location: (14...15))
+ │ │ @ IntegerNode (location: (1,14)-(1,15))
│ │ └── flags: decimal
- │ └── operator_loc: (12...14) = "**"
- ├── closing_loc: (15...16) = ")"
+ │ └── operator_loc: (1,12)-(1,14) = "**"
+ ├── closing_loc: (1,15)-(1,16) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt b/test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt
index 3386fae386..6ebfe62964 100644
--- a/test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...8))
+ │ @ ArgumentsNode (location: (1,2)-(1,8))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (2...3))
+ │ ├── @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "b"
+ │ │ ├── message_loc: (1,2)-(1,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── @ KeywordHashNode (location: (5...8))
+ │ └── @ KeywordHashNode (location: (1,5)-(1,8))
│ └── elements: (length: 1)
- │ └── @ AssocSplatNode (location: (5...8))
+ │ └── @ AssocSplatNode (location: (1,5)-(1,8))
│ ├── value:
- │ │ @ IntegerNode (location: (7...8))
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
- │ └── operator_loc: (5...7) = "**"
- ├── closing_loc: (8...9) = ")"
+ │ └── operator_loc: (1,5)-(1,7) = "**"
+ ├── closing_loc: (1,8)-(1,9) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/yarp/snapshots/seattlerb/call_args_assoc_quoted.txt
index b78f31ad14..095bab4ce1 100644
--- a/test/yarp/snapshots/seattlerb/call_args_assoc_quoted.txt
+++ b/test/yarp/snapshots/seattlerb/call_args_assoc_quoted.txt
@@ -1,92 +1,92 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(5,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
- ├── @ CallNode (location: (0...11))
+ ├── @ CallNode (location: (1,0)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "x"
+ │ ├── message_loc: (1,0)-(1,1) = "x"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...11))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (2...11))
+ │ │ └── @ KeywordHashNode (location: (1,2)-(1,11))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (2...11))
+ │ │ └── @ AssocNode (location: (1,2)-(1,11))
│ │ ├── key:
- │ │ │ @ InterpolatedSymbolNode (location: (2...9))
- │ │ │ ├── opening_loc: (2...3) = "\""
+ │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9))
+ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
│ │ │ ├── parts: (length: 1)
- │ │ │ │ └── @ EmbeddedStatementsNode (location: (3...7))
- │ │ │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (5...6))
+ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (5...6) = "k"
+ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "k"
- │ │ │ │ └── closing_loc: (6...7) = "}"
- │ │ │ └── closing_loc: (7...9) = "\":"
+ │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "x"
- ├── @ CallNode (location: (13...21))
+ ├── @ CallNode (location: (3,0)-(3,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...14) = "x"
+ │ ├── message_loc: (3,0)-(3,1) = "x"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (15...21))
+ │ │ @ ArgumentsNode (location: (3,2)-(3,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (15...21))
+ │ │ └── @ KeywordHashNode (location: (3,2)-(3,8))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (15...21))
+ │ │ └── @ AssocNode (location: (3,2)-(3,8))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (15...19))
- │ │ │ ├── opening_loc: (15...16) = "\""
- │ │ │ ├── value_loc: (16...17) = "k"
- │ │ │ ├── closing_loc: (17...19) = "\":"
+ │ │ │ @ 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: (19...21))
+ │ │ │ @ IntegerNode (location: (3,6)-(3,8))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "x"
- └── @ CallNode (location: (23...31))
+ └── @ CallNode (location: (5,0)-(5,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (23...24) = "x"
+ ├── message_loc: (5,0)-(5,1) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (25...31))
+ │ @ ArgumentsNode (location: (5,2)-(5,8))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (25...31))
+ │ └── @ KeywordHashNode (location: (5,2)-(5,8))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (25...31))
+ │ └── @ AssocNode (location: (5,2)-(5,8))
│ ├── key:
- │ │ @ SymbolNode (location: (25...29))
- │ │ ├── opening_loc: (25...26) = "'"
- │ │ ├── value_loc: (26...27) = "k"
- │ │ ├── closing_loc: (27...29) = "':"
+ │ │ @ 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: (29...31))
+ │ │ @ IntegerNode (location: (5,6)-(5,8))
│ │ └── flags: decimal
│ └── operator_loc: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_args_assoc_trailing_comma.txt b/test/yarp/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
index c4a3a7c638..7af70d5832 100644
--- a/test/yarp/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/call_args_assoc_trailing_comma.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...9))
+ │ @ ArgumentsNode (location: (1,2)-(1,9))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (2...3))
+ │ ├── @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (5...9))
+ │ └── @ KeywordHashNode (location: (1,5)-(1,9))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (5...9))
+ │ └── @ AssocNode (location: (1,5)-(1,9))
│ ├── key:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (8...9))
+ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
- │ └── operator_loc: (6...8) = "=>"
- ├── closing_loc: (10...11) = ")"
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
+ ├── closing_loc: (1,10)-(1,11) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_args_command.txt b/test/yarp/snapshots/seattlerb/call_args_command.txt
index e53bb254a3..dfd0e60fbd 100644
--- a/test/yarp/snapshots/seattlerb/call_args_command.txt
+++ b/test/yarp/snapshots/seattlerb/call_args_command.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "b"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...9))
+ │ @ ArgumentsNode (location: (1,4)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (4...9))
+ │ └── @ CallNode (location: (1,4)-(1,9))
│ ├── receiver:
- │ │ @ CallNode (location: (4...5))
+ │ │ @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "c"
+ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── call_operator_loc: (5...6) = "."
- │ ├── message_loc: (6...7) = "d"
+ │ ├── call_operator_loc: (1,5)-(1,6) = "."
+ │ ├── message_loc: (1,6)-(1,7) = "d"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...9))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (8...9))
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_array_arg.txt b/test/yarp/snapshots/seattlerb/call_array_arg.txt
index b2f0cb9e7b..f0bc196cf3 100644
--- a/test/yarp/snapshots/seattlerb/call_array_arg.txt
+++ b/test/yarp/snapshots/seattlerb/call_array_arg.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = "=="
+ ├── message_loc: (1,2)-(1,4) = "=="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...13))
+ │ @ ArgumentsNode (location: (1,5)-(1,13))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (5...13))
+ │ └── @ ArrayNode (location: (1,5)-(1,13))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (6...8))
- │ │ │ ├── opening_loc: (6...7) = ":"
- │ │ │ ├── value_loc: (7...8) = "b"
+ │ │ ├── @ 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: (10...12))
- │ │ ├── opening_loc: (10...11) = ":"
- │ │ ├── value_loc: (11...12) = "c"
+ │ │ └── @ 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: (5...6) = "["
- │ └── closing_loc: (12...13) = "]"
+ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_array_block_call.txt b/test/yarp/snapshots/seattlerb/call_array_block_call.txt
index 66df83d61b..6c78b7f52c 100644
--- a/test/yarp/snapshots/seattlerb/call_array_block_call.txt
+++ b/test/yarp/snapshots/seattlerb/call_array_block_call.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ CallNode (location: (0...19))
+ └── @ CallNode (location: (1,0)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...19))
+ │ @ ArgumentsNode (location: (1,2)-(1,19))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (2...19))
+ │ └── @ ArrayNode (location: (1,2)-(1,19))
│ ├── elements: (length: 2)
- │ │ ├── @ NilNode (location: (4...7))
- │ │ └── @ CallNode (location: (9...17))
+ │ │ ├── @ NilNode (location: (1,4)-(1,7))
+ │ │ └── @ CallNode (location: (1,9)-(1,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "b"
+ │ │ ├── message_loc: (1,9)-(1,10) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (11...17))
+ │ │ │ @ BlockNode (location: (1,11)-(1,17))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (11...13) = "do"
- │ │ │ └── closing_loc: (14...17) = "end"
+ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ │ │ └── closing_loc: (1,14)-(1,17) = "end"
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ ├── opening_loc: (2...3) = "["
- │ └── closing_loc: (18...19) = "]"
+ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ └── closing_loc: (1,18)-(1,19) = "]"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_array_lambda_block_call.txt b/test/yarp/snapshots/seattlerb/call_array_lambda_block_call.txt
index 3f05bbf5f7..7b25a64419 100644
--- a/test/yarp/snapshots/seattlerb/call_array_lambda_block_call.txt
+++ b/test/yarp/snapshots/seattlerb/call_array_lambda_block_call.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(2,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...11))
+ │ @ ArgumentsNode (location: (1,2)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (2...11))
+ │ └── @ ArrayNode (location: (1,2)-(1,11))
│ ├── elements: (length: 1)
- │ │ └── @ LambdaNode (location: (3...10))
+ │ │ └── @ LambdaNode (location: (1,3)-(1,10))
│ │ ├── locals: []
- │ │ ├── operator_loc: (3...5) = "->"
- │ │ ├── opening_loc: (8...9) = "{"
- │ │ ├── closing_loc: (9...10) = "}"
+ │ │ ├── operator_loc: (1,3)-(1,5) = "->"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
+ │ │ ├── closing_loc: (1,9)-(1,10) = "}"
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (5...7))
+ │ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ └── closing_loc: (6...7) = ")"
+ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ └── closing_loc: (1,6)-(1,7) = ")"
│ │ └── body: ∅
- │ ├── opening_loc: (2...3) = "["
- │ └── closing_loc: (10...11) = "]"
+ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ └── closing_loc: (1,10)-(1,11) = "]"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (12...18))
+ │ @ BlockNode (location: (1,12)-(2,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (12...14) = "do"
- │ └── closing_loc: (15...18) = "end"
+ │ ├── opening_loc: (1,12)-(1,14) = "do"
+ │ └── closing_loc: (2,0)-(2,3) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_array_lit_inline_hash.txt b/test/yarp/snapshots/seattlerb/call_array_lit_inline_hash.txt
index 6dd5f4cb48..6ce4c98d5f 100644
--- a/test/yarp/snapshots/seattlerb/call_array_lit_inline_hash.txt
+++ b/test/yarp/snapshots/seattlerb/call_array_lit_inline_hash.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...15))
+ │ @ ArgumentsNode (location: (1,2)-(1,15))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (2...15))
+ │ └── @ ArrayNode (location: (1,2)-(1,15))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (3...5))
- │ │ │ ├── opening_loc: (3...4) = ":"
- │ │ │ ├── value_loc: (4...5) = "b"
+ │ │ ├── @ 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: (7...14))
+ │ │ └── @ KeywordHashNode (location: (1,7)-(1,14))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (7...14))
+ │ │ └── @ AssocNode (location: (1,7)-(1,14))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (7...9))
- │ │ │ ├── opening_loc: (7...8) = ":"
- │ │ │ ├── value_loc: (8...9) = "c"
+ │ │ │ @ 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: (13...14))
+ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (10...12) = "=>"
- │ ├── opening_loc: (2...3) = "["
- │ └── closing_loc: (14...15) = "]"
- ├── closing_loc: (15...16) = ")"
+ │ │ └── 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: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_assoc.txt b/test/yarp/snapshots/seattlerb/call_assoc.txt
index 4fba76817f..59ede3254e 100644
--- a/test/yarp/snapshots/seattlerb/call_assoc.txt
+++ b/test/yarp/snapshots/seattlerb/call_assoc.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...6))
+ │ @ ArgumentsNode (location: (1,2)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...6))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...6))
+ │ └── @ AssocNode (location: (1,2)-(1,6))
│ ├── key:
- │ │ @ IntegerNode (location: (2...3))
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ └── operator_loc: (3...5) = "=>"
- ├── closing_loc: (6...7) = ")"
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
+ ├── closing_loc: (1,6)-(1,7) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_assoc_new.txt b/test/yarp/snapshots/seattlerb/call_assoc_new.txt
index 6a71ea1884..d1121c377f 100644
--- a/test/yarp/snapshots/seattlerb/call_assoc_new.txt
+++ b/test/yarp/snapshots/seattlerb/call_assoc_new.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...5))
+ │ @ ArgumentsNode (location: (1,2)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...5))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...5))
+ │ └── @ AssocNode (location: (1,2)-(1,5))
│ ├── key:
- │ │ @ SymbolNode (location: (2...4))
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (2...3) = "a"
- │ │ ├── closing_loc: (3...4) = ":"
+ │ │ ├── value_loc: (1,2)-(1,3) = "a"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
│ │ └── unescaped: "a"
│ ├── value:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ └── operator_loc: ∅
- ├── closing_loc: (5...6) = ")"
+ ├── closing_loc: (1,5)-(1,6) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_assoc_new_if_multiline.txt b/test/yarp/snapshots/seattlerb/call_assoc_new_if_multiline.txt
index 786e7359c6..c7ea9767c7 100644
--- a/test/yarp/snapshots/seattlerb/call_assoc_new_if_multiline.txt
+++ b/test/yarp/snapshots/seattlerb/call_assoc_new_if_multiline.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(5,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(5,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...24))
+ └── @ CallNode (location: (1,0)-(5,4))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...23))
+ │ @ ArgumentsNode (location: (1,2)-(5,3))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...23))
+ │ └── @ KeywordHashNode (location: (1,2)-(5,3))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...23))
+ │ └── @ AssocNode (location: (1,2)-(5,3))
│ ├── key:
- │ │ @ SymbolNode (location: (2...4))
+ │ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (2...3) = "b"
- │ │ ├── closing_loc: (3...4) = ":"
+ │ │ ├── value_loc: (1,2)-(1,3) = "b"
+ │ │ ├── closing_loc: (1,3)-(1,4) = ":"
│ │ └── unescaped: "b"
│ ├── value:
- │ │ @ IfNode (location: (5...23))
- │ │ ├── if_keyword_loc: (5...7) = "if"
+ │ │ @ IfNode (location: (1,5)-(5,3))
+ │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if"
│ │ ├── predicate:
- │ │ │ @ SymbolNode (location: (8...10))
- │ │ │ ├── opening_loc: (8...9) = ":"
- │ │ │ ├── value_loc: (9...10) = "c"
+ │ │ │ @ SymbolNode (location: (1,8)-(1,10))
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = ":"
+ │ │ │ ├── value_loc: (1,9)-(1,10) = "c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "c"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (11...12))
+ │ │ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (11...12))
+ │ │ │ └── @ IntegerNode (location: (2,0)-(2,1))
│ │ │ └── flags: decimal
│ │ ├── consequent:
- │ │ │ @ ElseNode (location: (13...23))
- │ │ │ ├── else_keyword_loc: (13...17) = "else"
+ │ │ │ @ ElseNode (location: (3,0)-(5,3))
+ │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (18...19))
+ │ │ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (18...19))
+ │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1))
│ │ │ │ └── flags: decimal
- │ │ │ └── end_keyword_loc: (20...23) = "end"
- │ │ └── end_keyword_loc: (20...23) = "end"
+ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
│ └── operator_loc: ∅
- ├── closing_loc: (23...24) = ")"
+ ├── closing_loc: (5,3)-(5,4) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_assoc_trailing_comma.txt b/test/yarp/snapshots/seattlerb/call_assoc_trailing_comma.txt
index 5fb5ef02d3..bf0cce6956 100644
--- a/test/yarp/snapshots/seattlerb/call_assoc_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/call_assoc_trailing_comma.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...6))
+ │ @ ArgumentsNode (location: (1,2)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...6))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...6))
+ │ └── @ AssocNode (location: (1,2)-(1,6))
│ ├── key:
- │ │ @ IntegerNode (location: (2...3))
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ └── operator_loc: (3...5) = "=>"
- ├── closing_loc: (7...8) = ")"
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
+ ├── closing_loc: (1,7)-(1,8) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_bang_command_call.txt b/test/yarp/snapshots/seattlerb/call_bang_command_call.txt
index f8be3b5c50..b38ffe085b 100644
--- a/test/yarp/snapshots/seattlerb/call_bang_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/call_bang_command_call.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ CallNode (location: (2...7))
+ │ @ CallNode (location: (1,2)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (2...3))
+ │ │ @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "a"
+ │ │ ├── message_loc: (1,2)-(1,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "b"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...7))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (6...7))
+ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_bang_squiggle.txt b/test/yarp/snapshots/seattlerb/call_bang_squiggle.txt
index 4c2bb28925..2bc2d0a9bd 100644
--- a/test/yarp/snapshots/seattlerb/call_bang_squiggle.txt
+++ b/test/yarp/snapshots/seattlerb/call_bang_squiggle.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = "!~"
+ ├── message_loc: (1,2)-(1,4) = "!~"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_begin_call_block_call.txt b/test/yarp/snapshots/seattlerb/call_begin_call_block_call.txt
index eaa754eae3..f43f9a0bd9 100644
--- a/test/yarp/snapshots/seattlerb/call_begin_call_block_call.txt
+++ b/test/yarp/snapshots/seattlerb/call_begin_call_block_call.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...22))
+ │ @ ArgumentsNode (location: (1,2)-(3,3))
│ └── arguments: (length: 1)
- │ └── @ BeginNode (location: (2...22))
- │ ├── begin_keyword_loc: (2...7) = "begin"
+ │ └── @ BeginNode (location: (1,2)-(3,3))
+ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (8...18))
+ │ │ @ StatementsNode (location: (2,0)-(2,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (8...18))
+ │ │ └── @ CallNode (location: (2,0)-(2,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (8...9))
+ │ │ │ @ CallNode (location: (2,0)-(2,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (8...9) = "b"
+ │ │ │ ├── message_loc: (2,0)-(2,1) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── call_operator_loc: (9...10) = "."
- │ │ ├── message_loc: (10...11) = "c"
+ │ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ │ ├── message_loc: (2,2)-(2,3) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (12...18))
+ │ │ │ @ BlockNode (location: (2,4)-(2,10))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (12...14) = "do"
- │ │ │ └── closing_loc: (15...18) = "end"
+ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ │ │ └── closing_loc: (2,7)-(2,10) = "end"
│ │ ├── flags: ∅
│ │ └── name: "c"
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (19...22) = "end"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_block_arg_named.txt b/test/yarp/snapshots/seattlerb/call_block_arg_named.txt
index 6ab3184974..deb1433cab 100644
--- a/test/yarp/snapshots/seattlerb/call_block_arg_named.txt
+++ b/test/yarp/snapshots/seattlerb/call_block_arg_named.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "x"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "x"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments: ∅
- ├── closing_loc: (6...7) = ")"
+ ├── closing_loc: (1,6)-(1,7) = ")"
├── block:
- │ @ BlockArgumentNode (location: (2...6))
+ │ @ BlockArgumentNode (location: (1,2)-(1,6))
│ ├── expression:
- │ │ @ CallNode (location: (3...6))
+ │ │ @ CallNode (location: (1,3)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...6) = "blk"
+ │ │ ├── message_loc: (1,3)-(1,6) = "blk"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "blk"
- │ └── operator_loc: (2...3) = "&"
+ │ └── operator_loc: (1,2)-(1,3) = "&"
├── flags: ∅
└── name: "x"
diff --git a/test/yarp/snapshots/seattlerb/call_carat.txt b/test/yarp/snapshots/seattlerb/call_carat.txt
index 3806586ee0..6bf95e2a5a 100644
--- a/test/yarp/snapshots/seattlerb/call_carat.txt
+++ b/test/yarp/snapshots/seattlerb/call_carat.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "^"
+ ├── message_loc: (1,2)-(1,3) = "^"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_colon2.txt b/test/yarp/snapshots/seattlerb/call_colon2.txt
index 0342eb19d5..42206b4f08 100644
--- a/test/yarp/snapshots/seattlerb/call_colon2.txt
+++ b/test/yarp/snapshots/seattlerb/call_colon2.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ ConstantReadNode (location: (0...1))
+ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
- ├── call_operator_loc: (1...3) = "::"
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_colon_parens.txt b/test/yarp/snapshots/seattlerb/call_colon_parens.txt
index 1d331efa9f..f1327adac3 100644
--- a/test/yarp/snapshots/seattlerb/call_colon_parens.txt
+++ b/test/yarp/snapshots/seattlerb/call_colon_parens.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
- ├── call_operator_loc: (1...3) = "::"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
├── message_loc: ∅
- ├── opening_loc: (3...4) = "("
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
- ├── closing_loc: (4...5) = ")"
+ ├── closing_loc: (1,4)-(1,5) = ")"
├── block: ∅
├── flags: ∅
└── name: "call"
diff --git a/test/yarp/snapshots/seattlerb/call_div.txt b/test/yarp/snapshots/seattlerb/call_div.txt
index 17cb5ee6b4..4a9961847b 100644
--- a/test/yarp/snapshots/seattlerb/call_div.txt
+++ b/test/yarp/snapshots/seattlerb/call_div.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "/"
+ ├── message_loc: (1,2)-(1,3) = "/"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_dot_parens.txt b/test/yarp/snapshots/seattlerb/call_dot_parens.txt
index b6273090c4..a473a2258a 100644
--- a/test/yarp/snapshots/seattlerb/call_dot_parens.txt
+++ b/test/yarp/snapshots/seattlerb/call_dot_parens.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
- ├── call_operator_loc: (1...2) = "."
+ ├── call_operator_loc: (1,1)-(1,2) = "."
├── message_loc: ∅
- ├── opening_loc: (2...3) = "("
+ ├── opening_loc: (1,2)-(1,3) = "("
├── arguments: ∅
- ├── closing_loc: (3...4) = ")"
+ ├── closing_loc: (1,3)-(1,4) = ")"
├── block: ∅
├── flags: ∅
└── name: "call"
diff --git a/test/yarp/snapshots/seattlerb/call_env.txt b/test/yarp/snapshots/seattlerb/call_env.txt
index 2d45895c91..f2996f3a21 100644
--- a/test/yarp/snapshots/seattlerb/call_env.txt
+++ b/test/yarp/snapshots/seattlerb/call_env.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...7) = "happy"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,7) = "happy"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_eq3.txt b/test/yarp/snapshots/seattlerb/call_eq3.txt
index 3cb3c0cb58..146aa7993a 100644
--- a/test/yarp/snapshots/seattlerb/call_eq3.txt
+++ b/test/yarp/snapshots/seattlerb/call_eq3.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...5) = "==="
+ ├── message_loc: (1,2)-(1,5) = "==="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...7))
+ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (6...7))
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_gt.txt b/test/yarp/snapshots/seattlerb/call_gt.txt
index c04d1eedfc..8cb2772a90 100644
--- a/test/yarp/snapshots/seattlerb/call_gt.txt
+++ b/test/yarp/snapshots/seattlerb/call_gt.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = ">"
+ ├── message_loc: (1,2)-(1,3) = ">"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_kwsplat.txt b/test/yarp/snapshots/seattlerb/call_kwsplat.txt
index 2d8eb3213b..d750ea21e9 100644
--- a/test/yarp/snapshots/seattlerb/call_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/call_kwsplat.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...5))
+ │ @ ArgumentsNode (location: (1,2)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...5))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,5))
│ └── elements: (length: 1)
- │ └── @ AssocSplatNode (location: (2...5))
+ │ └── @ AssocSplatNode (location: (1,2)-(1,5))
│ ├── value:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── operator_loc: (2...4) = "**"
- ├── closing_loc: (5...6) = ")"
+ │ └── operator_loc: (1,2)-(1,4) = "**"
+ ├── closing_loc: (1,5)-(1,6) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_leading_dots.txt b/test/yarp/snapshots/seattlerb/call_leading_dots.txt
index e0195c2c66..a8fad7a4aa 100644
--- a/test/yarp/snapshots/seattlerb/call_leading_dots.txt
+++ b/test/yarp/snapshots/seattlerb/call_leading_dots.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(3,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(3,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(3,2))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(2,2))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (2...3) = "."
- │ ├── message_loc: (3...4) = "b"
+ │ ├── call_operator_loc: (2,0)-(2,1) = "."
+ │ ├── message_loc: (2,1)-(2,2) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (5...6) = "."
- ├── message_loc: (6...7) = "c"
+ ├── call_operator_loc: (3,0)-(3,1) = "."
+ ├── message_loc: (3,1)-(3,2) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_leading_dots_comment.txt b/test/yarp/snapshots/seattlerb/call_leading_dots_comment.txt
index 6027ee1a9b..b21a68b542 100644
--- a/test/yarp/snapshots/seattlerb/call_leading_dots_comment.txt
+++ b/test/yarp/snapshots/seattlerb/call_leading_dots_comment.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(4,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(4,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(4,2))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(2,2))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (2...3) = "."
- │ ├── message_loc: (3...4) = "b"
+ │ ├── call_operator_loc: (2,0)-(2,1) = "."
+ │ ├── message_loc: (2,1)-(2,2) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (9...10) = "."
- ├── message_loc: (10...11) = "d"
+ ├── call_operator_loc: (4,0)-(4,1) = "."
+ ├── message_loc: (4,1)-(4,2) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_lt.txt b/test/yarp/snapshots/seattlerb/call_lt.txt
index dcd453c9de..dcdfbb3420 100644
--- a/test/yarp/snapshots/seattlerb/call_lt.txt
+++ b/test/yarp/snapshots/seattlerb/call_lt.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "<"
+ ├── message_loc: (1,2)-(1,3) = "<"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_lte.txt b/test/yarp/snapshots/seattlerb/call_lte.txt
index 2abb91176f..32f886fa3c 100644
--- a/test/yarp/snapshots/seattlerb/call_lte.txt
+++ b/test/yarp/snapshots/seattlerb/call_lte.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = "<="
+ ├── message_loc: (1,2)-(1,4) = "<="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_not.txt b/test/yarp/snapshots/seattlerb/call_not.txt
index 0c72554d2c..6c2f2d5f52 100644
--- a/test/yarp/snapshots/seattlerb/call_not.txt
+++ b/test/yarp/snapshots/seattlerb/call_not.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (4...6))
+ │ @ IntegerNode (location: (1,4)-(1,6))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "not"
+ ├── message_loc: (1,0)-(1,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_pipe.txt b/test/yarp/snapshots/seattlerb/call_pipe.txt
index 2c9c1baa41..4981718ce9 100644
--- a/test/yarp/snapshots/seattlerb/call_pipe.txt
+++ b/test/yarp/snapshots/seattlerb/call_pipe.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "|"
+ ├── message_loc: (1,2)-(1,3) = "|"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_rshift.txt b/test/yarp/snapshots/seattlerb/call_rshift.txt
index 81f8227dd0..dd50e3e336 100644
--- a/test/yarp/snapshots/seattlerb/call_rshift.txt
+++ b/test/yarp/snapshots/seattlerb/call_rshift.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = ">>"
+ ├── message_loc: (1,2)-(1,4) = ">>"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_self_brackets.txt b/test/yarp/snapshots/seattlerb/call_self_brackets.txt
index c0b208cddc..0fb7d677d8 100644
--- a/test/yarp/snapshots/seattlerb/call_self_brackets.txt
+++ b/test/yarp/snapshots/seattlerb/call_self_brackets.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ SelfNode (location: (0...4))
+ │ @ SelfNode (location: (1,0)-(1,4))
├── call_operator_loc: ∅
- ├── message_loc: (4...7) = "[1]"
- ├── opening_loc: (4...5) = "["
+ ├── message_loc: (1,4)-(1,7) = "[1]"
+ ├── opening_loc: (1,4)-(1,5) = "["
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
- ├── closing_loc: (6...7) = "]"
+ ├── closing_loc: (1,6)-(1,7) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/seattlerb/call_spaceship.txt b/test/yarp/snapshots/seattlerb/call_spaceship.txt
index d6cfef6900..388b8dc427 100644
--- a/test/yarp/snapshots/seattlerb/call_spaceship.txt
+++ b/test/yarp/snapshots/seattlerb/call_spaceship.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...5) = "<=>"
+ ├── message_loc: (1,2)-(1,5) = "<=>"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...7))
+ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (6...7))
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_stabby_do_end_with_block.txt b/test/yarp/snapshots/seattlerb/call_stabby_do_end_with_block.txt
index 9108c20dab..576e1a49b0 100644
--- a/test/yarp/snapshots/seattlerb/call_stabby_do_end_with_block.txt
+++ b/test/yarp/snapshots/seattlerb/call_stabby_do_end_with_block.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(1,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...13))
+ │ @ ArgumentsNode (location: (1,2)-(1,13))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...13))
+ │ └── @ LambdaNode (location: (1,2)-(1,13))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (5...7) = "do"
- │ ├── closing_loc: (10...13) = "end"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ ├── closing_loc: (1,10)-(1,13) = "end"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (8...9))
+ │ @ StatementsNode (location: (1,8)-(1,9))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (8...9))
+ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ └── flags: decimal
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (14...22))
+ │ @ BlockNode (location: (1,14)-(1,22))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (17...18))
+ │ │ @ StatementsNode (location: (1,17)-(1,18))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (17...18))
+ │ │ └── @ IntegerNode (location: (1,17)-(1,18))
│ │ └── flags: decimal
- │ ├── opening_loc: (14...16) = "do"
- │ └── closing_loc: (19...22) = "end"
+ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ └── closing_loc: (1,19)-(1,22) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_stabby_with_braces_block.txt b/test/yarp/snapshots/seattlerb/call_stabby_with_braces_block.txt
index 4cd5b1ff02..0dc00fd90d 100644
--- a/test/yarp/snapshots/seattlerb/call_stabby_with_braces_block.txt
+++ b/test/yarp/snapshots/seattlerb/call_stabby_with_braces_block.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ CallNode (location: (0...19))
+ └── @ CallNode (location: (1,0)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...10))
+ │ @ ArgumentsNode (location: (1,2)-(1,10))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...10))
+ │ └── @ LambdaNode (location: (1,2)-(1,10))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (5...6) = "{"
- │ ├── closing_loc: (9...10) = "}"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ ├── closing_loc: (1,9)-(1,10) = "}"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (7...8))
+ │ @ StatementsNode (location: (1,7)-(1,8))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (11...19))
+ │ @ BlockNode (location: (1,11)-(1,19))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (14...15))
+ │ │ @ StatementsNode (location: (1,14)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (14...15))
+ │ │ └── @ IntegerNode (location: (1,14)-(1,15))
│ │ └── flags: decimal
- │ ├── opening_loc: (11...13) = "do"
- │ └── closing_loc: (16...19) = "end"
+ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ └── closing_loc: (1,16)-(1,19) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/call_star.txt b/test/yarp/snapshots/seattlerb/call_star.txt
index 0cebfab357..bf3fa53b44 100644
--- a/test/yarp/snapshots/seattlerb/call_star.txt
+++ b/test/yarp/snapshots/seattlerb/call_star.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...3) = "*"
+ ├── message_loc: (1,2)-(1,3) = "*"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_star2.txt b/test/yarp/snapshots/seattlerb/call_star2.txt
index cb4f599474..960f676135 100644
--- a/test/yarp/snapshots/seattlerb/call_star2.txt
+++ b/test/yarp/snapshots/seattlerb/call_star2.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (2...4) = "**"
+ ├── message_loc: (1,2)-(1,4) = "**"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_trailing_comma.txt b/test/yarp/snapshots/seattlerb/call_trailing_comma.txt
index 8838e5f7ad..91ffc098bf 100644
--- a/test/yarp/snapshots/seattlerb/call_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/call_trailing_comma.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...3))
+ │ @ ArgumentsNode (location: (1,2)-(1,3))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (2...3))
+ │ └── @ IntegerNode (location: (1,2)-(1,3))
│ └── flags: decimal
- ├── closing_loc: (4...5) = ")"
+ ├── closing_loc: (1,4)-(1,5) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/call_trailing_dots.txt b/test/yarp/snapshots/seattlerb/call_trailing_dots.txt
index ee96195589..828db0ce3b 100644
--- a/test/yarp/snapshots/seattlerb/call_trailing_dots.txt
+++ b/test/yarp/snapshots/seattlerb/call_trailing_dots.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(3,1))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(2,1))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...2) = "."
- │ ├── message_loc: (3...4) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
+ │ ├── message_loc: (2,0)-(2,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- ├── call_operator_loc: (4...5) = "."
- ├── message_loc: (6...7) = "c"
+ ├── call_operator_loc: (2,1)-(2,2) = "."
+ ├── message_loc: (3,0)-(3,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/call_unary_bang.txt b/test/yarp/snapshots/seattlerb/call_unary_bang.txt
index 97a63ec630..a3dc0368a5 100644
--- a/test/yarp/snapshots/seattlerb/call_unary_bang.txt
+++ b/test/yarp/snapshots/seattlerb/call_unary_bang.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...2))
+ └── @ CallNode (location: (1,0)-(1,2))
├── receiver:
- │ @ IntegerNode (location: (1...2))
+ │ @ IntegerNode (location: (1,1)-(1,2))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/case_in.txt b/test/yarp/snapshots/seattlerb/case_in.txt
index aefba4ea42..94556ddecb 100644
--- a/test/yarp/snapshots/seattlerb/case_in.txt
+++ b/test/yarp/snapshots/seattlerb/case_in.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...747))
+@ ProgramNode (location: (1,0)-(111,3))
├── locals: [:b, :_, :lhs, :x, :rhs, :c, :e]
└── statements:
- @ StatementsNode (location: (0...747))
+ @ StatementsNode (location: (1,0)-(111,3))
└── body: (length: 28)
- ├── @ CaseNode (location: (0...21))
+ ├── @ CaseNode (location: (1,0)-(3,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (5...7))
- │ │ ├── opening_loc: (5...6) = ":"
- │ │ ├── value_loc: (6...7) = "a"
+ │ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (8...16))
+ │ │ └── @ InNode (location: (2,0)-(2,8))
│ │ ├── pattern:
- │ │ │ @ HashPatternNode (location: (12...16))
+ │ │ │ @ HashPatternNode (location: (2,4)-(2,8))
│ │ │ ├── constant: ∅
│ │ │ ├── assocs: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (12...16))
+ │ │ │ │ └── @ AssocNode (location: (2,4)-(2,8))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (12...16))
- │ │ │ │ │ ├── opening_loc: (12...13) = "\""
- │ │ │ │ │ ├── value_loc: (13...14) = "b"
- │ │ │ │ │ ├── closing_loc: (14...16) = "\":"
+ │ │ │ │ │ @ SymbolNode (location: (2,4)-(2,8))
+ │ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\""
+ │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
+ │ │ │ │ │ ├── closing_loc: (2,6)-(2,8) = "\":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value: ∅
│ │ │ │ └── operator_loc: ∅
@@ -29,502 +29,502 @@
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (8...10) = "in"
+ │ │ ├── in_loc: (2,0)-(2,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (0...4) = "case"
- │ └── end_keyword_loc: (18...21) = "end"
- ├── @ CaseNode (location: (23...45))
+ │ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ CaseNode (location: (5,0)-(7,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (28...30))
- │ │ ├── opening_loc: (28...29) = ":"
- │ │ ├── value_loc: (29...30) = "a"
+ │ │ @ SymbolNode (location: (5,5)-(5,7))
+ │ │ ├── opening_loc: (5,5)-(5,6) = ":"
+ │ │ ├── value_loc: (5,6)-(5,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (31...41))
+ │ │ └── @ InNode (location: (6,0)-(6,10))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (34...41))
+ │ │ │ @ ArrayNode (location: (6,3)-(6,10))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (37...38))
+ │ │ │ │ ├── @ SymbolNode (location: (6,6)-(6,7))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (37...38) = "a"
+ │ │ │ │ │ ├── value_loc: (6,6)-(6,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ SymbolNode (location: (39...40))
+ │ │ │ │ └── @ SymbolNode (location: (6,8)-(6,9))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (39...40) = "b"
+ │ │ │ │ ├── value_loc: (6,8)-(6,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ ├── opening_loc: (34...37) = "%I["
- │ │ │ └── closing_loc: (40...41) = "]"
+ │ │ │ ├── opening_loc: (6,3)-(6,6) = "%I["
+ │ │ │ └── closing_loc: (6,9)-(6,10) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (31...33) = "in"
+ │ │ ├── in_loc: (6,0)-(6,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (23...27) = "case"
- │ └── end_keyword_loc: (42...45) = "end"
- ├── @ CaseNode (location: (47...69))
+ │ ├── case_keyword_loc: (5,0)-(5,4) = "case"
+ │ └── end_keyword_loc: (7,0)-(7,3) = "end"
+ ├── @ CaseNode (location: (9,0)-(11,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (52...54))
- │ │ ├── opening_loc: (52...53) = ":"
- │ │ ├── value_loc: (53...54) = "a"
+ │ │ @ SymbolNode (location: (9,5)-(9,7))
+ │ │ ├── opening_loc: (9,5)-(9,6) = ":"
+ │ │ ├── value_loc: (9,6)-(9,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (55...65))
+ │ │ └── @ InNode (location: (10,0)-(10,10))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (58...65))
+ │ │ │ @ ArrayNode (location: (10,3)-(10,10))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (61...62))
+ │ │ │ │ ├── @ StringNode (location: (10,6)-(10,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (61...62) = "a"
+ │ │ │ │ │ ├── content_loc: (10,6)-(10,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ StringNode (location: (63...64))
+ │ │ │ │ └── @ StringNode (location: (10,8)-(10,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (63...64) = "b"
+ │ │ │ │ ├── content_loc: (10,8)-(10,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ ├── opening_loc: (58...61) = "%W["
- │ │ │ └── closing_loc: (64...65) = "]"
+ │ │ │ ├── opening_loc: (10,3)-(10,6) = "%W["
+ │ │ │ └── closing_loc: (10,9)-(10,10) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (55...57) = "in"
+ │ │ ├── in_loc: (10,0)-(10,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (47...51) = "case"
- │ └── end_keyword_loc: (66...69) = "end"
- ├── @ CaseNode (location: (71...93))
+ │ ├── case_keyword_loc: (9,0)-(9,4) = "case"
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ CaseNode (location: (13,0)-(15,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (76...78))
- │ │ ├── opening_loc: (76...77) = ":"
- │ │ ├── value_loc: (77...78) = "a"
+ │ │ @ SymbolNode (location: (13,5)-(13,7))
+ │ │ ├── opening_loc: (13,5)-(13,6) = ":"
+ │ │ ├── value_loc: (13,6)-(13,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (79...89))
+ │ │ └── @ InNode (location: (14,0)-(14,10))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (82...89))
+ │ │ │ @ ArrayNode (location: (14,3)-(14,10))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (85...86))
+ │ │ │ │ ├── @ SymbolNode (location: (14,6)-(14,7))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (85...86) = "a"
+ │ │ │ │ │ ├── value_loc: (14,6)-(14,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ SymbolNode (location: (87...88))
+ │ │ │ │ └── @ SymbolNode (location: (14,8)-(14,9))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (87...88) = "b"
+ │ │ │ │ ├── value_loc: (14,8)-(14,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ ├── opening_loc: (82...85) = "%i["
- │ │ │ └── closing_loc: (88...89) = "]"
+ │ │ │ ├── opening_loc: (14,3)-(14,6) = "%i["
+ │ │ │ └── closing_loc: (14,9)-(14,10) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (79...81) = "in"
+ │ │ ├── in_loc: (14,0)-(14,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (71...75) = "case"
- │ └── end_keyword_loc: (90...93) = "end"
- ├── @ CaseNode (location: (95...117))
+ │ ├── case_keyword_loc: (13,0)-(13,4) = "case"
+ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ ├── @ CaseNode (location: (17,0)-(19,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (100...102))
- │ │ ├── opening_loc: (100...101) = ":"
- │ │ ├── value_loc: (101...102) = "a"
+ │ │ @ SymbolNode (location: (17,5)-(17,7))
+ │ │ ├── opening_loc: (17,5)-(17,6) = ":"
+ │ │ ├── value_loc: (17,6)-(17,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (103...113))
+ │ │ └── @ InNode (location: (18,0)-(18,10))
│ │ ├── pattern:
- │ │ │ @ ArrayNode (location: (106...113))
+ │ │ │ @ ArrayNode (location: (18,3)-(18,10))
│ │ │ ├── elements: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (109...110))
+ │ │ │ │ ├── @ StringNode (location: (18,6)-(18,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (109...110) = "a"
+ │ │ │ │ │ ├── content_loc: (18,6)-(18,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
- │ │ │ │ └── @ StringNode (location: (111...112))
+ │ │ │ │ └── @ StringNode (location: (18,8)-(18,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (111...112) = "b"
+ │ │ │ │ ├── content_loc: (18,8)-(18,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ ├── opening_loc: (106...109) = "%w["
- │ │ │ └── closing_loc: (112...113) = "]"
+ │ │ │ ├── opening_loc: (18,3)-(18,6) = "%w["
+ │ │ │ └── closing_loc: (18,9)-(18,10) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (103...105) = "in"
+ │ │ ├── in_loc: (18,0)-(18,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (95...99) = "case"
- │ └── end_keyword_loc: (114...117) = "end"
- ├── @ CaseNode (location: (119...141))
+ │ ├── case_keyword_loc: (17,0)-(17,4) = "case"
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ CaseNode (location: (21,0)-(23,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (124...126))
- │ │ ├── opening_loc: (124...125) = ":"
- │ │ ├── value_loc: (125...126) = "a"
+ │ │ @ SymbolNode (location: (21,5)-(21,7))
+ │ │ ├── opening_loc: (21,5)-(21,6) = ":"
+ │ │ ├── value_loc: (21,6)-(21,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (127...136))
+ │ │ └── @ InNode (location: (22,0)-(22,9))
│ │ ├── pattern:
- │ │ │ @ RangeNode (location: (131...136))
+ │ │ │ @ RangeNode (location: (22,4)-(22,9))
│ │ │ ├── left: ∅
│ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (134...136))
+ │ │ │ │ @ IntegerNode (location: (22,7)-(22,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (131...134) = "..."
+ │ │ │ ├── operator_loc: (22,4)-(22,7) = "..."
│ │ │ └── flags: exclude_end
│ │ ├── statements: ∅
- │ │ ├── in_loc: (127...129) = "in"
+ │ │ ├── in_loc: (22,0)-(22,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (119...123) = "case"
- │ └── end_keyword_loc: (138...141) = "end"
- ├── @ CaseNode (location: (143...164))
+ │ ├── case_keyword_loc: (21,0)-(21,4) = "case"
+ │ └── end_keyword_loc: (23,0)-(23,3) = "end"
+ ├── @ CaseNode (location: (25,0)-(27,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (148...150))
- │ │ ├── opening_loc: (148...149) = ":"
- │ │ ├── value_loc: (149...150) = "a"
+ │ │ @ SymbolNode (location: (25,5)-(25,7))
+ │ │ ├── opening_loc: (25,5)-(25,6) = ":"
+ │ │ ├── value_loc: (25,6)-(25,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (151...159))
+ │ │ └── @ InNode (location: (26,0)-(26,8))
│ │ ├── pattern:
- │ │ │ @ RangeNode (location: (155...159))
+ │ │ │ @ RangeNode (location: (26,4)-(26,8))
│ │ │ ├── left: ∅
│ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (157...159))
+ │ │ │ │ @ IntegerNode (location: (26,6)-(26,8))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (155...157) = ".."
+ │ │ │ ├── operator_loc: (26,4)-(26,6) = ".."
│ │ │ └── flags: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (151...153) = "in"
+ │ │ ├── in_loc: (26,0)-(26,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (143...147) = "case"
- │ └── end_keyword_loc: (161...164) = "end"
- ├── @ CaseNode (location: (166...187))
+ │ ├── case_keyword_loc: (25,0)-(25,4) = "case"
+ │ └── end_keyword_loc: (27,0)-(27,3) = "end"
+ ├── @ CaseNode (location: (29,0)-(31,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (171...173))
- │ │ ├── opening_loc: (171...172) = ":"
- │ │ ├── value_loc: (172...173) = "a"
+ │ │ @ SymbolNode (location: (29,5)-(29,7))
+ │ │ ├── opening_loc: (29,5)-(29,6) = ":"
+ │ │ ├── value_loc: (29,6)-(29,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (174...182))
+ │ │ └── @ InNode (location: (30,0)-(30,8))
│ │ ├── pattern:
- │ │ │ @ RangeNode (location: (178...182))
+ │ │ │ @ RangeNode (location: (30,4)-(30,8))
│ │ │ ├── left:
- │ │ │ │ @ IntegerNode (location: (178...179))
+ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── right: ∅
- │ │ │ ├── operator_loc: (179...182) = "..."
+ │ │ │ ├── operator_loc: (30,5)-(30,8) = "..."
│ │ │ └── flags: exclude_end
│ │ ├── statements: ∅
- │ │ ├── in_loc: (174...176) = "in"
+ │ │ ├── in_loc: (30,0)-(30,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (166...170) = "case"
- │ └── end_keyword_loc: (184...187) = "end"
- ├── @ CaseNode (location: (189...211))
+ │ ├── case_keyword_loc: (29,0)-(29,4) = "case"
+ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ ├── @ CaseNode (location: (33,0)-(35,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (194...196))
- │ │ ├── opening_loc: (194...195) = ":"
- │ │ ├── value_loc: (195...196) = "a"
+ │ │ @ SymbolNode (location: (33,5)-(33,7))
+ │ │ ├── opening_loc: (33,5)-(33,6) = ":"
+ │ │ ├── value_loc: (33,6)-(33,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (197...206))
+ │ │ └── @ InNode (location: (34,0)-(34,9))
│ │ ├── pattern:
- │ │ │ @ RangeNode (location: (201...206))
+ │ │ │ @ RangeNode (location: (34,4)-(34,9))
│ │ │ ├── left:
- │ │ │ │ @ IntegerNode (location: (201...202))
+ │ │ │ │ @ IntegerNode (location: (34,4)-(34,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (205...206))
+ │ │ │ │ @ IntegerNode (location: (34,8)-(34,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (202...205) = "..."
+ │ │ │ ├── operator_loc: (34,5)-(34,8) = "..."
│ │ │ └── flags: exclude_end
│ │ ├── statements: ∅
- │ │ ├── in_loc: (197...199) = "in"
+ │ │ ├── in_loc: (34,0)-(34,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (189...193) = "case"
- │ └── end_keyword_loc: (208...211) = "end"
- ├── @ CaseNode (location: (213...232))
+ │ ├── case_keyword_loc: (33,0)-(33,4) = "case"
+ │ └── end_keyword_loc: (35,0)-(35,3) = "end"
+ ├── @ CaseNode (location: (37,0)-(39,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (218...220))
- │ │ ├── opening_loc: (218...219) = ":"
- │ │ ├── value_loc: (219...220) = "a"
+ │ │ @ SymbolNode (location: (37,5)-(37,7))
+ │ │ ├── opening_loc: (37,5)-(37,6) = ":"
+ │ │ ├── value_loc: (37,6)-(37,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (221...227))
+ │ │ └── @ InNode (location: (38,0)-(38,6))
│ │ ├── pattern:
- │ │ │ @ IntegerNode (location: (225...227))
+ │ │ │ @ IntegerNode (location: (38,4)-(38,6))
│ │ │ └── flags: decimal
│ │ ├── statements: ∅
- │ │ ├── in_loc: (221...223) = "in"
+ │ │ ├── in_loc: (38,0)-(38,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (213...217) = "case"
- │ └── end_keyword_loc: (229...232) = "end"
- ├── @ CaseNode (location: (234...254))
+ │ ├── case_keyword_loc: (37,0)-(37,4) = "case"
+ │ └── end_keyword_loc: (39,0)-(39,3) = "end"
+ ├── @ CaseNode (location: (41,0)-(43,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (239...241))
- │ │ ├── opening_loc: (239...240) = ":"
- │ │ ├── value_loc: (240...241) = "a"
+ │ │ @ SymbolNode (location: (41,5)-(41,7))
+ │ │ ├── opening_loc: (41,5)-(41,6) = ":"
+ │ │ ├── value_loc: (41,6)-(41,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (242...250))
+ │ │ └── @ InNode (location: (42,0)-(42,8))
│ │ ├── pattern:
- │ │ │ @ HashPatternNode (location: (245...250))
+ │ │ │ @ HashPatternNode (location: (42,3)-(42,8))
│ │ │ ├── constant: ∅
│ │ │ ├── assocs: (length: 1)
- │ │ │ │ └── @ NoKeywordsParameterNode (location: (245...250))
- │ │ │ │ ├── operator_loc: (245...247) = "**"
- │ │ │ │ └── keyword_loc: (247...250) = "nil"
+ │ │ │ │ └── @ NoKeywordsParameterNode (location: (42,3)-(42,8))
+ │ │ │ │ ├── operator_loc: (42,3)-(42,5) = "**"
+ │ │ │ │ └── keyword_loc: (42,5)-(42,8) = "nil"
│ │ │ ├── kwrest: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (242...244) = "in"
+ │ │ ├── in_loc: (42,0)-(42,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (234...238) = "case"
- │ └── end_keyword_loc: (251...254) = "end"
- ├── @ CaseNode (location: (256...279))
+ │ ├── case_keyword_loc: (41,0)-(41,4) = "case"
+ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
+ ├── @ CaseNode (location: (45,0)-(47,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (261...263))
- │ │ ├── opening_loc: (261...262) = ":"
- │ │ ├── value_loc: (262...263) = "a"
+ │ │ @ SymbolNode (location: (45,5)-(45,7))
+ │ │ ├── opening_loc: (45,5)-(45,6) = ":"
+ │ │ ├── value_loc: (45,6)-(45,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (264...275))
+ │ │ └── @ InNode (location: (46,0)-(46,11))
│ │ ├── pattern:
- │ │ │ @ RegularExpressionNode (location: (267...275))
- │ │ │ ├── opening_loc: (267...268) = "/"
- │ │ │ ├── content_loc: (268...274) = "regexp"
- │ │ │ ├── closing_loc: (274...275) = "/"
+ │ │ │ @ RegularExpressionNode (location: (46,3)-(46,11))
+ │ │ │ ├── opening_loc: (46,3)-(46,4) = "/"
+ │ │ │ ├── content_loc: (46,4)-(46,10) = "regexp"
+ │ │ │ ├── closing_loc: (46,10)-(46,11) = "/"
│ │ │ ├── unescaped: "regexp"
│ │ │ └── flags: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (264...266) = "in"
+ │ │ ├── in_loc: (46,0)-(46,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (256...260) = "case"
- │ └── end_keyword_loc: (276...279) = "end"
- ├── @ CaseNode (location: (281...306))
+ │ ├── case_keyword_loc: (45,0)-(45,4) = "case"
+ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
+ ├── @ CaseNode (location: (49,0)-(51,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (286...288))
- │ │ ├── opening_loc: (286...287) = ":"
- │ │ ├── value_loc: (287...288) = "a"
+ │ │ @ SymbolNode (location: (49,5)-(49,7))
+ │ │ ├── opening_loc: (49,5)-(49,6) = ":"
+ │ │ ├── value_loc: (49,6)-(49,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (289...302))
+ │ │ └── @ InNode (location: (50,0)-(50,13))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (292...302))
+ │ │ │ @ ArrayPatternNode (location: (50,3)-(50,13))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (292...294))
- │ │ │ │ ├── opening_loc: (292...293) = ":"
- │ │ │ │ ├── value_loc: (293...294) = "b"
+ │ │ │ │ └── @ SymbolNode (location: (50,3)-(50,5))
+ │ │ │ │ ├── opening_loc: (50,3)-(50,4) = ":"
+ │ │ │ │ ├── value_loc: (50,4)-(50,5) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ ├── rest:
- │ │ │ │ @ SplatNode (location: (296...298))
- │ │ │ │ ├── operator_loc: (296...297) = "*"
+ │ │ │ │ @ SplatNode (location: (50,7)-(50,9))
+ │ │ │ │ ├── operator_loc: (50,7)-(50,8) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (297...298))
+ │ │ │ │ @ LocalVariableTargetNode (location: (50,8)-(50,9))
│ │ │ │ ├── name: :_
│ │ │ │ └── depth: 0
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (300...302))
- │ │ │ │ ├── opening_loc: (300...301) = ":"
- │ │ │ │ ├── value_loc: (301...302) = "c"
+ │ │ │ │ └── @ SymbolNode (location: (50,11)-(50,13))
+ │ │ │ │ ├── opening_loc: (50,11)-(50,12) = ":"
+ │ │ │ │ ├── value_loc: (50,12)-(50,13) = "c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (289...291) = "in"
+ │ │ ├── in_loc: (50,0)-(50,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (281...285) = "case"
- │ └── end_keyword_loc: (303...306) = "end"
- ├── @ CaseNode (location: (308...331))
+ │ ├── case_keyword_loc: (49,0)-(49,4) = "case"
+ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ ├── @ CaseNode (location: (53,0)-(55,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (313...315))
- │ │ ├── opening_loc: (313...314) = ":"
- │ │ ├── value_loc: (314...315) = "a"
+ │ │ @ SymbolNode (location: (53,5)-(53,7))
+ │ │ ├── opening_loc: (53,5)-(53,6) = ":"
+ │ │ ├── value_loc: (53,6)-(53,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (316...327))
+ │ │ └── @ InNode (location: (54,0)-(54,11))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (319...327))
+ │ │ │ @ ArrayPatternNode (location: (54,3)-(54,11))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ SymbolNode (location: (319...321))
- │ │ │ │ │ ├── opening_loc: (319...320) = ":"
- │ │ │ │ │ ├── value_loc: (320...321) = "b"
+ │ │ │ │ ├── @ SymbolNode (location: (54,3)-(54,5))
+ │ │ │ │ │ ├── opening_loc: (54,3)-(54,4) = ":"
+ │ │ │ │ │ ├── value_loc: (54,4)-(54,5) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
- │ │ │ │ └── @ ArrayPatternNode (location: (323...327))
+ │ │ │ │ └── @ ArrayPatternNode (location: (54,7)-(54,11))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (324...326))
- │ │ │ │ │ ├── opening_loc: (324...325) = ":"
- │ │ │ │ │ ├── value_loc: (325...326) = "c"
+ │ │ │ │ │ └── @ SymbolNode (location: (54,8)-(54,10))
+ │ │ │ │ │ ├── opening_loc: (54,8)-(54,9) = ":"
+ │ │ │ │ │ ├── value_loc: (54,9)-(54,10) = "c"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "c"
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (323...324) = "["
- │ │ │ │ └── closing_loc: (326...327) = "]"
+ │ │ │ │ ├── opening_loc: (54,7)-(54,8) = "["
+ │ │ │ │ └── closing_loc: (54,10)-(54,11) = "]"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (316...318) = "in"
+ │ │ ├── in_loc: (54,0)-(54,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (308...312) = "case"
- │ └── end_keyword_loc: (328...331) = "end"
- ├── @ CaseNode (location: (333...356))
+ │ ├── case_keyword_loc: (53,0)-(53,4) = "case"
+ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
+ ├── @ CaseNode (location: (57,0)-(59,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (338...340))
- │ │ ├── opening_loc: (338...339) = ":"
- │ │ ├── value_loc: (339...340) = "a"
+ │ │ @ SymbolNode (location: (57,5)-(57,7))
+ │ │ ├── opening_loc: (57,5)-(57,6) = ":"
+ │ │ ├── value_loc: (57,6)-(57,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (341...352))
+ │ │ └── @ InNode (location: (58,0)-(58,11))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (344...352))
+ │ │ │ @ ArrayPatternNode (location: (58,3)-(58,11))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (344...350))
+ │ │ │ │ @ ConstantReadNode (location: (58,3)-(58,9))
│ │ │ │ └── name: :Symbol
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (350...351) = "("
- │ │ │ └── closing_loc: (351...352) = ")"
+ │ │ │ ├── opening_loc: (58,9)-(58,10) = "("
+ │ │ │ └── closing_loc: (58,10)-(58,11) = ")"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (341...343) = "in"
+ │ │ ├── in_loc: (58,0)-(58,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (333...337) = "case"
- │ └── end_keyword_loc: (353...356) = "end"
- ├── @ CaseNode (location: (358...394))
+ │ ├── case_keyword_loc: (57,0)-(57,4) = "case"
+ │ └── end_keyword_loc: (59,0)-(59,3) = "end"
+ ├── @ CaseNode (location: (61,0)-(63,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (363...365))
- │ │ ├── opening_loc: (363...364) = ":"
- │ │ ├── value_loc: (364...365) = "a"
+ │ │ @ SymbolNode (location: (61,5)-(61,7))
+ │ │ ├── opening_loc: (61,5)-(61,6) = ":"
+ │ │ ├── value_loc: (61,6)-(61,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (366...390))
+ │ │ └── @ InNode (location: (62,0)-(62,24))
│ │ ├── pattern:
- │ │ │ @ FindPatternNode (location: (369...390))
+ │ │ │ @ FindPatternNode (location: (62,3)-(62,24))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (369...375))
+ │ │ │ │ @ ConstantReadNode (location: (62,3)-(62,9))
│ │ │ │ └── name: :Symbol
│ │ │ ├── left:
- │ │ │ │ @ SplatNode (location: (376...380))
- │ │ │ │ ├── operator_loc: (376...377) = "*"
+ │ │ │ │ @ SplatNode (location: (62,10)-(62,14))
+ │ │ │ │ ├── operator_loc: (62,10)-(62,11) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (377...380))
+ │ │ │ │ @ LocalVariableTargetNode (location: (62,11)-(62,14))
│ │ │ │ ├── name: :lhs
│ │ │ │ └── depth: 0
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ LocalVariableTargetNode (location: (382...383))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (62,16)-(62,17))
│ │ │ │ ├── name: :x
│ │ │ │ └── depth: 0
│ │ │ ├── right:
- │ │ │ │ @ SplatNode (location: (385...389))
- │ │ │ │ ├── operator_loc: (385...386) = "*"
+ │ │ │ │ @ SplatNode (location: (62,19)-(62,23))
+ │ │ │ │ ├── operator_loc: (62,19)-(62,20) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (386...389))
+ │ │ │ │ @ LocalVariableTargetNode (location: (62,20)-(62,23))
│ │ │ │ ├── name: :rhs
│ │ │ │ └── depth: 0
- │ │ │ ├── opening_loc: (375...376) = "("
- │ │ │ └── closing_loc: (389...390) = ")"
+ │ │ │ ├── opening_loc: (62,9)-(62,10) = "("
+ │ │ │ └── closing_loc: (62,23)-(62,24) = ")"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (366...368) = "in"
+ │ │ ├── in_loc: (62,0)-(62,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (358...362) = "case"
- │ └── end_keyword_loc: (391...394) = "end"
- ├── @ CaseNode (location: (396...432))
+ │ ├── case_keyword_loc: (61,0)-(61,4) = "case"
+ │ └── end_keyword_loc: (63,0)-(63,3) = "end"
+ ├── @ CaseNode (location: (65,0)-(67,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (401...403))
- │ │ ├── opening_loc: (401...402) = ":"
- │ │ ├── value_loc: (402...403) = "a"
+ │ │ @ SymbolNode (location: (65,5)-(65,7))
+ │ │ ├── opening_loc: (65,5)-(65,6) = ":"
+ │ │ ├── value_loc: (65,6)-(65,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (404...428))
+ │ │ └── @ InNode (location: (66,0)-(66,24))
│ │ ├── pattern:
- │ │ │ @ FindPatternNode (location: (407...428))
+ │ │ │ @ FindPatternNode (location: (66,3)-(66,24))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (407...413))
+ │ │ │ │ @ ConstantReadNode (location: (66,3)-(66,9))
│ │ │ │ └── name: :Symbol
│ │ │ ├── left:
- │ │ │ │ @ SplatNode (location: (414...418))
- │ │ │ │ ├── operator_loc: (414...415) = "*"
+ │ │ │ │ @ SplatNode (location: (66,10)-(66,14))
+ │ │ │ │ ├── operator_loc: (66,10)-(66,11) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (415...418))
+ │ │ │ │ @ LocalVariableTargetNode (location: (66,11)-(66,14))
│ │ │ │ ├── name: :lhs
│ │ │ │ └── depth: 0
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ LocalVariableTargetNode (location: (420...421))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (66,16)-(66,17))
│ │ │ │ ├── name: :x
│ │ │ │ └── depth: 0
│ │ │ ├── right:
- │ │ │ │ @ SplatNode (location: (423...427))
- │ │ │ │ ├── operator_loc: (423...424) = "*"
+ │ │ │ │ @ SplatNode (location: (66,19)-(66,23))
+ │ │ │ │ ├── operator_loc: (66,19)-(66,20) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (424...427))
+ │ │ │ │ @ LocalVariableTargetNode (location: (66,20)-(66,23))
│ │ │ │ ├── name: :rhs
│ │ │ │ └── depth: 0
- │ │ │ ├── opening_loc: (413...414) = "["
- │ │ │ └── closing_loc: (427...428) = "]"
+ │ │ │ ├── opening_loc: (66,9)-(66,10) = "["
+ │ │ │ └── closing_loc: (66,23)-(66,24) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (404...406) = "in"
+ │ │ ├── in_loc: (66,0)-(66,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (396...400) = "case"
- │ └── end_keyword_loc: (429...432) = "end"
- ├── @ CaseNode (location: (434...468))
+ │ ├── case_keyword_loc: (65,0)-(65,4) = "case"
+ │ └── end_keyword_loc: (67,0)-(67,3) = "end"
+ ├── @ CaseNode (location: (69,0)-(71,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (439...441))
- │ │ ├── opening_loc: (439...440) = ":"
- │ │ ├── value_loc: (440...441) = "a"
+ │ │ @ SymbolNode (location: (69,5)-(69,7))
+ │ │ ├── opening_loc: (69,5)-(69,6) = ":"
+ │ │ ├── value_loc: (69,6)-(69,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (442...464))
+ │ │ └── @ InNode (location: (70,0)-(70,22))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (445...464))
+ │ │ │ @ ArrayPatternNode (location: (70,3)-(70,22))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ LambdaNode (location: (446...460))
+ │ │ │ │ ├── @ LambdaNode (location: (70,4)-(70,18))
│ │ │ │ │ ├── locals: [:b]
- │ │ │ │ │ ├── operator_loc: (446...448) = "->"
- │ │ │ │ │ ├── opening_loc: (452...453) = "{"
- │ │ │ │ │ ├── closing_loc: (459...460) = "}"
+ │ │ │ │ │ ├── operator_loc: (70,4)-(70,6) = "->"
+ │ │ │ │ │ ├── opening_loc: (70,10)-(70,11) = "{"
+ │ │ │ │ │ ├── closing_loc: (70,17)-(70,18) = "}"
│ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ BlockParametersNode (location: (448...451))
+ │ │ │ │ │ │ @ BlockParametersNode (location: (70,6)-(70,9))
│ │ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ │ @ ParametersNode (location: (449...450))
+ │ │ │ │ │ │ │ @ ParametersNode (location: (70,7)-(70,8))
│ │ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (449...450))
+ │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (70,7)-(70,8))
│ │ │ │ │ │ │ │ └── name: :b
│ │ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ │ ├── rest: ∅
@@ -533,360 +533,360 @@
│ │ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ │ └── block: ∅
│ │ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ │ ├── opening_loc: (448...449) = "("
- │ │ │ │ │ │ └── closing_loc: (450...451) = ")"
+ │ │ │ │ │ │ ├── opening_loc: (70,6)-(70,7) = "("
+ │ │ │ │ │ │ └── closing_loc: (70,8)-(70,9) = ")"
│ │ │ │ │ └── body:
- │ │ │ │ │ @ StatementsNode (location: (454...458))
+ │ │ │ │ │ @ StatementsNode (location: (70,12)-(70,16))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ TrueNode (location: (454...458))
- │ │ │ │ └── @ LocalVariableTargetNode (location: (462...463))
+ │ │ │ │ │ └── @ TrueNode (location: (70,12)-(70,16))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (70,20)-(70,21))
│ │ │ │ ├── name: :c
│ │ │ │ └── depth: 0
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (445...446) = "["
- │ │ │ └── closing_loc: (463...464) = "]"
+ │ │ │ ├── opening_loc: (70,3)-(70,4) = "["
+ │ │ │ └── closing_loc: (70,21)-(70,22) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (442...444) = "in"
+ │ │ ├── in_loc: (70,0)-(70,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (434...438) = "case"
- │ └── end_keyword_loc: (465...468) = "end"
- ├── @ CaseNode (location: (470...510))
+ │ ├── case_keyword_loc: (69,0)-(69,4) = "case"
+ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
+ ├── @ CaseNode (location: (73,0)-(75,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (475...477))
- │ │ ├── opening_loc: (475...476) = ":"
- │ │ ├── value_loc: (476...477) = "a"
+ │ │ @ SymbolNode (location: (73,5)-(73,7))
+ │ │ ├── opening_loc: (73,5)-(73,6) = ":"
+ │ │ ├── value_loc: (73,6)-(73,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (478...506))
+ │ │ └── @ InNode (location: (74,0)-(74,28))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (481...506))
+ │ │ │ @ ArrayPatternNode (location: (74,3)-(74,28))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 4)
- │ │ │ │ ├── @ SymbolNode (location: (482...484))
- │ │ │ │ │ ├── opening_loc: (482...483) = ":"
- │ │ │ │ │ ├── value_loc: (483...484) = "a"
+ │ │ │ │ ├── @ SymbolNode (location: (74,4)-(74,6))
+ │ │ │ │ │ ├── opening_loc: (74,4)-(74,5) = ":"
+ │ │ │ │ │ ├── value_loc: (74,5)-(74,6) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
- │ │ │ │ ├── @ LocalVariableTargetNode (location: (486...487))
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (74,8)-(74,9))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
- │ │ │ │ ├── @ LocalVariableTargetNode (location: (489...490))
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (74,11)-(74,12))
│ │ │ │ │ ├── name: :c
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ ArrayPatternNode (location: (492...505))
+ │ │ │ │ └── @ ArrayPatternNode (location: (74,14)-(74,27))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (493...495))
- │ │ │ │ │ ├── opening_loc: (493...494) = ":"
- │ │ │ │ │ ├── value_loc: (494...495) = "d"
+ │ │ │ │ │ └── @ SymbolNode (location: (74,15)-(74,17))
+ │ │ │ │ │ ├── opening_loc: (74,15)-(74,16) = ":"
+ │ │ │ │ │ ├── value_loc: (74,16)-(74,17) = "d"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "d"
│ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (497...499))
- │ │ │ │ │ ├── operator_loc: (497...498) = "*"
+ │ │ │ │ │ @ SplatNode (location: (74,19)-(74,21))
+ │ │ │ │ │ ├── operator_loc: (74,19)-(74,20) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (498...499))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (74,20)-(74,21))
│ │ │ │ │ ├── name: :e
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ NilNode (location: (501...504))
- │ │ │ │ ├── opening_loc: (492...493) = "["
- │ │ │ │ └── closing_loc: (504...505) = "]"
+ │ │ │ │ │ └── @ NilNode (location: (74,23)-(74,26))
+ │ │ │ │ ├── opening_loc: (74,14)-(74,15) = "["
+ │ │ │ │ └── closing_loc: (74,26)-(74,27) = "]"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (481...482) = "["
- │ │ │ └── closing_loc: (505...506) = "]"
+ │ │ │ ├── opening_loc: (74,3)-(74,4) = "["
+ │ │ │ └── closing_loc: (74,27)-(74,28) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (478...480) = "in"
+ │ │ ├── in_loc: (74,0)-(74,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (470...474) = "case"
- │ └── end_keyword_loc: (507...510) = "end"
- ├── @ CaseNode (location: (512...536))
+ │ ├── case_keyword_loc: (73,0)-(73,4) = "case"
+ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ ├── @ CaseNode (location: (77,0)-(79,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (517...519))
- │ │ ├── opening_loc: (517...518) = ":"
- │ │ ├── value_loc: (518...519) = "a"
+ │ │ @ SymbolNode (location: (77,5)-(77,7))
+ │ │ ├── opening_loc: (77,5)-(77,6) = ":"
+ │ │ ├── value_loc: (77,6)-(77,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (520...532))
+ │ │ └── @ InNode (location: (78,0)-(78,12))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (523...532))
+ │ │ │ @ ArrayPatternNode (location: (78,3)-(78,12))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (524...525))
+ │ │ │ │ └── @ ConstantReadNode (location: (78,4)-(78,5))
│ │ │ │ └── name: :A
│ │ │ ├── rest:
- │ │ │ │ @ SplatNode (location: (527...528))
- │ │ │ │ ├── operator_loc: (527...528) = "*"
+ │ │ │ │ @ SplatNode (location: (78,7)-(78,8))
+ │ │ │ │ ├── operator_loc: (78,7)-(78,8) = "*"
│ │ │ │ └── expression: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (530...531))
+ │ │ │ │ └── @ ConstantReadNode (location: (78,10)-(78,11))
│ │ │ │ └── name: :B
- │ │ │ ├── opening_loc: (523...524) = "["
- │ │ │ └── closing_loc: (531...532) = "]"
+ │ │ │ ├── opening_loc: (78,3)-(78,4) = "["
+ │ │ │ └── closing_loc: (78,11)-(78,12) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (520...522) = "in"
+ │ │ ├── in_loc: (78,0)-(78,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (512...516) = "case"
- │ └── end_keyword_loc: (533...536) = "end"
- ├── @ CaseNode (location: (538...572))
+ │ ├── case_keyword_loc: (77,0)-(77,4) = "case"
+ │ └── end_keyword_loc: (79,0)-(79,3) = "end"
+ ├── @ CaseNode (location: (81,0)-(83,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (543...545))
- │ │ ├── opening_loc: (543...544) = ":"
- │ │ ├── value_loc: (544...545) = "a"
+ │ │ @ SymbolNode (location: (81,5)-(81,7))
+ │ │ ├── opening_loc: (81,5)-(81,6) = ":"
+ │ │ ├── value_loc: (81,6)-(81,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (546...568))
+ │ │ └── @ InNode (location: (82,0)-(82,22))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (549...568))
+ │ │ │ @ ArrayPatternNode (location: (82,3)-(82,22))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ ArrayPatternNode (location: (550...557))
+ │ │ │ │ ├── @ ArrayPatternNode (location: (82,4)-(82,11))
│ │ │ │ │ ├── constant: ∅
│ │ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ │ ├── @ SymbolNode (location: (551...553))
- │ │ │ │ │ │ │ ├── opening_loc: (551...552) = ":"
- │ │ │ │ │ │ │ ├── value_loc: (552...553) = "b"
+ │ │ │ │ │ │ ├── @ SymbolNode (location: (82,5)-(82,7))
+ │ │ │ │ │ │ │ ├── opening_loc: (82,5)-(82,6) = ":"
+ │ │ │ │ │ │ │ ├── value_loc: (82,6)-(82,7) = "b"
│ │ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ │ │ └── @ LocalVariableTargetNode (location: (555...556))
+ │ │ │ │ │ │ └── @ LocalVariableTargetNode (location: (82,9)-(82,10))
│ │ │ │ │ │ ├── name: :c
│ │ │ │ │ │ └── depth: 0
│ │ │ │ │ ├── rest: ∅
│ │ │ │ │ ├── posts: (length: 0)
- │ │ │ │ │ ├── opening_loc: (550...551) = "["
- │ │ │ │ │ └── closing_loc: (556...557) = "]"
- │ │ │ │ └── @ ArrayPatternNode (location: (559...567))
+ │ │ │ │ │ ├── opening_loc: (82,4)-(82,5) = "["
+ │ │ │ │ │ └── closing_loc: (82,10)-(82,11) = "]"
+ │ │ │ │ └── @ ArrayPatternNode (location: (82,13)-(82,21))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ SymbolNode (location: (560...562))
- │ │ │ │ │ │ ├── opening_loc: (560...561) = ":"
- │ │ │ │ │ │ ├── value_loc: (561...562) = "d"
+ │ │ │ │ │ ├── @ SymbolNode (location: (82,14)-(82,16))
+ │ │ │ │ │ │ ├── opening_loc: (82,14)-(82,15) = ":"
+ │ │ │ │ │ │ ├── value_loc: (82,15)-(82,16) = "d"
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: "d"
- │ │ │ │ │ └── @ PinnedVariableNode (location: (564...566))
+ │ │ │ │ │ └── @ PinnedVariableNode (location: (82,18)-(82,20))
│ │ │ │ │ ├── variable:
- │ │ │ │ │ │ @ LocalVariableReadNode (location: (565...566))
+ │ │ │ │ │ │ @ LocalVariableReadNode (location: (82,19)-(82,20))
│ │ │ │ │ │ ├── name: :e
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── operator_loc: (564...565) = "^"
+ │ │ │ │ │ └── operator_loc: (82,18)-(82,19) = "^"
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (559...560) = "["
- │ │ │ │ └── closing_loc: (566...567) = "]"
+ │ │ │ │ ├── opening_loc: (82,13)-(82,14) = "["
+ │ │ │ │ └── closing_loc: (82,20)-(82,21) = "]"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (549...550) = "["
- │ │ │ └── closing_loc: (567...568) = "]"
+ │ │ │ ├── opening_loc: (82,3)-(82,4) = "["
+ │ │ │ └── closing_loc: (82,21)-(82,22) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (546...548) = "in"
+ │ │ ├── in_loc: (82,0)-(82,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (538...542) = "case"
- │ └── end_keyword_loc: (569...572) = "end"
- ├── @ CaseNode (location: (574...591))
+ │ ├── case_keyword_loc: (81,0)-(81,4) = "case"
+ │ └── end_keyword_loc: (83,0)-(83,3) = "end"
+ ├── @ CaseNode (location: (85,0)-(87,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (579...581))
- │ │ ├── opening_loc: (579...580) = ":"
- │ │ ├── value_loc: (580...581) = "a"
+ │ │ @ SymbolNode (location: (85,5)-(85,7))
+ │ │ ├── opening_loc: (85,5)-(85,6) = ":"
+ │ │ ├── value_loc: (85,6)-(85,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (582...587))
+ │ │ └── @ InNode (location: (86,0)-(86,5))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (585...587))
+ │ │ │ @ ArrayPatternNode (location: (86,3)-(86,5))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (585...586) = "["
- │ │ │ └── closing_loc: (586...587) = "]"
+ │ │ │ ├── opening_loc: (86,3)-(86,4) = "["
+ │ │ │ └── closing_loc: (86,4)-(86,5) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (582...584) = "in"
+ │ │ ├── in_loc: (86,0)-(86,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (574...578) = "case"
- │ └── end_keyword_loc: (588...591) = "end"
- ├── @ CaseNode (location: (593...614))
+ │ ├── case_keyword_loc: (85,0)-(85,4) = "case"
+ │ └── end_keyword_loc: (87,0)-(87,3) = "end"
+ ├── @ CaseNode (location: (89,0)-(91,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (598...600))
- │ │ ├── opening_loc: (598...599) = ":"
- │ │ ├── value_loc: (599...600) = "a"
+ │ │ @ SymbolNode (location: (89,5)-(89,7))
+ │ │ ├── opening_loc: (89,5)-(89,6) = ":"
+ │ │ ├── value_loc: (89,6)-(89,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (601...610))
+ │ │ └── @ InNode (location: (90,0)-(90,9))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (604...610))
+ │ │ │ @ ArrayPatternNode (location: (90,3)-(90,9))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ PinnedExpressionNode (location: (605...609))
+ │ │ │ │ └── @ PinnedExpressionNode (location: (90,4)-(90,8))
│ │ │ │ ├── expression:
- │ │ │ │ │ @ CallNode (location: (607...608))
+ │ │ │ │ │ @ CallNode (location: (90,6)-(90,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (607...608) = "a"
+ │ │ │ │ │ ├── message_loc: (90,6)-(90,7) = "a"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "a"
- │ │ │ │ ├── operator_loc: (605...606) = "^"
- │ │ │ │ ├── lparen_loc: (606...607) = "("
- │ │ │ │ └── rparen_loc: (608...609) = ")"
+ │ │ │ │ ├── operator_loc: (90,4)-(90,5) = "^"
+ │ │ │ │ ├── lparen_loc: (90,5)-(90,6) = "("
+ │ │ │ │ └── rparen_loc: (90,7)-(90,8) = ")"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (604...605) = "["
- │ │ │ └── closing_loc: (609...610) = "]"
+ │ │ │ ├── opening_loc: (90,3)-(90,4) = "["
+ │ │ │ └── closing_loc: (90,8)-(90,9) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (601...603) = "in"
+ │ │ ├── in_loc: (90,0)-(90,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (593...597) = "case"
- │ └── end_keyword_loc: (611...614) = "end"
- ├── @ CaseNode (location: (616...647))
+ │ ├── case_keyword_loc: (89,0)-(89,4) = "case"
+ │ └── end_keyword_loc: (91,0)-(91,3) = "end"
+ ├── @ CaseNode (location: (93,0)-(95,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (621...623))
- │ │ ├── opening_loc: (621...622) = ":"
- │ │ ├── value_loc: (622...623) = "a"
+ │ │ @ SymbolNode (location: (93,5)-(93,7))
+ │ │ ├── opening_loc: (93,5)-(93,6) = ":"
+ │ │ ├── value_loc: (93,6)-(93,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (624...643))
+ │ │ └── @ InNode (location: (94,0)-(94,19))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (627...643))
+ │ │ │ @ ArrayPatternNode (location: (94,3)-(94,19))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 3)
- │ │ │ │ ├── @ PinnedVariableNode (location: (628...631))
+ │ │ │ │ ├── @ PinnedVariableNode (location: (94,4)-(94,7))
│ │ │ │ │ ├── variable:
- │ │ │ │ │ │ @ InstanceVariableReadNode (location: (629...631))
+ │ │ │ │ │ │ @ InstanceVariableReadNode (location: (94,5)-(94,7))
│ │ │ │ │ │ └── name: :@a
- │ │ │ │ │ └── operator_loc: (628...629) = "^"
- │ │ │ │ ├── @ PinnedVariableNode (location: (633...636))
+ │ │ │ │ │ └── operator_loc: (94,4)-(94,5) = "^"
+ │ │ │ │ ├── @ PinnedVariableNode (location: (94,9)-(94,12))
│ │ │ │ │ ├── variable:
- │ │ │ │ │ │ @ GlobalVariableReadNode (location: (634...636))
+ │ │ │ │ │ │ @ GlobalVariableReadNode (location: (94,10)-(94,12))
│ │ │ │ │ │ └── name: :$b
- │ │ │ │ │ └── operator_loc: (633...634) = "^"
- │ │ │ │ └── @ PinnedVariableNode (location: (638...642))
+ │ │ │ │ │ └── operator_loc: (94,9)-(94,10) = "^"
+ │ │ │ │ └── @ PinnedVariableNode (location: (94,14)-(94,18))
│ │ │ │ ├── variable:
- │ │ │ │ │ @ ClassVariableReadNode (location: (639...642))
+ │ │ │ │ │ @ ClassVariableReadNode (location: (94,15)-(94,18))
│ │ │ │ │ └── name: :@@c
- │ │ │ │ └── operator_loc: (638...639) = "^"
+ │ │ │ │ └── operator_loc: (94,14)-(94,15) = "^"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
- │ │ │ ├── opening_loc: (627...628) = "["
- │ │ │ └── closing_loc: (642...643) = "]"
+ │ │ │ ├── opening_loc: (94,3)-(94,4) = "["
+ │ │ │ └── closing_loc: (94,18)-(94,19) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (624...626) = "in"
+ │ │ ├── in_loc: (94,0)-(94,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (616...620) = "case"
- │ └── end_keyword_loc: (644...647) = "end"
- ├── @ CaseNode (location: (649...673))
+ │ ├── case_keyword_loc: (93,0)-(93,4) = "case"
+ │ └── end_keyword_loc: (95,0)-(95,3) = "end"
+ ├── @ CaseNode (location: (97,0)-(99,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (654...656))
- │ │ ├── opening_loc: (654...655) = ":"
- │ │ ├── value_loc: (655...656) = "a"
+ │ │ @ SymbolNode (location: (97,5)-(97,7))
+ │ │ ├── opening_loc: (97,5)-(97,6) = ":"
+ │ │ ├── value_loc: (97,6)-(97,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (657...669))
+ │ │ └── @ InNode (location: (98,0)-(98,12))
│ │ ├── pattern:
- │ │ │ @ XStringNode (location: (660...669))
- │ │ │ ├── opening_loc: (660...661) = "`"
- │ │ │ ├── content_loc: (661...668) = "echo hi"
- │ │ │ ├── closing_loc: (668...669) = "`"
+ │ │ │ @ XStringNode (location: (98,3)-(98,12))
+ │ │ │ ├── opening_loc: (98,3)-(98,4) = "`"
+ │ │ │ ├── content_loc: (98,4)-(98,11) = "echo hi"
+ │ │ │ ├── closing_loc: (98,11)-(98,12) = "`"
│ │ │ └── unescaped: "echo hi"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (657...659) = "in"
+ │ │ ├── in_loc: (98,0)-(98,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (649...653) = "case"
- │ └── end_keyword_loc: (670...673) = "end"
- ├── @ CaseNode (location: (675...703))
+ │ ├── case_keyword_loc: (97,0)-(97,4) = "case"
+ │ └── end_keyword_loc: (99,0)-(99,3) = "end"
+ ├── @ CaseNode (location: (101,0)-(103,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (680...682))
- │ │ ├── opening_loc: (680...681) = ":"
- │ │ ├── value_loc: (681...682) = "a"
+ │ │ @ SymbolNode (location: (101,5)-(101,7))
+ │ │ ├── opening_loc: (101,5)-(101,6) = ":"
+ │ │ ├── value_loc: (101,6)-(101,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (683...699))
+ │ │ └── @ InNode (location: (102,0)-(102,16))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (686...699))
+ │ │ │ @ ArrayPatternNode (location: (102,3)-(102,16))
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 3)
- │ │ │ │ ├── @ NilNode (location: (686...689))
- │ │ │ │ ├── @ NilNode (location: (691...694))
- │ │ │ │ └── @ NilNode (location: (696...699))
+ │ │ │ │ ├── @ NilNode (location: (102,3)-(102,6))
+ │ │ │ │ ├── @ NilNode (location: (102,8)-(102,11))
+ │ │ │ │ └── @ NilNode (location: (102,13)-(102,16))
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements: ∅
- │ │ ├── in_loc: (683...685) = "in"
+ │ │ ├── in_loc: (102,0)-(102,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (675...679) = "case"
- │ └── end_keyword_loc: (700...703) = "end"
- ├── @ CaseNode (location: (705...728))
+ │ ├── case_keyword_loc: (101,0)-(101,4) = "case"
+ │ └── end_keyword_loc: (103,0)-(103,3) = "end"
+ ├── @ CaseNode (location: (105,0)-(107,3))
│ ├── predicate:
- │ │ @ SymbolNode (location: (710...712))
- │ │ ├── opening_loc: (710...711) = ":"
- │ │ ├── value_loc: (711...712) = "a"
+ │ │ @ SymbolNode (location: (105,5)-(105,7))
+ │ │ ├── opening_loc: (105,5)-(105,6) = ":"
+ │ │ ├── value_loc: (105,6)-(105,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (713...724))
+ │ │ └── @ InNode (location: (106,0)-(106,11))
│ │ ├── pattern:
- │ │ │ @ HashPatternNode (location: (716...724))
+ │ │ │ @ HashPatternNode (location: (106,3)-(106,11))
│ │ │ ├── constant: ∅
│ │ │ ├── assocs: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (718...722))
+ │ │ │ │ └── @ AssocNode (location: (106,5)-(106,9))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (718...722))
- │ │ │ │ │ ├── opening_loc: (718...719) = "\""
- │ │ │ │ │ ├── value_loc: (719...720) = "b"
- │ │ │ │ │ ├── closing_loc: (720...722) = "\":"
+ │ │ │ │ │ @ SymbolNode (location: (106,5)-(106,9))
+ │ │ │ │ │ ├── opening_loc: (106,5)-(106,6) = "\""
+ │ │ │ │ │ ├── value_loc: (106,6)-(106,7) = "b"
+ │ │ │ │ │ ├── closing_loc: (106,7)-(106,9) = "\":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value: ∅
│ │ │ │ └── operator_loc: ∅
│ │ │ ├── kwrest: ∅
- │ │ │ ├── opening_loc: (716...717) = "{"
- │ │ │ └── closing_loc: (723...724) = "}"
+ │ │ │ ├── opening_loc: (106,3)-(106,4) = "{"
+ │ │ │ └── closing_loc: (106,10)-(106,11) = "}"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (713...715) = "in"
+ │ │ ├── in_loc: (106,0)-(106,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (705...709) = "case"
- │ └── end_keyword_loc: (725...728) = "end"
- └── @ CaseNode (location: (730...747))
+ │ ├── case_keyword_loc: (105,0)-(105,4) = "case"
+ │ └── end_keyword_loc: (107,0)-(107,3) = "end"
+ └── @ CaseNode (location: (109,0)-(111,3))
├── predicate:
- │ @ SymbolNode (location: (735...737))
- │ ├── opening_loc: (735...736) = ":"
- │ ├── value_loc: (736...737) = "a"
+ │ @ SymbolNode (location: (109,5)-(109,7))
+ │ ├── opening_loc: (109,5)-(109,6) = ":"
+ │ ├── value_loc: (109,6)-(109,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (738...743))
+ │ └── @ InNode (location: (110,0)-(110,5))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (741...743))
+ │ │ @ HashPatternNode (location: (110,3)-(110,5))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 0)
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (741...742) = "{"
- │ │ └── closing_loc: (742...743) = "}"
+ │ │ ├── opening_loc: (110,3)-(110,4) = "{"
+ │ │ └── closing_loc: (110,4)-(110,5) = "}"
│ ├── statements: ∅
- │ ├── in_loc: (738...740) = "in"
+ │ ├── in_loc: (110,0)-(110,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (730...734) = "case"
- └── end_keyword_loc: (744...747) = "end"
+ ├── case_keyword_loc: (109,0)-(109,4) = "case"
+ └── end_keyword_loc: (111,0)-(111,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_31.txt b/test/yarp/snapshots/seattlerb/case_in_31.txt
index a60e442456..e753c3ccff 100644
--- a/test/yarp/snapshots/seattlerb/case_in_31.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_31.txt
@@ -1,46 +1,46 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:c]
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...28))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...24))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...19))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,11))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ SymbolNode (location: (12...14))
- │ │ │ ├── opening_loc: (12...13) = ":"
- │ │ │ ├── value_loc: (13...14) = "b"
+ │ │ │ └── @ SymbolNode (location: (2,4)-(2,6))
+ │ │ │ ├── opening_loc: (2,4)-(2,5) = ":"
+ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (16...18))
- │ │ │ ├── operator_loc: (16...17) = "*"
+ │ │ │ @ SplatNode (location: (2,8)-(2,10))
+ │ │ │ ├── operator_loc: (2,8)-(2,9) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (17...18))
+ │ │ │ @ LocalVariableTargetNode (location: (2,9)-(2,10))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (11...12) = "["
- │ │ └── closing_loc: (18...19) = "]"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "["
+ │ │ └── closing_loc: (2,10)-(2,11) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (22...24))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (22...24))
- │ │ ├── opening_loc: (22...23) = ":"
- │ │ ├── value_loc: (23...24) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (25...28) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_37.txt b/test/yarp/snapshots/seattlerb/case_in_37.txt
index a11efb2e72..46bdcf40b6 100644
--- a/test/yarp/snapshots/seattlerb/case_in_37.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_37.txt
@@ -1,55 +1,55 @@
-@ ProgramNode (location: (0...36))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...36))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...36))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...32))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...27))
+ │ │ @ HashPatternNode (location: (2,3)-(2,19))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (13...25))
+ │ │ │ └── @ AssocNode (location: (2,5)-(2,17))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (13...15))
+ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (13...14) = "b"
- │ │ │ │ ├── closing_loc: (14...15) = ":"
+ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
+ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ ArrayPatternNode (location: (16...25))
+ │ │ │ │ @ ArrayPatternNode (location: (2,8)-(2,17))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (17...21))
+ │ │ │ │ │ └── @ ConstantReadNode (location: (2,9)-(2,13))
│ │ │ │ │ └── name: :Hash
│ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (23...24))
- │ │ │ │ │ ├── operator_loc: (23...24) = "*"
+ │ │ │ │ │ @ SplatNode (location: (2,15)-(2,16))
+ │ │ │ │ │ ├── operator_loc: (2,15)-(2,16) = "*"
│ │ │ │ │ └── expression: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (16...17) = "["
- │ │ │ │ └── closing_loc: (24...25) = "]"
+ │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "["
+ │ │ │ │ └── closing_loc: (2,16)-(2,17) = "]"
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (11...12) = "{"
- │ │ └── closing_loc: (26...27) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,18)-(2,19) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (30...32))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (30...32))
- │ │ ├── opening_loc: (30...31) = ":"
- │ │ ├── value_loc: (31...32) = "c"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (33...36) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_42.txt b/test/yarp/snapshots/seattlerb/case_in_42.txt
index 64a2ac33cc..fe69a9e3d3 100644
--- a/test/yarp/snapshots/seattlerb/case_in_42.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_42.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:_]
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...30))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...26))
+ │ └── @ InNode (location: (2,0)-(2,18))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...17))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,9))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ SymbolNode (location: (11...13))
- │ │ │ ├── opening_loc: (11...12) = ":"
- │ │ │ ├── value_loc: (12...13) = "b"
+ │ │ │ └── @ SymbolNode (location: (2,3)-(2,5))
+ │ │ │ ├── opening_loc: (2,3)-(2,4) = ":"
+ │ │ │ ├── value_loc: (2,4)-(2,5) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (15...17))
- │ │ │ ├── operator_loc: (15...16) = "*"
+ │ │ │ @ SplatNode (location: (2,7)-(2,9))
+ │ │ │ ├── operator_loc: (2,7)-(2,8) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (16...17))
+ │ │ │ @ LocalVariableTargetNode (location: (2,8)-(2,9))
│ │ │ ├── name: :_
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (23...26))
+ │ │ @ StatementsNode (location: (2,15)-(2,18))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (23...26))
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (18...22) = "then"
+ │ │ └── @ NilNode (location: (2,15)-(2,18))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,10)-(2,14) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (27...30) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_42_2.txt b/test/yarp/snapshots/seattlerb/case_in_42_2.txt
index 184ed6013a..f4e6806d35 100644
--- a/test/yarp/snapshots/seattlerb/case_in_42_2.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_42_2.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:list]
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...32))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...28))
+ │ └── @ InNode (location: (2,0)-(2,20))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...19))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,11))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ └── name: :A
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (13...18))
- │ │ │ ├── operator_loc: (13...14) = "*"
+ │ │ │ @ SplatNode (location: (2,5)-(2,10))
+ │ │ │ ├── operator_loc: (2,5)-(2,6) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (14...18))
+ │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,10))
│ │ │ ├── name: :list
│ │ │ └── depth: 0
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (12...13) = "("
- │ │ └── closing_loc: (18...19) = ")"
+ │ │ ├── opening_loc: (2,4)-(2,5) = "("
+ │ │ └── closing_loc: (2,10)-(2,11) = ")"
│ ├── statements:
- │ │ @ StatementsNode (location: (25...28))
+ │ │ @ StatementsNode (location: (2,17)-(2,20))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (25...28))
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (20...24) = "then"
+ │ │ └── @ NilNode (location: (2,17)-(2,20))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,12)-(2,16) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (29...32) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_47.txt b/test/yarp/snapshots/seattlerb/case_in_47.txt
index b757188e84..32b24fc98d 100644
--- a/test/yarp/snapshots/seattlerb/case_in_47.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_47.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...31))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...27))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...22))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,14))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (12...13))
- │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ @ SplatNode (location: (2,4)-(2,5))
+ │ │ │ ├── operator_loc: (2,4)-(2,5) = "*"
│ │ │ └── expression: ∅
│ │ ├── posts: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (15...17))
- │ │ │ │ ├── opening_loc: (15...16) = ":"
- │ │ │ │ ├── value_loc: (16...17) = "b"
+ │ │ │ ├── @ SymbolNode (location: (2,7)-(2,9))
+ │ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":"
+ │ │ │ │ ├── value_loc: (2,8)-(2,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ └── @ SymbolNode (location: (19...21))
- │ │ │ ├── opening_loc: (19...20) = ":"
- │ │ │ ├── value_loc: (20...21) = "c"
+ │ │ │ └── @ SymbolNode (location: (2,11)-(2,13))
+ │ │ │ ├── opening_loc: (2,11)-(2,12) = ":"
+ │ │ │ ├── value_loc: (2,12)-(2,13) = "c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "c"
- │ │ ├── opening_loc: (11...12) = "["
- │ │ └── closing_loc: (21...22) = "]"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "["
+ │ │ └── closing_loc: (2,13)-(2,14) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (25...27))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (25...27))
- │ │ ├── opening_loc: (25...26) = ":"
- │ │ ├── value_loc: (26...27) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (28...31) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_67.txt b/test/yarp/snapshots/seattlerb/case_in_67.txt
index d05aed834f..73649059f0 100644
--- a/test/yarp/snapshots/seattlerb/case_in_67.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_67.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...27))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...23))
+ │ └── @ InNode (location: (2,0)-(2,15))
│ ├── pattern:
- │ │ @ RangeNode (location: (11...14))
+ │ │ @ RangeNode (location: (2,3)-(2,6))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (11...12))
+ │ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (12...14) = ".."
+ │ │ ├── operator_loc: (2,4)-(2,6) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (20...23))
+ │ │ @ StatementsNode (location: (2,12)-(2,15))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (20...23))
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (15...19) = "then"
+ │ │ └── @ NilNode (location: (2,12)-(2,15))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,7)-(2,11) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (24...27) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_86.txt b/test/yarp/snapshots/seattlerb/case_in_86.txt
index e7d7f7bd78..7197e77bc0 100644
--- a/test/yarp/snapshots/seattlerb/case_in_86.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_86.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...43))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ ArrayNode (location: (5...13))
+ │ @ ArrayNode (location: (1,5)-(1,13))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (6...8))
- │ │ │ ├── opening_loc: (6...7) = ":"
- │ │ │ ├── value_loc: (7...8) = "a"
+ │ │ ├── @ SymbolNode (location: (1,6)-(1,8))
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ │ │ ├── value_loc: (1,7)-(1,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ SymbolNode (location: (10...12))
- │ │ ├── opening_loc: (10...11) = ":"
- │ │ ├── value_loc: (11...12) = "b"
+ │ │ └── @ SymbolNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ ├── value_loc: (1,11)-(1,12) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (5...6) = "["
- │ └── closing_loc: (12...13) = "]"
+ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── conditions: (length: 1)
- │ └── @ InNode (location: (14...39))
+ │ └── @ InNode (location: (2,0)-(2,25))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (17...30))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,16))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ ConstantPathNode (location: (17...27))
+ │ │ │ └── @ ConstantPathNode (location: (2,3)-(2,13))
│ │ │ ├── parent: ∅
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (19...27))
+ │ │ │ │ @ ConstantReadNode (location: (2,5)-(2,13))
│ │ │ │ └── name: :NilClass
- │ │ │ └── delimiter_loc: (17...19) = "::"
+ │ │ │ └── delimiter_loc: (2,3)-(2,5) = "::"
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (29...30))
- │ │ │ ├── operator_loc: (29...30) = "*"
+ │ │ │ @ SplatNode (location: (2,15)-(2,16))
+ │ │ │ ├── operator_loc: (2,15)-(2,16) = "*"
│ │ │ └── expression: ∅
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (36...39))
+ │ │ @ StatementsNode (location: (2,22)-(2,25))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (36...39))
- │ ├── in_loc: (14...16) = "in"
- │ └── then_loc: (31...35) = "then"
+ │ │ └── @ NilNode (location: (2,22)-(2,25))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,17)-(2,21) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (40...43) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_86_2.txt b/test/yarp/snapshots/seattlerb/case_in_86_2.txt
index 4d1332a48f..9d3abbb31d 100644
--- a/test/yarp/snapshots/seattlerb/case_in_86_2.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_86_2.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...43))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ ArrayNode (location: (5...13))
+ │ @ ArrayNode (location: (1,5)-(1,13))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (6...8))
- │ │ │ ├── opening_loc: (6...7) = ":"
- │ │ │ ├── value_loc: (7...8) = "a"
+ │ │ ├── @ SymbolNode (location: (1,6)-(1,8))
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ │ │ ├── value_loc: (1,7)-(1,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ SymbolNode (location: (10...12))
- │ │ ├── opening_loc: (10...11) = ":"
- │ │ ├── value_loc: (11...12) = "b"
+ │ │ └── @ SymbolNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
+ │ │ ├── value_loc: (1,11)-(1,12) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (5...6) = "["
- │ └── closing_loc: (12...13) = "]"
+ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ └── closing_loc: (1,12)-(1,13) = "]"
├── conditions: (length: 1)
- │ └── @ InNode (location: (14...39))
+ │ └── @ InNode (location: (2,0)-(2,25))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (17...30))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,16))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (17...18))
- │ │ │ ├── operator_loc: (17...18) = "*"
+ │ │ │ @ SplatNode (location: (2,3)-(2,4))
+ │ │ │ ├── operator_loc: (2,3)-(2,4) = "*"
│ │ │ └── expression: ∅
│ │ ├── posts: (length: 1)
- │ │ │ └── @ ConstantPathNode (location: (20...30))
+ │ │ │ └── @ ConstantPathNode (location: (2,6)-(2,16))
│ │ │ ├── parent: ∅
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (22...30))
+ │ │ │ │ @ ConstantReadNode (location: (2,8)-(2,16))
│ │ │ │ └── name: :NilClass
- │ │ │ └── delimiter_loc: (20...22) = "::"
+ │ │ │ └── delimiter_loc: (2,6)-(2,8) = "::"
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (36...39))
+ │ │ @ StatementsNode (location: (2,22)-(2,25))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (36...39))
- │ ├── in_loc: (14...16) = "in"
- │ └── then_loc: (31...35) = "then"
+ │ │ └── @ NilNode (location: (2,22)-(2,25))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,17)-(2,21) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (40...43) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_array_pat_const.txt b/test/yarp/snapshots/seattlerb/case_in_array_pat_const.txt
index b7408b12e5..8316c51f2e 100644
--- a/test/yarp/snapshots/seattlerb/case_in_array_pat_const.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_array_pat_const.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:c]
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...24))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...20))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...15))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,7))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ └── name: :B
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (13...14))
+ │ │ │ └── @ LocalVariableTargetNode (location: (2,5)-(2,6))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (12...13) = "["
- │ │ └── closing_loc: (14...15) = "]"
+ │ │ ├── opening_loc: (2,4)-(2,5) = "["
+ │ │ └── closing_loc: (2,6)-(2,7) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (18...20))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (18...20))
- │ │ ├── opening_loc: (18...19) = ":"
- │ │ ├── value_loc: (19...20) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (21...24) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_array_pat_const2.txt b/test/yarp/snapshots/seattlerb/case_in_array_pat_const2.txt
index 986e5f02fc..9f54b921ac 100644
--- a/test/yarp/snapshots/seattlerb/case_in_array_pat_const2.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_array_pat_const2.txt
@@ -1,46 +1,46 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:d]
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...27))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...23))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...18))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,10))
│ │ ├── constant:
- │ │ │ @ ConstantPathNode (location: (11...15))
+ │ │ │ @ ConstantPathNode (location: (2,3)-(2,7))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ │ └── name: :B
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (14...15))
+ │ │ │ │ @ ConstantReadNode (location: (2,6)-(2,7))
│ │ │ │ └── name: :C
- │ │ │ └── delimiter_loc: (12...14) = "::"
+ │ │ │ └── delimiter_loc: (2,4)-(2,6) = "::"
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (16...17))
+ │ │ │ └── @ LocalVariableTargetNode (location: (2,8)-(2,9))
│ │ │ ├── name: :d
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (15...16) = "["
- │ │ └── closing_loc: (17...18) = "]"
+ │ │ ├── opening_loc: (2,7)-(2,8) = "["
+ │ │ └── closing_loc: (2,9)-(2,10) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (21...23))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (21...23))
- │ │ ├── opening_loc: (21...22) = ":"
- │ │ ├── value_loc: (22...23) = "e"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "e"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "e"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (24...27) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_array_pat_paren_assign.txt b/test/yarp/snapshots/seattlerb/case_in_array_pat_paren_assign.txt
index b158ab5a7f..0b903e8d91 100644
--- a/test/yarp/snapshots/seattlerb/case_in_array_pat_paren_assign.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_array_pat_paren_assign.txt
@@ -1,46 +1,46 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:d]
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...29))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...25))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (11...20))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,12))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ └── name: :B
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ CapturePatternNode (location: (13...19))
+ │ │ │ └── @ CapturePatternNode (location: (2,5)-(2,11))
│ │ │ ├── value:
- │ │ │ │ @ ConstantReadNode (location: (13...14))
+ │ │ │ │ @ ConstantReadNode (location: (2,5)-(2,6))
│ │ │ │ └── name: :C
│ │ │ ├── target:
- │ │ │ │ @ LocalVariableTargetNode (location: (18...19))
+ │ │ │ │ @ LocalVariableTargetNode (location: (2,10)-(2,11))
│ │ │ │ ├── name: :d
│ │ │ │ └── depth: 0
- │ │ │ └── operator_loc: (15...17) = "=>"
+ │ │ │ └── operator_loc: (2,7)-(2,9) = "=>"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (12...13) = "("
- │ │ └── closing_loc: (19...20) = ")"
+ │ │ ├── opening_loc: (2,4)-(2,5) = "("
+ │ │ └── closing_loc: (2,11)-(2,12) = ")"
│ ├── statements:
- │ │ @ StatementsNode (location: (23...25))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (23...25))
- │ │ ├── opening_loc: (23...24) = ":"
- │ │ ├── value_loc: (24...25) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (26...29) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_const.txt b/test/yarp/snapshots/seattlerb/case_in_const.txt
index a38aaa4d54..59880bc2a7 100644
--- a/test/yarp/snapshots/seattlerb/case_in_const.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_const.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...28))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ ConstantReadNode (location: (5...10))
+ │ @ ConstantReadNode (location: (1,5)-(1,10))
│ └── name: :Array
├── conditions: (length: 1)
- │ └── @ InNode (location: (11...24))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ConstantReadNode (location: (14...19))
+ │ │ @ ConstantReadNode (location: (2,3)-(2,8))
│ │ └── name: :Class
│ ├── statements:
- │ │ @ StatementsNode (location: (22...24))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (22...24))
- │ │ ├── opening_loc: (22...23) = ":"
- │ │ ├── value_loc: (23...24) = "b"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── in_loc: (11...13) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (25...28) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_else.txt b/test/yarp/snapshots/seattlerb/case_in_else.txt
index 8a0afbeb16..c132443cc8 100644
--- a/test/yarp/snapshots/seattlerb/case_in_else.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_else.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...38))
+ └── @ CaseNode (location: (1,0)-(6,3))
├── predicate:
- │ @ ConstantReadNode (location: (5...10))
+ │ @ ConstantReadNode (location: (1,5)-(1,10))
│ └── name: :Array
├── conditions: (length: 1)
- │ └── @ InNode (location: (11...24))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ ConstantReadNode (location: (14...19))
+ │ │ @ ConstantReadNode (location: (2,3)-(2,8))
│ │ └── name: :Class
│ ├── statements:
- │ │ @ StatementsNode (location: (22...24))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (22...24))
- │ │ ├── opening_loc: (22...23) = ":"
- │ │ ├── value_loc: (23...24) = "b"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── in_loc: (11...13) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent:
- │ @ ElseNode (location: (25...38))
- │ ├── else_keyword_loc: (25...29) = "else"
+ │ @ ElseNode (location: (4,0)-(6,3))
+ │ ├── else_keyword_loc: (4,0)-(4,4) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (32...34))
+ │ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (32...34))
- │ │ ├── opening_loc: (32...33) = ":"
- │ │ ├── value_loc: (33...34) = "c"
+ │ │ └── @ SymbolNode (location: (5,2)-(5,4))
+ │ │ ├── opening_loc: (5,2)-(5,3) = ":"
+ │ │ ├── value_loc: (5,3)-(5,4) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ └── end_keyword_loc: (35...38) = "end"
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (35...38) = "end"
+ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_find.txt b/test/yarp/snapshots/seattlerb/case_in_find.txt
index b533dba4aa..191dee3a04 100644
--- a/test/yarp/snapshots/seattlerb/case_in_find.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_find.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...27))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (10...23))
+ │ └── @ InNode (location: (2,2)-(2,15))
│ ├── pattern:
- │ │ @ FindPatternNode (location: (13...23))
+ │ │ @ FindPatternNode (location: (2,5)-(2,15))
│ │ ├── constant: ∅
│ │ ├── left:
- │ │ │ @ SplatNode (location: (13...15))
- │ │ │ ├── operator_loc: (13...14) = "*"
+ │ │ │ @ SplatNode (location: (2,5)-(2,7))
+ │ │ │ ├── operator_loc: (2,5)-(2,6) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (14...15))
+ │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,7))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ SymbolNode (location: (17...19))
- │ │ │ ├── opening_loc: (17...18) = ":"
- │ │ │ ├── value_loc: (18...19) = "+"
+ │ │ │ └── @ SymbolNode (location: (2,9)-(2,11))
+ │ │ │ ├── opening_loc: (2,9)-(2,10) = ":"
+ │ │ │ ├── value_loc: (2,10)-(2,11) = "+"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "+"
│ │ ├── right:
- │ │ │ @ SplatNode (location: (21...23))
- │ │ │ ├── operator_loc: (21...22) = "*"
+ │ │ │ @ SplatNode (location: (2,13)-(2,15))
+ │ │ │ ├── operator_loc: (2,13)-(2,14) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (22...23))
+ │ │ │ @ LocalVariableTargetNode (location: (2,14)-(2,15))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements: ∅
- │ ├── in_loc: (10...12) = "in"
+ │ ├── in_loc: (2,2)-(2,4) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (24...27) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_find_array.txt b/test/yarp/snapshots/seattlerb/case_in_find_array.txt
index 7f7939b366..df764a4b07 100644
--- a/test/yarp/snapshots/seattlerb/case_in_find_array.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_find_array.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:c]
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...28))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...24))
+ │ └── @ InNode (location: (2,0)-(2,16))
│ ├── pattern:
- │ │ @ FindPatternNode (location: (11...24))
+ │ │ @ FindPatternNode (location: (2,3)-(2,16))
│ │ ├── constant: ∅
│ │ ├── left:
- │ │ │ @ SplatNode (location: (12...13))
- │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ @ SplatNode (location: (2,4)-(2,5))
+ │ │ │ ├── operator_loc: (2,4)-(2,5) = "*"
│ │ │ └── expression: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (15...17))
- │ │ │ │ ├── opening_loc: (15...16) = ":"
- │ │ │ │ ├── value_loc: (16...17) = "b"
+ │ │ │ ├── @ SymbolNode (location: (2,7)-(2,9))
+ │ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":"
+ │ │ │ │ ├── value_loc: (2,8)-(2,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ └── @ LocalVariableTargetNode (location: (19...20))
+ │ │ │ └── @ LocalVariableTargetNode (location: (2,11)-(2,12))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
│ │ ├── right:
- │ │ │ @ SplatNode (location: (22...23))
- │ │ │ ├── operator_loc: (22...23) = "*"
+ │ │ │ @ SplatNode (location: (2,14)-(2,15))
+ │ │ │ ├── operator_loc: (2,14)-(2,15) = "*"
│ │ │ └── expression: ∅
- │ │ ├── opening_loc: (11...12) = "["
- │ │ └── closing_loc: (23...24) = "]"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "["
+ │ │ └── closing_loc: (2,15)-(2,16) = "]"
│ ├── statements: ∅
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (25...28) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat.txt
index 6f408c4502..e039140241 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat.txt
@@ -1,64 +1,64 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...43))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...39))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...29))
+ │ │ @ HashPatternNode (location: (2,3)-(2,21))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 2)
- │ │ │ ├── @ AssocNode (location: (13...19))
+ │ │ │ ├── @ AssocNode (location: (2,5)-(2,11))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (13...15))
+ │ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (13...14) = "b"
- │ │ │ │ │ ├── closing_loc: (14...15) = ":"
+ │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
+ │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
- │ │ │ │ │ @ StringNode (location: (16...19))
+ │ │ │ │ │ @ StringNode (location: (2,8)-(2,11))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (16...17) = "'"
- │ │ │ │ │ ├── content_loc: (17...18) = "c"
- │ │ │ │ │ ├── closing_loc: (18...19) = "'"
+ │ │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "'"
+ │ │ │ │ │ ├── content_loc: (2,9)-(2,10) = "c"
+ │ │ │ │ │ ├── closing_loc: (2,10)-(2,11) = "'"
│ │ │ │ │ └── unescaped: "c"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (21...27))
+ │ │ │ └── @ AssocNode (location: (2,13)-(2,19))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (21...23))
+ │ │ │ │ @ SymbolNode (location: (2,13)-(2,15))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (21...22) = "d"
- │ │ │ │ ├── closing_loc: (22...23) = ":"
+ │ │ │ │ ├── value_loc: (2,13)-(2,14) = "d"
+ │ │ │ │ ├── closing_loc: (2,14)-(2,15) = ":"
│ │ │ │ └── unescaped: "d"
│ │ │ ├── value:
- │ │ │ │ @ StringNode (location: (24...27))
+ │ │ │ │ @ StringNode (location: (2,16)-(2,19))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (24...25) = "\""
- │ │ │ │ ├── content_loc: (25...26) = "e"
- │ │ │ │ ├── closing_loc: (26...27) = "\""
+ │ │ │ │ ├── opening_loc: (2,16)-(2,17) = "\""
+ │ │ │ │ ├── content_loc: (2,17)-(2,18) = "e"
+ │ │ │ │ ├── closing_loc: (2,18)-(2,19) = "\""
│ │ │ │ └── unescaped: "e"
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (11...12) = "{"
- │ │ └── closing_loc: (28...29) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,20)-(2,21) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (37...39))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (37...39))
- │ │ ├── opening_loc: (37...38) = ":"
- │ │ ├── value_loc: (38...39) = "f"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "f"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "f"
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (30...34) = "then"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,22)-(2,26) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (40...43) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat_assign.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat_assign.txt
index 23e9a174a9..b24718b1ee 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat_assign.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat_assign.txt
@@ -1,76 +1,76 @@
-@ ProgramNode (location: (0...56))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:x, :f]
└── statements:
- @ StatementsNode (location: (0...56))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...56))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...52))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...42))
+ │ │ @ HashPatternNode (location: (2,3)-(2,34))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 3)
- │ │ │ ├── @ AssocNode (location: (13...28))
+ │ │ │ ├── @ AssocNode (location: (2,5)-(2,20))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (13...15))
+ │ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (13...14) = "b"
- │ │ │ │ │ ├── closing_loc: (14...15) = ":"
+ │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
+ │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
- │ │ │ │ │ @ CapturePatternNode (location: (16...28))
+ │ │ │ │ │ @ CapturePatternNode (location: (2,8)-(2,20))
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ ConstantReadNode (location: (16...23))
+ │ │ │ │ │ │ @ ConstantReadNode (location: (2,8)-(2,15))
│ │ │ │ │ │ └── name: :Integer
│ │ │ │ │ ├── target:
- │ │ │ │ │ │ @ LocalVariableTargetNode (location: (27...28))
+ │ │ │ │ │ │ @ LocalVariableTargetNode (location: (2,19)-(2,20))
│ │ │ │ │ │ ├── name: :x
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── operator_loc: (24...26) = "=>"
+ │ │ │ │ │ └── operator_loc: (2,16)-(2,18) = "=>"
│ │ │ │ └── operator_loc: ∅
- │ │ │ ├── @ AssocNode (location: (30...36))
+ │ │ │ ├── @ AssocNode (location: (2,22)-(2,28))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (30...32))
+ │ │ │ │ │ @ SymbolNode (location: (2,22)-(2,24))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (30...31) = "d"
- │ │ │ │ │ ├── closing_loc: (31...32) = ":"
+ │ │ │ │ │ ├── value_loc: (2,22)-(2,23) = "d"
+ │ │ │ │ │ ├── closing_loc: (2,23)-(2,24) = ":"
│ │ │ │ │ └── unescaped: "d"
│ │ │ │ ├── value:
- │ │ │ │ │ @ StringNode (location: (33...36))
+ │ │ │ │ │ @ StringNode (location: (2,25)-(2,28))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (33...34) = "\""
- │ │ │ │ │ ├── content_loc: (34...35) = "e"
- │ │ │ │ │ ├── closing_loc: (35...36) = "\""
+ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "\""
+ │ │ │ │ │ ├── content_loc: (2,26)-(2,27) = "e"
+ │ │ │ │ │ ├── closing_loc: (2,27)-(2,28) = "\""
│ │ │ │ │ └── unescaped: "e"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (38...40))
+ │ │ │ └── @ AssocNode (location: (2,30)-(2,32))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (38...40))
+ │ │ │ │ @ SymbolNode (location: (2,30)-(2,32))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (38...39) = "f"
- │ │ │ │ ├── closing_loc: (39...40) = ":"
+ │ │ │ │ ├── value_loc: (2,30)-(2,31) = "f"
+ │ │ │ │ ├── closing_loc: (2,31)-(2,32) = ":"
│ │ │ │ └── unescaped: "f"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (11...12) = "{"
- │ │ └── closing_loc: (41...42) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,33)-(2,34) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (50...52))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (50...52))
- │ │ ├── opening_loc: (50...51) = ":"
- │ │ ├── value_loc: (51...52) = "g"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "g"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "g"
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (43...47) = "then"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,35)-(2,39) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (53...56) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt
index 46e81a844d..802c09438e 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...28))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...24))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...19))
+ │ │ @ HashPatternNode (location: (2,3)-(2,11))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ └── name: :B
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (13...18))
+ │ │ │ └── @ AssocNode (location: (2,5)-(2,10))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (13...15))
+ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (13...14) = "a"
- │ │ │ │ ├── closing_loc: (14...15) = ":"
+ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "a"
+ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (16...18))
+ │ │ │ │ @ IntegerNode (location: (2,8)-(2,10))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (12...13) = "("
- │ │ └── closing_loc: (18...19) = ")"
+ │ │ ├── opening_loc: (2,4)-(2,5) = "("
+ │ │ └── closing_loc: (2,10)-(2,11) = ")"
│ ├── statements:
- │ │ @ StatementsNode (location: (22...24))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (22...24))
- │ │ ├── opening_loc: (22...23) = ":"
- │ │ ├── value_loc: (23...24) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (25...28) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_true.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_true.txt
index 4aef57e4af..ca7fbcfd92 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_true.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat_paren_true.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...32))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...28))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...18))
+ │ │ @ HashPatternNode (location: (2,3)-(2,10))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (11...18))
+ │ │ │ └── @ AssocNode (location: (2,3)-(2,10))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (11...13))
+ │ │ │ │ @ SymbolNode (location: (2,3)-(2,5))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (11...12) = "b"
- │ │ │ │ ├── closing_loc: (12...13) = ":"
+ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
+ │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ TrueNode (location: (14...18))
+ │ │ │ │ @ TrueNode (location: (2,6)-(2,10))
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (26...28))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (26...28))
- │ │ ├── opening_loc: (26...27) = ":"
- │ │ ├── value_loc: (27...28) = "c"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (19...23) = "then"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,11)-(2,15) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (29...32) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest.txt
index ae83bb4be8..bbd4963008 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:c, :rest]
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...35))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...31))
+ │ └── @ InNode (location: (2,0)-(2,23))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...23))
+ │ │ @ HashPatternNode (location: (2,3)-(2,15))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 2)
- │ │ │ ├── @ AssocNode (location: (11...15))
+ │ │ │ ├── @ AssocNode (location: (2,3)-(2,7))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (11...13))
+ │ │ │ │ │ @ SymbolNode (location: (2,3)-(2,5))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (11...12) = "b"
- │ │ │ │ │ ├── closing_loc: (12...13) = ":"
+ │ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
+ │ │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (14...15))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,7))
│ │ │ │ │ ├── name: :c
│ │ │ │ │ └── depth: 0
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocSplatNode (location: (17...23))
+ │ │ │ └── @ AssocSplatNode (location: (2,9)-(2,15))
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableTargetNode (location: (19...23))
+ │ │ │ │ @ LocalVariableTargetNode (location: (2,11)-(2,15))
│ │ │ │ ├── name: :rest
│ │ │ │ └── depth: 0
- │ │ │ └── operator_loc: (17...19) = "**"
+ │ │ │ └── operator_loc: (2,9)-(2,11) = "**"
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (29...31))
+ │ │ @ StatementsNode (location: (2,21)-(2,23))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (29...31))
- │ │ ├── opening_loc: (29...30) = ":"
- │ │ ├── value_loc: (30...31) = "d"
+ │ │ └── @ SymbolNode (location: (2,21)-(2,23))
+ │ │ ├── opening_loc: (2,21)-(2,22) = ":"
+ │ │ ├── value_loc: (2,22)-(2,23) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (24...28) = "then"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,16)-(2,20) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (32...35) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt b/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt
index bdb727dad3..4a189bb590 100644
--- a/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: [:rest]
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...29))
+ └── @ CaseNode (location: (1,0)-(3,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...25))
+ │ └── @ InNode (location: (2,0)-(2,17))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...17))
+ │ │ @ HashPatternNode (location: (2,3)-(2,9))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (11...17))
+ │ │ │ └── @ AssocSplatNode (location: (2,3)-(2,9))
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableTargetNode (location: (13...17))
+ │ │ │ │ @ LocalVariableTargetNode (location: (2,5)-(2,9))
│ │ │ │ ├── name: :rest
│ │ │ │ └── depth: 0
- │ │ │ └── operator_loc: (11...13) = "**"
+ │ │ │ └── operator_loc: (2,3)-(2,5) = "**"
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (23...25))
+ │ │ @ StatementsNode (location: (2,15)-(2,17))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (23...25))
- │ │ ├── opening_loc: (23...24) = ":"
- │ │ ├── value_loc: (24...25) = "d"
+ │ │ └── @ SymbolNode (location: (2,15)-(2,17))
+ │ │ ├── opening_loc: (2,15)-(2,16) = ":"
+ │ │ ├── value_loc: (2,16)-(2,17) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
- │ └── then_loc: (18...22) = "then"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ └── then_loc: (2,10)-(2,14) = "then"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (26...29) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_if_unless_post_mod.txt b/test/yarp/snapshots/seattlerb/case_in_if_unless_post_mod.txt
index 2acc2bcdf4..b058ee0285 100644
--- a/test/yarp/snapshots/seattlerb/case_in_if_unless_post_mod.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_if_unless_post_mod.txt
@@ -1,62 +1,62 @@
-@ ProgramNode (location: (0...52))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...52))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...52))
+ └── @ CaseNode (location: (1,0)-(6,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 2)
- │ ├── @ InNode (location: (8...25))
+ │ ├── @ InNode (location: (2,0)-(3,4))
│ │ ├── pattern:
- │ │ │ @ IfNode (location: (11...20))
- │ │ │ ├── if_keyword_loc: (13...15) = "if"
+ │ │ │ @ IfNode (location: (2,3)-(2,12))
+ │ │ │ ├── if_keyword_loc: (2,5)-(2,7) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (16...20))
+ │ │ │ │ @ TrueNode (location: (2,8)-(2,12))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (11...12))
+ │ │ │ │ @ StatementsNode (location: (2,3)-(2,4))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (11...12))
+ │ │ │ │ └── @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ │ └── name: :A
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (23...25))
+ │ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (23...25))
- │ │ │ ├── opening_loc: (23...24) = ":"
- │ │ │ ├── value_loc: (24...25) = "C"
+ │ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ │ ├── value_loc: (3,3)-(3,4) = "C"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "C"
- │ │ ├── in_loc: (8...10) = "in"
+ │ │ ├── in_loc: (2,0)-(2,2) = "in"
│ │ └── then_loc: ∅
- │ └── @ InNode (location: (26...48))
+ │ └── @ InNode (location: (4,0)-(5,4))
│ ├── pattern:
- │ │ @ UnlessNode (location: (29...43))
- │ │ ├── keyword_loc: (31...37) = "unless"
+ │ │ @ UnlessNode (location: (4,3)-(4,17))
+ │ │ ├── keyword_loc: (4,5)-(4,11) = "unless"
│ │ ├── predicate:
- │ │ │ @ FalseNode (location: (38...43))
+ │ │ │ @ FalseNode (location: (4,12)-(4,17))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (29...30))
+ │ │ │ @ StatementsNode (location: (4,3)-(4,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (29...30))
+ │ │ │ └── @ ConstantReadNode (location: (4,3)-(4,4))
│ │ │ └── name: :D
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (46...48))
+ │ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (46...48))
- │ │ ├── opening_loc: (46...47) = ":"
- │ │ ├── value_loc: (47...48) = "E"
+ │ │ └── @ SymbolNode (location: (5,2)-(5,4))
+ │ │ ├── opening_loc: (5,2)-(5,3) = ":"
+ │ │ ├── value_loc: (5,3)-(5,4) = "E"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "E"
- │ ├── in_loc: (26...28) = "in"
+ │ ├── in_loc: (4,0)-(4,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (49...52) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_multiple.txt b/test/yarp/snapshots/seattlerb/case_in_multiple.txt
index 06dbf3b213..046cb61838 100644
--- a/test/yarp/snapshots/seattlerb/case_in_multiple.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_multiple.txt
@@ -1,56 +1,56 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...37))
+ └── @ CaseNode (location: (1,0)-(6,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 2)
- │ ├── @ InNode (location: (8...20))
+ │ ├── @ InNode (location: (2,0)-(3,4))
│ │ ├── pattern:
- │ │ │ @ ConstantPathNode (location: (11...15))
+ │ │ │ @ ConstantPathNode (location: (2,3)-(2,7))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ │ └── name: :A
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (14...15))
+ │ │ │ │ @ ConstantReadNode (location: (2,6)-(2,7))
│ │ │ │ └── name: :B
- │ │ │ └── delimiter_loc: (12...14) = "::"
+ │ │ │ └── delimiter_loc: (2,4)-(2,6) = "::"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (18...20))
+ │ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (18...20))
- │ │ │ ├── opening_loc: (18...19) = ":"
- │ │ │ ├── value_loc: (19...20) = "C"
+ │ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ │ ├── value_loc: (3,3)-(3,4) = "C"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "C"
- │ │ ├── in_loc: (8...10) = "in"
+ │ │ ├── in_loc: (2,0)-(2,2) = "in"
│ │ └── then_loc: ∅
- │ └── @ InNode (location: (21...33))
+ │ └── @ InNode (location: (4,0)-(5,4))
│ ├── pattern:
- │ │ @ ConstantPathNode (location: (24...28))
+ │ │ @ ConstantPathNode (location: (4,3)-(4,7))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (24...25))
+ │ │ │ @ ConstantReadNode (location: (4,3)-(4,4))
│ │ │ └── name: :D
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (27...28))
+ │ │ │ @ ConstantReadNode (location: (4,6)-(4,7))
│ │ │ └── name: :E
- │ │ └── delimiter_loc: (25...27) = "::"
+ │ │ └── delimiter_loc: (4,4)-(4,6) = "::"
│ ├── statements:
- │ │ @ StatementsNode (location: (31...33))
+ │ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (31...33))
- │ │ ├── opening_loc: (31...32) = ":"
- │ │ ├── value_loc: (32...33) = "F"
+ │ │ └── @ SymbolNode (location: (5,2)-(5,4))
+ │ │ ├── opening_loc: (5,2)-(5,3) = ":"
+ │ │ ├── value_loc: (5,3)-(5,4) = "F"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "F"
- │ ├── in_loc: (21...23) = "in"
+ │ ├── in_loc: (4,0)-(4,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (34...37) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/case_in_or.txt b/test/yarp/snapshots/seattlerb/case_in_or.txt
index 20993f40aa..059ddcd32c 100644
--- a/test/yarp/snapshots/seattlerb/case_in_or.txt
+++ b/test/yarp/snapshots/seattlerb/case_in_or.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...25))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...21))
+ │ └── @ InNode (location: (2,0)-(3,4))
│ ├── pattern:
- │ │ @ AlternationPatternNode (location: (11...16))
+ │ │ @ AlternationPatternNode (location: (2,3)-(2,8))
│ │ ├── left:
- │ │ │ @ ConstantReadNode (location: (11...12))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ └── name: :B
│ │ ├── right:
- │ │ │ @ ConstantReadNode (location: (15...16))
+ │ │ │ @ ConstantReadNode (location: (2,7)-(2,8))
│ │ │ └── name: :C
- │ │ └── operator_loc: (13...14) = "|"
+ │ │ └── operator_loc: (2,5)-(2,6) = "|"
│ ├── statements:
- │ │ @ StatementsNode (location: (19...21))
+ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (19...21))
- │ │ ├── opening_loc: (19...20) = ":"
- │ │ ├── value_loc: (20...21) = "d"
+ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
+ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
+ │ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (22...25) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/class_comments.txt b/test/yarp/snapshots/seattlerb/class_comments.txt
index 5eb521e1f2..5ac05b6be6 100644
--- a/test/yarp/snapshots/seattlerb/class_comments.txt
+++ b/test/yarp/snapshots/seattlerb/class_comments.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (19...71))
+@ ProgramNode (location: (4,0)-(9,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (19...71))
+ @ StatementsNode (location: (4,0)-(9,3))
└── body: (length: 1)
- └── @ ClassNode (location: (19...71))
+ └── @ ClassNode (location: (4,0)-(9,3))
├── locals: []
- ├── class_keyword_loc: (19...24) = "class"
+ ├── class_keyword_loc: (4,0)-(4,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (25...26))
+ │ @ ConstantReadNode (location: (4,6)-(4,7))
│ └── name: :X
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body:
- │ @ StatementsNode (location: (40...67))
+ │ @ StatementsNode (location: (6,2)-(8,5))
│ └── body: (length: 1)
- │ └── @ DefNode (location: (40...67))
+ │ └── @ DefNode (location: (6,2)-(8,5))
│ ├── name: :blah
- │ ├── name_loc: (44...48) = "blah"
+ │ ├── name_loc: (6,6)-(6,10) = "blah"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (40...43) = "def"
+ │ ├── def_keyword_loc: (6,2)-(6,5) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (64...67) = "end"
- ├── end_keyword_loc: (68...71) = "end"
+ │ └── end_keyword_loc: (8,2)-(8,5) = "end"
+ ├── end_keyword_loc: (9,0)-(9,3) = "end"
└── name: :X
diff --git a/test/yarp/snapshots/seattlerb/cond_unary_minus.txt b/test/yarp/snapshots/seattlerb/cond_unary_minus.txt
index e6f0e2068b..28c354b85d 100644
--- a/test/yarp/snapshots/seattlerb/cond_unary_minus.txt
+++ b/test/yarp/snapshots/seattlerb/cond_unary_minus.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ IfNode (location: (0...10))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,10))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ IntegerNode (location: (3...5))
+ │ @ IntegerNode (location: (1,3)-(1,5))
│ └── flags: decimal
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (7...10) = "end"
+ └── end_keyword_loc: (1,7)-(1,10) = "end"
diff --git a/test/yarp/snapshots/seattlerb/const_2_op_asgn_or2.txt b/test/yarp/snapshots/seattlerb/const_2_op_asgn_or2.txt
index 4ec0609cee..332c7ff302 100644
--- a/test/yarp/snapshots/seattlerb/const_2_op_asgn_or2.txt
+++ b/test/yarp/snapshots/seattlerb/const_2_op_asgn_or2.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ ConstantPathOrWriteNode (location: (0...12))
+ └── @ ConstantPathOrWriteNode (location: (1,0)-(1,12))
├── target:
- │ @ ConstantPathNode (location: (0...6))
+ │ @ ConstantPathNode (location: (1,0)-(1,6))
│ ├── parent:
- │ │ @ ConstantPathNode (location: (0...3))
+ │ │ @ ConstantPathNode (location: (1,0)-(1,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (2...3))
+ │ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ │ └── name: :X
- │ │ └── delimiter_loc: (0...2) = "::"
+ │ │ └── delimiter_loc: (1,0)-(1,2) = "::"
│ ├── child:
- │ │ @ ConstantReadNode (location: (5...6))
+ │ │ @ ConstantReadNode (location: (1,5)-(1,6))
│ │ └── name: :Y
- │ └── delimiter_loc: (3...5) = "::"
- ├── operator_loc: (7...10) = "||="
+ │ └── delimiter_loc: (1,3)-(1,5) = "::"
+ ├── operator_loc: (1,7)-(1,10) = "||="
└── value:
- @ IntegerNode (location: (11...12))
+ @ IntegerNode (location: (1,11)-(1,12))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/const_3_op_asgn_or.txt b/test/yarp/snapshots/seattlerb/const_3_op_asgn_or.txt
index e744282e6d..e7130cc1b3 100644
--- a/test/yarp/snapshots/seattlerb/const_3_op_asgn_or.txt
+++ b/test/yarp/snapshots/seattlerb/const_3_op_asgn_or.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ ConstantPathOrWriteNode (location: (0...9))
+ └── @ ConstantPathOrWriteNode (location: (1,0)-(1,9))
├── target:
- │ @ ConstantPathNode (location: (0...3))
+ │ @ ConstantPathNode (location: (1,0)-(1,3))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (2...3))
+ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ └── name: :X
- │ └── delimiter_loc: (0...2) = "::"
- ├── operator_loc: (4...7) = "||="
+ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ ├── operator_loc: (1,4)-(1,7) = "||="
└── value:
- @ IntegerNode (location: (8...9))
+ @ IntegerNode (location: (1,8)-(1,9))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/const_op_asgn_and1.txt b/test/yarp/snapshots/seattlerb/const_op_asgn_and1.txt
index 1907233bee..c4c5534f92 100644
--- a/test/yarp/snapshots/seattlerb/const_op_asgn_and1.txt
+++ b/test/yarp/snapshots/seattlerb/const_op_asgn_and1.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ ConstantPathOperatorWriteNode (location: (0...8))
+ └── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,8))
├── target:
- │ @ ConstantPathNode (location: (0...3))
+ │ @ ConstantPathNode (location: (1,0)-(1,3))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (2...3))
+ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ └── name: :X
- │ └── delimiter_loc: (0...2) = "::"
- ├── operator_loc: (4...6) = "&="
+ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ ├── operator_loc: (1,4)-(1,6) = "&="
├── value:
- │ @ IntegerNode (location: (7...8))
+ │ @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
└── operator: :&
diff --git a/test/yarp/snapshots/seattlerb/const_op_asgn_and2.txt b/test/yarp/snapshots/seattlerb/const_op_asgn_and2.txt
index bf1754d8e4..ef9ee358b9 100644
--- a/test/yarp/snapshots/seattlerb/const_op_asgn_and2.txt
+++ b/test/yarp/snapshots/seattlerb/const_op_asgn_and2.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ ConstantPathAndWriteNode (location: (0...9))
+ └── @ ConstantPathAndWriteNode (location: (1,0)-(1,9))
├── target:
- │ @ ConstantPathNode (location: (0...3))
+ │ @ ConstantPathNode (location: (1,0)-(1,3))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (2...3))
+ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ └── name: :X
- │ └── delimiter_loc: (0...2) = "::"
- ├── operator_loc: (4...7) = "&&="
+ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ ├── operator_loc: (1,4)-(1,7) = "&&="
└── value:
- @ IntegerNode (location: (8...9))
+ @ IntegerNode (location: (1,8)-(1,9))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/const_op_asgn_or.txt b/test/yarp/snapshots/seattlerb/const_op_asgn_or.txt
index a08b225daf..7afc8882e9 100644
--- a/test/yarp/snapshots/seattlerb/const_op_asgn_or.txt
+++ b/test/yarp/snapshots/seattlerb/const_op_asgn_or.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ ConstantPathOrWriteNode (location: (0...10))
+ └── @ ConstantPathOrWriteNode (location: (1,0)-(1,10))
├── target:
- │ @ ConstantPathNode (location: (0...4))
+ │ @ ConstantPathNode (location: (1,0)-(1,4))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (0...1))
+ │ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ │ └── name: :X
│ ├── child:
- │ │ @ ConstantReadNode (location: (3...4))
+ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
│ │ └── name: :Y
- │ └── delimiter_loc: (1...3) = "::"
- ├── operator_loc: (5...8) = "||="
+ │ └── delimiter_loc: (1,1)-(1,3) = "::"
+ ├── operator_loc: (1,5)-(1,8) = "||="
└── value:
- @ IntegerNode (location: (9...10))
+ @ IntegerNode (location: (1,9)-(1,10))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/dasgn_icky2.txt b/test/yarp/snapshots/seattlerb/dasgn_icky2.txt
index d3eabd62b4..16864d1e33 100644
--- a/test/yarp/snapshots/seattlerb/dasgn_icky2.txt
+++ b/test/yarp/snapshots/seattlerb/dasgn_icky2.txt
@@ -1,61 +1,61 @@
-@ ProgramNode (location: (0...76))
+@ ProgramNode (location: (1,0)-(8,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...76))
+ @ StatementsNode (location: (1,0)-(8,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...76))
+ └── @ CallNode (location: (1,0)-(8,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...76))
+ │ @ BlockNode (location: (1,2)-(8,3))
│ ├── locals: [:v]
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (7...72))
+ │ │ @ StatementsNode (location: (2,2)-(7,5))
│ │ └── body: (length: 2)
- │ │ ├── @ LocalVariableWriteNode (location: (7...14))
+ │ │ ├── @ LocalVariableWriteNode (location: (2,2)-(2,9))
│ │ │ ├── name: :v
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (7...8) = "v"
+ │ │ │ ├── name_loc: (2,2)-(2,3) = "v"
│ │ │ ├── value:
- │ │ │ │ @ NilNode (location: (11...14))
- │ │ │ └── operator_loc: (9...10) = "="
- │ │ └── @ BeginNode (location: (17...72))
- │ │ ├── begin_keyword_loc: (17...22) = "begin"
+ │ │ │ │ @ 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: (27...32))
+ │ │ │ @ StatementsNode (location: (4,4)-(4,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ YieldNode (location: (27...32))
- │ │ │ ├── keyword_loc: (27...32) = "yield"
+ │ │ │ └── @ YieldNode (location: (4,4)-(4,9))
+ │ │ │ ├── keyword_loc: (4,4)-(4,9) = "yield"
│ │ │ ├── lparen_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ └── rparen_loc: ∅
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (35...66))
- │ │ │ ├── keyword_loc: (35...41) = "rescue"
+ │ │ │ @ RescueNode (location: (5,2)-(6,9))
+ │ │ │ ├── keyword_loc: (5,2)-(5,8) = "rescue"
│ │ │ ├── exceptions: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (42...51))
+ │ │ │ │ └── @ ConstantReadNode (location: (5,9)-(5,18))
│ │ │ │ └── name: :Exception
- │ │ │ ├── operator_loc: (52...54) = "=>"
+ │ │ │ ├── operator_loc: (5,19)-(5,21) = "=>"
│ │ │ ├── reference:
- │ │ │ │ @ LocalVariableTargetNode (location: (55...56))
+ │ │ │ │ @ LocalVariableTargetNode (location: (5,22)-(5,23))
│ │ │ │ ├── name: :v
│ │ │ │ └── depth: 0
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (61...66))
+ │ │ │ │ @ StatementsNode (location: (6,4)-(6,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (61...66))
+ │ │ │ │ └── @ BreakNode (location: (6,4)-(6,9))
│ │ │ │ ├── arguments: ∅
- │ │ │ │ └── keyword_loc: (61...66) = "break"
+ │ │ │ │ └── keyword_loc: (6,4)-(6,9) = "break"
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (69...72) = "end"
- │ ├── opening_loc: (2...4) = "do"
- │ └── closing_loc: (73...76) = "end"
+ │ │ └── end_keyword_loc: (7,2)-(7,5) = "end"
+ │ ├── opening_loc: (1,2)-(1,4) = "do"
+ │ └── closing_loc: (8,0)-(8,3) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/defined_eh_parens.txt b/test/yarp/snapshots/seattlerb/defined_eh_parens.txt
index 99c6455f0f..b03666c7e4 100644
--- a/test/yarp/snapshots/seattlerb/defined_eh_parens.txt
+++ b/test/yarp/snapshots/seattlerb/defined_eh_parens.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ DefinedNode (location: (0...12))
- ├── lparen_loc: (8...9) = "("
+ └── @ DefinedNode (location: (1,0)-(1,12))
+ ├── lparen_loc: (1,8)-(1,9) = "("
├── value:
- │ @ IntegerNode (location: (9...11))
+ │ @ IntegerNode (location: (1,9)-(1,11))
│ └── flags: decimal
- ├── rparen_loc: (11...12) = ")"
- └── keyword_loc: (0...8) = "defined?"
+ ├── rparen_loc: (1,11)-(1,12) = ")"
+ └── keyword_loc: (1,0)-(1,8) = "defined?"
diff --git a/test/yarp/snapshots/seattlerb/defn_arg_asplat_arg.txt b/test/yarp/snapshots/seattlerb/defn_arg_asplat_arg.txt
index abe438bb28..c5c169fc0e 100644
--- a/test/yarp/snapshots/seattlerb/defn_arg_asplat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_arg_asplat_arg.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ DefNode (location: (0...29))
+ └── @ DefNode (location: (1,0)-(1,29))
├── name: :call
- ├── name_loc: (4...8) = "call"
+ ├── name_loc: (1,4)-(1,8) = "call"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (9...24))
+ │ @ ParametersNode (location: (1,9)-(1,24))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (9...15))
+ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,15))
│ │ └── name: :interp
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (17...18))
+ │ │ @ RestParameterNode (location: (1,17)-(1,18))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (17...18) = "*"
+ │ │ └── operator_loc: (1,17)-(1,18) = "*"
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (20...24))
+ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,24))
│ │ └── name: :args
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:interp, :*, :args]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (8...9) = "("
- ├── rparen_loc: (24...25) = ")"
+ ├── lparen_loc: (1,8)-(1,9) = "("
+ ├── rparen_loc: (1,24)-(1,25) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (26...29) = "end"
+ └── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_arg_forward_args.txt b/test/yarp/snapshots/seattlerb/defn_arg_forward_args.txt
index 2e37d769cd..8b85009de0 100644
--- a/test/yarp/snapshots/seattlerb/defn_arg_forward_args.txt
+++ b/test/yarp/snapshots/seattlerb/defn_arg_forward_args.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ DefNode (location: (0...29))
+ └── @ DefNode (location: (1,0)-(1,29))
├── name: :a
- ├── name_loc: (4...5) = "a"
+ ├── name_loc: (1,4)-(1,5) = "a"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :x
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (9...12))
+ │ │ @ ForwardingParameterNode (location: (1,9)-(1,12))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (15...24))
+ │ @ StatementsNode (location: (1,15)-(1,24))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (15...24))
+ │ └── @ CallNode (location: (1,15)-(1,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (15...16) = "b"
- │ ├── opening_loc: (16...17) = "("
+ │ ├── message_loc: (1,15)-(1,16) = "b"
+ │ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (17...23))
+ │ │ @ ArgumentsNode (location: (1,17)-(1,23))
│ │ └── arguments: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (17...18))
+ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
- │ │ └── @ ForwardingArgumentsNode (location: (20...23))
- │ ├── closing_loc: (23...24) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23))
+ │ ├── closing_loc: (1,23)-(1,24) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
├── locals: [:x, :"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (12...13) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (26...29) = "end"
+ └── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_args_forward_args.txt b/test/yarp/snapshots/seattlerb/defn_args_forward_args.txt
index 7e585e396c..2d033dd1f2 100644
--- a/test/yarp/snapshots/seattlerb/defn_args_forward_args.txt
+++ b/test/yarp/snapshots/seattlerb/defn_args_forward_args.txt
@@ -1,56 +1,56 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(1,41))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(1,41))
└── body: (length: 1)
- └── @ DefNode (location: (0...41))
+ └── @ DefNode (location: (1,0)-(1,41))
├── name: :a
- ├── name_loc: (4...5) = "a"
+ ├── name_loc: (1,4)-(1,5) = "a"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...18))
+ │ @ ParametersNode (location: (1,6)-(1,18))
│ ├── requireds: (length: 3)
- │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ └── name: :x
- │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ └── name: :y
- │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ └── name: :z
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (15...18))
+ │ │ @ ForwardingParameterNode (location: (1,15)-(1,18))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (21...36))
+ │ @ StatementsNode (location: (1,21)-(1,36))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (21...36))
+ │ └── @ CallNode (location: (1,21)-(1,36))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...22) = "b"
- │ ├── opening_loc: (22...23) = "("
+ │ ├── message_loc: (1,21)-(1,22) = "b"
+ │ ├── opening_loc: (1,22)-(1,23) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (23...35))
+ │ │ @ ArgumentsNode (location: (1,23)-(1,35))
│ │ └── arguments: (length: 3)
- │ │ ├── @ SymbolNode (location: (23...27))
- │ │ │ ├── opening_loc: (23...24) = ":"
- │ │ │ ├── value_loc: (24...27) = "get"
+ │ │ ├── @ 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: (29...30))
+ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
│ │ │ ├── name: :z
│ │ │ └── depth: 0
- │ │ └── @ ForwardingArgumentsNode (location: (32...35))
- │ ├── closing_loc: (35...36) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35))
+ │ ├── closing_loc: (1,35)-(1,36) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
├── locals: [:x, :y, :z, :"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (18...19) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,18)-(1,19) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (38...41) = "end"
+ └── end_keyword_loc: (1,38)-(1,41) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_comments.txt b/test/yarp/snapshots/seattlerb/defn_comments.txt
index 9ce9116597..585aa65c9a 100644
--- a/test/yarp/snapshots/seattlerb/defn_comments.txt
+++ b/test/yarp/snapshots/seattlerb/defn_comments.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (19...31))
+@ ProgramNode (location: (4,0)-(5,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (19...31))
+ @ StatementsNode (location: (4,0)-(5,3))
└── body: (length: 1)
- └── @ DefNode (location: (19...31))
+ └── @ DefNode (location: (4,0)-(5,3))
├── name: :blah
- ├── name_loc: (23...27) = "blah"
+ ├── name_loc: (4,4)-(4,8) = "blah"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (19...22) = "def"
+ ├── def_keyword_loc: (4,0)-(4,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (28...31) = "end"
+ └── end_keyword_loc: (5,0)-(5,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_endless_command.txt b/test/yarp/snapshots/seattlerb/defn_endless_command.txt
index da8bb7a4cb..90cfd1c888 100644
--- a/test/yarp/snapshots/seattlerb/defn_endless_command.txt
+++ b/test/yarp/snapshots/seattlerb/defn_endless_command.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(1,33))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
- └── @ DefNode (location: (0...33))
+ └── @ DefNode (location: (1,0)-(1,33))
├── name: :some_method
- ├── name_loc: (4...15) = "some_method"
+ ├── name_loc: (1,4)-(1,15) = "some_method"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (18...33))
+ │ @ StatementsNode (location: (1,18)-(1,33))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (18...33))
+ │ └── @ CallNode (location: (1,18)-(1,33))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (18...30) = "other_method"
+ │ ├── message_loc: (1,18)-(1,30) = "other_method"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (31...33))
+ │ │ @ ArgumentsNode (location: (1,31)-(1,33))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (31...33))
+ │ │ └── @ IntegerNode (location: (1,31)-(1,33))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "other_method"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (16...17) = "="
+ ├── equal_loc: (1,16)-(1,17) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_endless_command_rescue.txt b/test/yarp/snapshots/seattlerb/defn_endless_command_rescue.txt
index 01d2e56b76..18e019d4f4 100644
--- a/test/yarp/snapshots/seattlerb/defn_endless_command_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/defn_endless_command_rescue.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(1,43))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(1,43))
└── body: (length: 1)
- └── @ DefNode (location: (0...43))
+ └── @ DefNode (location: (1,0)-(1,43))
├── name: :some_method
- ├── name_loc: (4...15) = "some_method"
+ ├── name_loc: (1,4)-(1,15) = "some_method"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (18...43))
+ │ @ StatementsNode (location: (1,18)-(1,43))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (18...43))
+ │ └── @ CallNode (location: (1,18)-(1,43))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (18...30) = "other_method"
+ │ ├── message_loc: (1,18)-(1,30) = "other_method"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (31...43))
+ │ │ @ ArgumentsNode (location: (1,31)-(1,43))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (31...43))
+ │ │ └── @ RescueModifierNode (location: (1,31)-(1,43))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (31...33))
+ │ │ │ @ IntegerNode (location: (1,31)-(1,33))
│ │ │ └── flags: decimal
- │ │ ├── keyword_loc: (34...40) = "rescue"
+ │ │ ├── keyword_loc: (1,34)-(1,40) = "rescue"
│ │ └── rescue_expression:
- │ │ @ IntegerNode (location: (41...43))
+ │ │ @ IntegerNode (location: (1,41)-(1,43))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "other_method"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (16...17) = "="
+ ├── equal_loc: (1,16)-(1,17) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_forward_args.txt b/test/yarp/snapshots/seattlerb/defn_forward_args.txt
index 6aee58d731..5eb2cf1d18 100644
--- a/test/yarp/snapshots/seattlerb/defn_forward_args.txt
+++ b/test/yarp/snapshots/seattlerb/defn_forward_args.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(1,23))
├── name: :a
- ├── name_loc: (4...5) = "a"
+ ├── name_loc: (1,4)-(1,5) = "a"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...9))
+ │ @ ParametersNode (location: (1,6)-(1,9))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (6...9))
+ │ │ @ ForwardingParameterNode (location: (1,6)-(1,9))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (12...18))
+ │ @ StatementsNode (location: (1,12)-(1,18))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (12...18))
+ │ └── @ CallNode (location: (1,12)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...13) = "b"
- │ ├── opening_loc: (13...14) = "("
+ │ ├── message_loc: (1,12)-(1,13) = "b"
+ │ ├── opening_loc: (1,13)-(1,14) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (14...17))
+ │ │ @ ArgumentsNode (location: (1,14)-(1,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (14...17))
- │ ├── closing_loc: (17...18) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17))
+ │ ├── closing_loc: (1,17)-(1,18) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
├── locals: [:"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (9...10) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,9)-(1,10) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (1,20)-(1,23) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_forward_args__no_parens.txt b/test/yarp/snapshots/seattlerb/defn_forward_args__no_parens.txt
index a2c039fcc4..168fdbbb42 100644
--- a/test/yarp/snapshots/seattlerb/defn_forward_args__no_parens.txt
+++ b/test/yarp/snapshots/seattlerb/defn_forward_args__no_parens.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...22))
+ └── @ DefNode (location: (1,0)-(3,3))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...9))
+ │ @ ParametersNode (location: (1,6)-(1,9))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (6...9))
+ │ │ @ ForwardingParameterNode (location: (1,6)-(1,9))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (12...18))
+ │ @ StatementsNode (location: (2,2)-(2,8))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (12...18))
+ │ └── @ CallNode (location: (2,2)-(2,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...13) = "m"
- │ ├── opening_loc: (13...14) = "("
+ │ ├── message_loc: (2,2)-(2,3) = "m"
+ │ ├── opening_loc: (2,3)-(2,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (14...17))
+ │ │ @ ArgumentsNode (location: (2,4)-(2,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (14...17))
- │ ├── closing_loc: (17...18) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7))
+ │ ├── closing_loc: (2,7)-(2,8) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
├── locals: [:"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (19...22) = "end"
+ └── end_keyword_loc: (3,0)-(3,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_env.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_env.txt
index 815af0a870..57b835d9d4 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_env.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_env.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...45))
+@ ProgramNode (location: (1,0)-(1,45))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...45))
+ @ StatementsNode (location: (1,0)-(1,45))
└── body: (length: 1)
- └── @ DefNode (location: (0...45))
+ └── @ DefNode (location: (1,0)-(1,45))
├── name: :test
- ├── name_loc: (4...8) = "test"
+ ├── name_loc: (1,4)-(1,8) = "test"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (9...18))
+ │ @ ParametersNode (location: (1,9)-(1,18))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (9...18))
+ │ │ @ KeywordRestParameterNode (location: (1,9)-(1,18))
│ │ ├── name: :testing
- │ │ ├── name_loc: (11...18) = "testing"
- │ │ └── operator_loc: (9...11) = "**"
+ │ │ ├── name_loc: (1,11)-(1,18) = "testing"
+ │ │ └── operator_loc: (1,9)-(1,11) = "**"
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (20...41))
+ │ @ StatementsNode (location: (1,20)-(1,41))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (20...41))
+ │ └── @ CallNode (location: (1,20)-(1,41))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...30) = "test_splat"
- │ ├── opening_loc: (30...31) = "("
+ │ ├── message_loc: (1,20)-(1,30) = "test_splat"
+ │ ├── opening_loc: (1,30)-(1,31) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (31...40))
+ │ │ @ ArgumentsNode (location: (1,31)-(1,40))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (31...40))
+ │ │ └── @ KeywordHashNode (location: (1,31)-(1,40))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (31...40))
+ │ │ └── @ AssocSplatNode (location: (1,31)-(1,40))
│ │ ├── value:
- │ │ │ @ LocalVariableReadNode (location: (33...40))
+ │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40))
│ │ │ ├── name: :testing
│ │ │ └── depth: 0
- │ │ └── operator_loc: (31...33) = "**"
- │ ├── closing_loc: (40...41) = ")"
+ │ │ └── operator_loc: (1,31)-(1,33) = "**"
+ │ ├── closing_loc: (1,40)-(1,41) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "test_splat"
├── locals: [:testing]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (8...9) = "("
- ├── rparen_loc: (18...19) = ")"
+ ├── lparen_loc: (1,8)-(1,9) = "("
+ ├── rparen_loc: (1,18)-(1,19) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (42...45) = "end"
+ └── end_keyword_loc: (1,42)-(1,45) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt
index d36409bb84..2d57ad3189 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ DefNode (location: (0...24))
+ └── @ DefNode (location: (1,0)-(1,24))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...19))
+ │ @ ParametersNode (location: (1,6)-(1,19))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 2)
- │ │ ├── @ KeywordParameterNode (location: (9...13))
+ │ │ ├── @ KeywordParameterNode (location: (1,9)-(1,13))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (9...11) = "b:"
+ │ │ │ ├── name_loc: (1,9)-(1,11) = "b:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordParameterNode (location: (15...19))
+ │ │ └── @ KeywordParameterNode (location: (1,15)-(1,19))
│ │ ├── name: :c
- │ │ ├── name_loc: (15...17) = "c:"
+ │ │ ├── name_loc: (1,15)-(1,17) = "c:"
│ │ └── value:
- │ │ @ IntegerNode (location: (18...19))
+ │ │ @ IntegerNode (location: (1,18)-(1,19))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b, :c]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (19...20) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,19)-(1,20) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (21...24) = "end"
+ └── end_keyword_loc: (1,21)-(1,24) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat.txt
index 87a1038a14..0d005c2057 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ DefNode (location: (0...20))
+ └── @ DefNode (location: (1,0)-(1,20))
├── name: :a
- ├── name_loc: (4...5) = "a"
+ ├── name_loc: (1,4)-(1,5) = "a"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...15))
+ │ @ ParametersNode (location: (1,6)-(1,15))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :b
- │ │ ├── name_loc: (6...8) = "b:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "b:"
│ │ └── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (12...15))
+ │ │ @ KeywordRestParameterNode (location: (1,12)-(1,15))
│ │ ├── name: :c
- │ │ ├── name_loc: (14...15) = "c"
- │ │ └── operator_loc: (12...14) = "**"
+ │ │ ├── name_loc: (1,14)-(1,15) = "c"
+ │ │ └── operator_loc: (1,12)-(1,14) = "**"
│ └── block: ∅
├── body: ∅
├── locals: [:b, :c]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (15...16) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,15)-(1,16) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (17...20) = "end"
+ └── end_keyword_loc: (1,17)-(1,20) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt
index e0580a0cff..60c8e7bcb8 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ DefNode (location: (0...19))
+ └── @ DefNode (location: (1,0)-(1,19))
├── name: :a
- ├── name_loc: (4...5) = "a"
+ ├── name_loc: (1,4)-(1,5) = "a"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...14))
+ │ @ ParametersNode (location: (1,6)-(1,14))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :b
- │ │ ├── name_loc: (6...8) = "b:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "b:"
│ │ └── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (12...14))
+ │ │ @ KeywordRestParameterNode (location: (1,12)-(1,14))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (12...14) = "**"
+ │ │ └── operator_loc: (1,12)-(1,14) = "**"
│ └── block: ∅
├── body: ∅
├── locals: [:b, :**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (14...15) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,14)-(1,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (16...19) = "end"
+ └── end_keyword_loc: (1,16)-(1,19) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt
index aed257bc0f..6b46d9e2d4 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ DefNode (location: (0...26))
+ └── @ DefNode (location: (1,0)-(1,26))
├── name: :fun
- ├── name_loc: (4...7) = "fun"
+ ├── name_loc: (1,4)-(1,7) = "fun"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...16))
+ │ @ ParametersNode (location: (1,8)-(1,16))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (8...16))
+ │ │ └── @ KeywordParameterNode (location: (1,8)-(1,16))
│ │ ├── name: :kw
- │ │ ├── name_loc: (8...11) = "kw:"
+ │ │ ├── name_loc: (1,8)-(1,11) = "kw:"
│ │ └── value:
- │ │ @ SymbolNode (location: (12...16))
- │ │ ├── opening_loc: (12...13) = ":"
- │ │ ├── value_loc: (13...16) = "val"
+ │ │ @ SymbolNode (location: (1,12)-(1,16))
+ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
+ │ │ ├── value_loc: (1,13)-(1,16) = "val"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "val"
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (19...21))
+ │ @ StatementsNode (location: (1,19)-(1,21))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (19...21))
+ │ └── @ LocalVariableReadNode (location: (1,19)-(1,21))
│ ├── name: :kw
│ └── depth: 0
├── locals: [:kw]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (16...17) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,16)-(1,17) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (23...26) = "end"
+ └── end_keyword_loc: (1,23)-(1,26) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_no_parens.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_no_parens.txt
index d5f2a3dfa4..ba0bd44324 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_no_parens.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_no_parens.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...14))
+ └── @ DefNode (location: (1,0)-(2,3))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...10))
+ │ @ ParametersNode (location: (1,6)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :a
- │ │ ├── name_loc: (6...8) = "a:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "a:"
│ │ └── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (11...14) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_kwarg_val.txt b/test/yarp/snapshots/seattlerb/defn_kwarg_val.txt
index 9653ba489a..5933c969db 100644
--- a/test/yarp/snapshots/seattlerb/defn_kwarg_val.txt
+++ b/test/yarp/snapshots/seattlerb/defn_kwarg_val.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (9...12))
+ │ │ └── @ KeywordParameterNode (location: (1,9)-(1,12))
│ │ ├── name: :b
- │ │ ├── name_loc: (9...11) = "b:"
+ │ │ ├── name_loc: (1,9)-(1,11) = "b:"
│ │ └── value:
- │ │ @ IntegerNode (location: (11...12))
+ │ │ @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (12...13) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_no_kwargs.txt b/test/yarp/snapshots/seattlerb/defn_no_kwargs.txt
index 474049ab58..0ef0634a53 100644
--- a/test/yarp/snapshots/seattlerb/defn_no_kwargs.txt
+++ b/test/yarp/snapshots/seattlerb/defn_no_kwargs.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...11))
+ │ @ ParametersNode (location: (1,6)-(1,11))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ NoKeywordsParameterNode (location: (6...11))
- │ │ ├── operator_loc: (6...8) = "**"
- │ │ └── keyword_loc: (8...11) = "nil"
+ │ │ @ NoKeywordsParameterNode (location: (1,6)-(1,11))
+ │ │ ├── operator_loc: (1,6)-(1,8) = "**"
+ │ │ └── keyword_loc: (1,8)-(1,11) = "nil"
│ └── block: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (11...12) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,11)-(1,12) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner.txt b/test/yarp/snapshots/seattlerb/defn_oneliner.txt
index e5421b8daf..55227da074 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(1,27))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
- └── @ DefNode (location: (0...27))
+ └── @ DefNode (location: (1,0)-(1,27))
├── name: :exec
- ├── name_loc: (4...8) = "exec"
+ ├── name_loc: (1,4)-(1,8) = "exec"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (9...12))
+ │ @ ParametersNode (location: (1,9)-(1,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (9...12))
+ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,12))
│ │ └── name: :cmd
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -19,27 +19,27 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (16...27))
+ │ @ StatementsNode (location: (1,16)-(1,27))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (16...27))
+ │ └── @ CallNode (location: (1,16)-(1,27))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...22) = "system"
- │ ├── opening_loc: (22...23) = "("
+ │ ├── message_loc: (1,16)-(1,22) = "system"
+ │ ├── opening_loc: (1,22)-(1,23) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (23...26))
+ │ │ @ ArgumentsNode (location: (1,23)-(1,26))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (23...26))
+ │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26))
│ │ ├── name: :cmd
│ │ └── depth: 0
- │ ├── closing_loc: (26...27) = ")"
+ │ ├── closing_loc: (1,26)-(1,27) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "system"
├── locals: [:cmd]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (8...9) = "("
- ├── rparen_loc: (12...13) = ")"
- ├── equal_loc: (14...15) = "="
+ ├── lparen_loc: (1,8)-(1,9) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
+ ├── equal_loc: (1,14)-(1,15) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt b/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
index 7bfa1bd66c..359332adba 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner_eq2.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ ClassNode (location: (0...28))
+ └── @ ClassNode (location: (1,0)-(3,3))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (6...7))
+ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ └── name: :X
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body:
- │ @ StatementsNode (location: (10...24))
+ │ @ StatementsNode (location: (2,2)-(2,16))
│ └── body: (length: 1)
- │ └── @ DefNode (location: (10...24))
+ │ └── @ DefNode (location: (2,2)-(2,16))
│ ├── name: :==
- │ ├── name_loc: (14...16) = "=="
+ │ ├── name_loc: (2,6)-(2,8) = "=="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (17...18))
+ │ │ @ ParametersNode (location: (2,9)-(2,10))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (17...18))
+ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,10))
│ │ │ └── name: :o
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -30,16 +30,16 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (22...24))
+ │ │ @ StatementsNode (location: (2,14)-(2,16))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (22...24))
+ │ │ └── @ IntegerNode (location: (2,14)-(2,16))
│ │ └── flags: decimal
│ ├── locals: [:o]
- │ ├── def_keyword_loc: (10...13) = "def"
+ │ ├── def_keyword_loc: (2,2)-(2,5) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (16...17) = "("
- │ ├── rparen_loc: (18...19) = ")"
- │ ├── equal_loc: (20...21) = "="
+ │ ├── lparen_loc: (2,8)-(2,9) = "("
+ │ ├── rparen_loc: (2,10)-(2,11) = ")"
+ │ ├── equal_loc: (2,12)-(2,13) = "="
│ └── end_keyword_loc: ∅
- ├── end_keyword_loc: (25...28) = "end"
+ ├── end_keyword_loc: (3,0)-(3,3) = "end"
└── name: :X
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner_noargs.txt b/test/yarp/snapshots/seattlerb/defn_oneliner_noargs.txt
index 64572b8386..1159287905 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner_noargs.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner_noargs.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :exec
- ├── name_loc: (4...8) = "exec"
+ ├── name_loc: (1,4)-(1,8) = "exec"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (11...17))
+ │ @ StatementsNode (location: (1,11)-(1,17))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (11...17))
+ │ └── @ CallNode (location: (1,11)-(1,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...17) = "system"
+ │ ├── message_loc: (1,11)-(1,17) = "system"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -22,9 +22,9 @@
│ ├── flags: variable_call
│ └── name: "system"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (9...10) = "="
+ ├── equal_loc: (1,9)-(1,10) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt b/test/yarp/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
index 3be79555bf..6634a2c375 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ DefNode (location: (0...19))
+ └── @ DefNode (location: (1,0)-(1,19))
├── name: :exec
- ├── name_loc: (4...8) = "exec"
+ ├── name_loc: (1,4)-(1,8) = "exec"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (13...19))
+ │ @ StatementsNode (location: (1,13)-(1,19))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (13...19))
+ │ └── @ CallNode (location: (1,13)-(1,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...19) = "system"
+ │ ├── message_loc: (1,13)-(1,19) = "system"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -22,9 +22,9 @@
│ ├── flags: variable_call
│ └── name: "system"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (8...9) = "("
- ├── rparen_loc: (9...10) = ")"
- ├── equal_loc: (11...12) = "="
+ ├── lparen_loc: (1,8)-(1,9) = "("
+ ├── rparen_loc: (1,9)-(1,10) = ")"
+ ├── equal_loc: (1,11)-(1,12) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_oneliner_rescue.txt b/test/yarp/snapshots/seattlerb/defn_oneliner_rescue.txt
index fd14668026..5fe7779944 100644
--- a/test/yarp/snapshots/seattlerb/defn_oneliner_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/defn_oneliner_rescue.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...130))
+@ ProgramNode (location: (1,0)-(13,38))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...130))
+ @ StatementsNode (location: (1,0)-(13,38))
└── body: (length: 3)
- ├── @ DefNode (location: (0...44))
+ ├── @ DefNode (location: (1,0)-(5,3))
│ ├── name: :exec
- │ ├── name_loc: (4...8) = "exec"
+ │ ├── name_loc: (1,4)-(1,8) = "exec"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (9...12))
+ │ │ @ ParametersNode (location: (1,9)-(1,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (9...12))
+ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,12))
│ │ │ └── name: :cmd
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -19,55 +19,55 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ BeginNode (location: (16...44))
+ │ │ @ BeginNode (location: (2,2)-(5,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (16...27))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (16...27))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (16...22) = "system"
- │ │ │ ├── opening_loc: (22...23) = "("
+ │ │ │ ├── message_loc: (2,2)-(2,8) = "system"
+ │ │ │ ├── opening_loc: (2,8)-(2,9) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (23...26))
+ │ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (23...26))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
│ │ │ │ ├── name: :cmd
│ │ │ │ └── depth: 0
- │ │ │ ├── closing_loc: (26...27) = ")"
+ │ │ │ ├── closing_loc: (2,12)-(2,13) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "system"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (28...40))
- │ │ │ ├── keyword_loc: (28...34) = "rescue"
+ │ │ │ @ RescueNode (location: (3,0)-(4,5))
+ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (37...40))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ NilNode (location: (37...40))
+ │ │ │ │ └── @ NilNode (location: (4,2)-(4,5))
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (41...44) = "end"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
│ ├── locals: [:cmd]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (8...9) = "("
- │ ├── rparen_loc: (12...13) = ")"
+ │ ├── lparen_loc: (1,8)-(1,9) = "("
+ │ ├── rparen_loc: (1,12)-(1,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (41...44) = "end"
- ├── @ DefNode (location: (47...89))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ DefNode (location: (8,0)-(10,3))
│ ├── name: :exec
- │ ├── name_loc: (51...55) = "exec"
+ │ ├── name_loc: (8,4)-(8,8) = "exec"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (56...59))
+ │ │ @ ParametersNode (location: (8,9)-(8,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (56...59))
+ │ │ │ └── @ RequiredParameterNode (location: (8,9)-(8,12))
│ │ │ └── name: :cmd
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -76,43 +76,43 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (63...85))
+ │ │ @ StatementsNode (location: (9,2)-(9,24))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (63...85))
+ │ │ └── @ RescueModifierNode (location: (9,2)-(9,24))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (63...74))
+ │ │ │ @ CallNode (location: (9,2)-(9,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (63...69) = "system"
- │ │ │ ├── opening_loc: (69...70) = "("
+ │ │ │ ├── message_loc: (9,2)-(9,8) = "system"
+ │ │ │ ├── opening_loc: (9,8)-(9,9) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (70...73))
+ │ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (70...73))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
│ │ │ │ ├── name: :cmd
│ │ │ │ └── depth: 0
- │ │ │ ├── closing_loc: (73...74) = ")"
+ │ │ │ ├── closing_loc: (9,12)-(9,13) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "system"
- │ │ ├── keyword_loc: (75...81) = "rescue"
+ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (82...85))
+ │ │ @ NilNode (location: (9,21)-(9,24))
│ ├── locals: [:cmd]
- │ ├── def_keyword_loc: (47...50) = "def"
+ │ ├── def_keyword_loc: (8,0)-(8,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (55...56) = "("
- │ ├── rparen_loc: (59...60) = ")"
+ │ ├── lparen_loc: (8,8)-(8,9) = "("
+ │ ├── rparen_loc: (8,12)-(8,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (86...89) = "end"
- └── @ DefNode (location: (92...130))
+ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
+ └── @ DefNode (location: (13,0)-(13,38))
├── name: :exec
- ├── name_loc: (96...100) = "exec"
+ ├── name_loc: (13,4)-(13,8) = "exec"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (101...104))
+ │ @ ParametersNode (location: (13,9)-(13,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (101...104))
+ │ │ └── @ RequiredParameterNode (location: (13,9)-(13,12))
│ │ └── name: :cmd
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -121,32 +121,32 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (108...130))
+ │ @ StatementsNode (location: (13,16)-(13,38))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (108...130))
+ │ └── @ RescueModifierNode (location: (13,16)-(13,38))
│ ├── expression:
- │ │ @ CallNode (location: (108...119))
+ │ │ @ CallNode (location: (13,16)-(13,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (108...114) = "system"
- │ │ ├── opening_loc: (114...115) = "("
+ │ │ ├── message_loc: (13,16)-(13,22) = "system"
+ │ │ ├── opening_loc: (13,22)-(13,23) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (115...118))
+ │ │ │ @ ArgumentsNode (location: (13,23)-(13,26))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (115...118))
+ │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26))
│ │ │ ├── name: :cmd
│ │ │ └── depth: 0
- │ │ ├── closing_loc: (118...119) = ")"
+ │ │ ├── closing_loc: (13,26)-(13,27) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "system"
- │ ├── keyword_loc: (120...126) = "rescue"
+ │ ├── keyword_loc: (13,28)-(13,34) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (127...130))
+ │ @ NilNode (location: (13,35)-(13,38))
├── locals: [:cmd]
- ├── def_keyword_loc: (92...95) = "def"
+ ├── def_keyword_loc: (13,0)-(13,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (100...101) = "("
- ├── rparen_loc: (104...105) = ")"
- ├── equal_loc: (106...107) = "="
+ ├── lparen_loc: (13,8)-(13,9) = "("
+ ├── rparen_loc: (13,12)-(13,13) = ")"
+ ├── equal_loc: (13,14)-(13,15) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defn_opt_last_arg.txt b/test/yarp/snapshots/seattlerb/defn_opt_last_arg.txt
index 1030cf23dc..e82a9c8091 100644
--- a/test/yarp/snapshots/seattlerb/defn_opt_last_arg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_opt_last_arg.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...21))
+ └── @ DefNode (location: (1,0)-(2,3))
├── name: :m
- ├── name_loc: (4...5) = "m"
+ ├── name_loc: (1,4)-(1,5) = "m"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...17))
+ │ @ ParametersNode (location: (1,6)-(1,17))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 1)
- │ │ └── @ OptionalParameterNode (location: (6...17))
+ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,17))
│ │ ├── name: :arg
- │ │ ├── name_loc: (6...9) = "arg"
- │ │ ├── operator_loc: (10...11) = "="
+ │ │ ├── name_loc: (1,6)-(1,9) = "arg"
+ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ └── value:
- │ │ @ FalseNode (location: (12...17))
+ │ │ @ FalseNode (location: (1,12)-(1,17))
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
@@ -24,9 +24,9 @@
│ └── block: ∅
├── body: ∅
├── locals: [:arg]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (18...21) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_opt_reg.txt b/test/yarp/snapshots/seattlerb/defn_opt_reg.txt
index a72e14ea27..437eaa7472 100644
--- a/test/yarp/snapshots/seattlerb/defn_opt_reg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_opt_reg.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ DefNode (location: (0...19))
+ └── @ DefNode (location: (1,0)-(1,19))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...14))
+ │ @ ParametersNode (location: (1,6)-(1,14))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 1)
- │ │ └── @ OptionalParameterNode (location: (6...11))
+ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,11))
│ │ ├── name: :a
- │ │ ├── name_loc: (6...7) = "a"
- │ │ ├── operator_loc: (7...8) = "="
+ │ │ ├── name_loc: (1,6)-(1,7) = "a"
+ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ └── value:
- │ │ @ NilNode (location: (8...11))
+ │ │ @ NilNode (location: (1,8)-(1,11))
│ ├── rest: ∅
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ └── name: :b
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (14...15) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,14)-(1,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (16...19) = "end"
+ └── end_keyword_loc: (1,16)-(1,19) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_opt_splat_arg.txt b/test/yarp/snapshots/seattlerb/defn_opt_splat_arg.txt
index d4bb8a49d6..4ad2a5303e 100644
--- a/test/yarp/snapshots/seattlerb/defn_opt_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_opt_splat_arg.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ DefNode (location: (0...24))
+ └── @ DefNode (location: (1,0)-(1,24))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (7...19))
+ │ @ ParametersNode (location: (1,7)-(1,19))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 1)
- │ │ └── @ OptionalParameterNode (location: (7...12))
+ │ │ └── @ OptionalParameterNode (location: (1,7)-(1,12))
│ │ ├── name: :a
- │ │ ├── name_loc: (7...8) = "a"
- │ │ ├── operator_loc: (9...10) = "="
+ │ │ ├── name_loc: (1,7)-(1,8) = "a"
+ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ └── value:
- │ │ @ IntegerNode (location: (11...12))
+ │ │ @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ ├── rest:
- │ │ @ RestParameterNode (location: (14...16))
+ │ │ @ RestParameterNode (location: (1,14)-(1,16))
│ │ ├── name: :b
- │ │ ├── name_loc: (15...16) = "b"
- │ │ └── operator_loc: (14...15) = "*"
+ │ │ ├── name_loc: (1,15)-(1,16) = "b"
+ │ │ └── operator_loc: (1,14)-(1,15) = "*"
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (18...19))
+ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,19))
│ │ └── name: :c
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b, :c]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (6...7) = "("
- ├── rparen_loc: (19...20) = ")"
+ ├── lparen_loc: (1,6)-(1,7) = "("
+ ├── rparen_loc: (1,19)-(1,20) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (21...24) = "end"
+ └── end_keyword_loc: (1,21)-(1,24) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_powarg.txt b/test/yarp/snapshots/seattlerb/defn_powarg.txt
index 8310cc5e4d..a903d1f741 100644
--- a/test/yarp/snapshots/seattlerb/defn_powarg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_powarg.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (6...12))
+ │ │ @ KeywordRestParameterNode (location: (1,6)-(1,12))
│ │ ├── name: :opts
- │ │ ├── name_loc: (8...12) = "opts"
- │ │ └── operator_loc: (6...8) = "**"
+ │ │ ├── name_loc: (1,8)-(1,12) = "opts"
+ │ │ └── operator_loc: (1,6)-(1,8) = "**"
│ └── block: ∅
├── body: ∅
├── locals: [:opts]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (12...13) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt b/test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt
index 9fe3deb066..0b6614abbc 100644
--- a/test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(1,23))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...18))
+ │ @ ParametersNode (location: (1,6)-(1,18))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :a
│ ├── optionals: (length: 1)
- │ │ └── @ OptionalParameterNode (location: (9...15))
+ │ │ └── @ OptionalParameterNode (location: (1,9)-(1,15))
│ │ ├── name: :b
- │ │ ├── name_loc: (9...10) = "b"
- │ │ ├── operator_loc: (11...12) = "="
+ │ │ ├── name_loc: (1,9)-(1,10) = "b"
+ │ │ ├── operator_loc: (1,11)-(1,12) = "="
│ │ └── value:
- │ │ @ SymbolNode (location: (13...15))
- │ │ ├── opening_loc: (13...14) = ":"
- │ │ ├── value_loc: (14...15) = "c"
+ │ │ @ SymbolNode (location: (1,13)-(1,15))
+ │ │ ├── opening_loc: (1,13)-(1,14) = ":"
+ │ │ ├── value_loc: (1,14)-(1,15) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
│ ├── rest: ∅
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (17...18))
+ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ └── name: :d
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b, :d]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (18...19) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,18)-(1,19) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (1,20)-(1,23) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_splat_arg.txt b/test/yarp/snapshots/seattlerb/defn_splat_arg.txt
index 90bb0c2b26..69b1c0749a 100644
--- a/test/yarp/snapshots/seattlerb/defn_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/defn_splat_arg.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ DefNode (location: (0...15))
+ └── @ DefNode (location: (1,0)-(1,15))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...10))
+ │ @ ParametersNode (location: (1,6)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (6...7))
+ │ │ @ RestParameterNode (location: (1,6)-(1,7))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (6...7) = "*"
+ │ │ └── operator_loc: (1,6)-(1,7) = "*"
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ └── name: :a
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:*, :a]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (10...11) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,10)-(1,11) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (12...15) = "end"
+ └── end_keyword_loc: (1,12)-(1,15) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defn_unary_not.txt b/test/yarp/snapshots/seattlerb/defn_unary_not.txt
index cda6aa71c3..61afb79ad1 100644
--- a/test/yarp/snapshots/seattlerb/defn_unary_not.txt
+++ b/test/yarp/snapshots/seattlerb/defn_unary_not.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :"!@"
- ├── name_loc: (4...6) = "!@"
+ ├── name_loc: (1,4)-(1,6) = "!@"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (8...12))
+ │ @ StatementsNode (location: (1,8)-(1,12))
│ └── body: (length: 1)
- │ └── @ TrueNode (location: (8...12))
+ │ └── @ TrueNode (location: (1,8)-(1,12))
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defns_reserved.txt b/test/yarp/snapshots/seattlerb/defns_reserved.txt
index a8c0e13843..96860b49ce 100644
--- a/test/yarp/snapshots/seattlerb/defns_reserved.txt
+++ b/test/yarp/snapshots/seattlerb/defns_reserved.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ DefNode (location: (0...20))
+ └── @ DefNode (location: (1,0)-(1,20))
├── name: :return
- ├── name_loc: (9...15) = "return"
+ ├── name_loc: (1,9)-(1,15) = "return"
├── receiver:
- │ @ SelfNode (location: (4...8))
+ │ @ SelfNode (location: (1,4)-(1,8))
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
- ├── operator_loc: (8...9) = "."
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ ├── operator_loc: (1,8)-(1,9) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (17...20) = "end"
+ └── end_keyword_loc: (1,17)-(1,20) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt b/test/yarp/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
index 98ac1f393e..8b2002ac39 100644
--- a/test/yarp/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
+++ b/test/yarp/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt
@@ -1,58 +1,58 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(1,30))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(1,30))
└── body: (length: 1)
- └── @ CallNode (location: (0...30))
+ └── @ CallNode (location: (1,0)-(1,30))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...30))
+ │ @ ArgumentsNode (location: (1,2)-(1,30))
│ └── arguments: (length: 1)
- │ └── @ DefNode (location: (2...30))
+ │ └── @ DefNode (location: (1,2)-(1,30))
│ ├── name: :b
- │ ├── name_loc: (11...12) = "b"
+ │ ├── name_loc: (1,11)-(1,12) = "b"
│ ├── receiver:
- │ │ @ SelfNode (location: (6...10))
+ │ │ @ SelfNode (location: (1,6)-(1,10))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (14...25))
+ │ │ @ StatementsNode (location: (1,14)-(1,25))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (14...25))
+ │ │ └── @ CallNode (location: (1,14)-(1,25))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (14...15))
+ │ │ │ @ CallNode (location: (1,14)-(1,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (14...15) = "x"
+ │ │ │ ├── message_loc: (1,14)-(1,15) = "x"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "x"
- │ │ ├── call_operator_loc: (15...16) = "."
- │ │ ├── message_loc: (16...17) = "y"
+ │ │ ├── call_operator_loc: (1,15)-(1,16) = "."
+ │ │ ├── message_loc: (1,16)-(1,17) = "y"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (18...25))
+ │ │ │ @ BlockNode (location: (1,18)-(1,25))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (18...20) = "do"
- │ │ │ └── closing_loc: (22...25) = "end"
+ │ │ │ ├── opening_loc: (1,18)-(1,20) = "do"
+ │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
│ │ ├── flags: ∅
│ │ └── name: "y"
│ ├── locals: []
- │ ├── def_keyword_loc: (2...5) = "def"
- │ ├── operator_loc: (10...11) = "."
+ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
+ │ ├── operator_loc: (1,10)-(1,11) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (27...30) = "end"
+ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/defs_comments.txt b/test/yarp/snapshots/seattlerb/defs_comments.txt
index 6387b61ad7..a2976e7ee2 100644
--- a/test/yarp/snapshots/seattlerb/defs_comments.txt
+++ b/test/yarp/snapshots/seattlerb/defs_comments.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (19...36))
+@ ProgramNode (location: (4,0)-(5,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (19...36))
+ @ StatementsNode (location: (4,0)-(5,3))
└── body: (length: 1)
- └── @ DefNode (location: (19...36))
+ └── @ DefNode (location: (4,0)-(5,3))
├── name: :blah
- ├── name_loc: (28...32) = "blah"
+ ├── name_loc: (4,9)-(4,13) = "blah"
├── receiver:
- │ @ SelfNode (location: (23...27))
+ │ @ SelfNode (location: (4,4)-(4,8))
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (19...22) = "def"
- ├── operator_loc: (27...28) = "."
+ ├── def_keyword_loc: (4,0)-(4,3) = "def"
+ ├── operator_loc: (4,8)-(4,9) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (33...36) = "end"
+ └── end_keyword_loc: (5,0)-(5,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defs_endless_command.txt b/test/yarp/snapshots/seattlerb/defs_endless_command.txt
index dc30b3be1e..257b632a3d 100644
--- a/test/yarp/snapshots/seattlerb/defs_endless_command.txt
+++ b/test/yarp/snapshots/seattlerb/defs_endless_command.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(1,35))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(1,35))
└── body: (length: 1)
- └── @ DefNode (location: (0...35))
+ └── @ DefNode (location: (1,0)-(1,35))
├── name: :some_method
- ├── name_loc: (6...17) = "some_method"
+ ├── name_loc: (1,6)-(1,17) = "some_method"
├── receiver:
- │ @ CallNode (location: (4...5))
+ │ @ CallNode (location: (1,4)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "x"
+ │ ├── message_loc: (1,4)-(1,5) = "x"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,26 +19,26 @@
│ └── name: "x"
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (20...35))
+ │ @ StatementsNode (location: (1,20)-(1,35))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (20...35))
+ │ └── @ CallNode (location: (1,20)-(1,35))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...32) = "other_method"
+ │ ├── message_loc: (1,20)-(1,32) = "other_method"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (33...35))
+ │ │ @ ArgumentsNode (location: (1,33)-(1,35))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (33...35))
+ │ │ └── @ IntegerNode (location: (1,33)-(1,35))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "other_method"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
- ├── operator_loc: (5...6) = "."
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ ├── operator_loc: (1,5)-(1,6) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (18...19) = "="
+ ├── equal_loc: (1,18)-(1,19) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defs_endless_command_rescue.txt b/test/yarp/snapshots/seattlerb/defs_endless_command_rescue.txt
index 754a14505e..0b18829492 100644
--- a/test/yarp/snapshots/seattlerb/defs_endless_command_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/defs_endless_command_rescue.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...45))
+@ ProgramNode (location: (1,0)-(1,45))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...45))
+ @ StatementsNode (location: (1,0)-(1,45))
└── body: (length: 1)
- └── @ DefNode (location: (0...45))
+ └── @ DefNode (location: (1,0)-(1,45))
├── name: :some_method
- ├── name_loc: (6...17) = "some_method"
+ ├── name_loc: (1,6)-(1,17) = "some_method"
├── receiver:
- │ @ CallNode (location: (4...5))
+ │ @ CallNode (location: (1,4)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "x"
+ │ ├── message_loc: (1,4)-(1,5) = "x"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,32 +19,32 @@
│ └── name: "x"
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (20...45))
+ │ @ StatementsNode (location: (1,20)-(1,45))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (20...45))
+ │ └── @ CallNode (location: (1,20)-(1,45))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...32) = "other_method"
+ │ ├── message_loc: (1,20)-(1,32) = "other_method"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (33...45))
+ │ │ @ ArgumentsNode (location: (1,33)-(1,45))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (33...45))
+ │ │ └── @ RescueModifierNode (location: (1,33)-(1,45))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (33...35))
+ │ │ │ @ IntegerNode (location: (1,33)-(1,35))
│ │ │ └── flags: decimal
- │ │ ├── keyword_loc: (36...42) = "rescue"
+ │ │ ├── keyword_loc: (1,36)-(1,42) = "rescue"
│ │ └── rescue_expression:
- │ │ @ IntegerNode (location: (43...45))
+ │ │ @ IntegerNode (location: (1,43)-(1,45))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "other_method"
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
- ├── operator_loc: (5...6) = "."
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ ├── operator_loc: (1,5)-(1,6) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (18...19) = "="
+ ├── equal_loc: (1,18)-(1,19) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defs_kwarg.txt b/test/yarp/snapshots/seattlerb/defs_kwarg.txt
index 6ad0bdd730..8343c1f178 100644
--- a/test/yarp/snapshots/seattlerb/defs_kwarg.txt
+++ b/test/yarp/snapshots/seattlerb/defs_kwarg.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...19))
+ └── @ DefNode (location: (1,0)-(2,3))
├── name: :a
- ├── name_loc: (9...10) = "a"
+ ├── name_loc: (1,9)-(1,10) = "a"
├── receiver:
- │ @ SelfNode (location: (4...8))
+ │ @ SelfNode (location: (1,4)-(1,8))
├── parameters:
- │ @ ParametersNode (location: (11...15))
+ │ @ ParametersNode (location: (1,11)-(1,15))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (11...15))
+ │ │ └── @ KeywordParameterNode (location: (1,11)-(1,15))
│ │ ├── name: :b
- │ │ ├── name_loc: (11...13) = "b:"
+ │ │ ├── name_loc: (1,11)-(1,13) = "b:"
│ │ └── value:
- │ │ @ IntegerNode (location: (14...15))
+ │ │ @ IntegerNode (location: (1,14)-(1,15))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:b]
- ├── def_keyword_loc: (0...3) = "def"
- ├── operator_loc: (8...9) = "."
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ ├── operator_loc: (1,8)-(1,9) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (16...19) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/defs_oneliner.txt b/test/yarp/snapshots/seattlerb/defs_oneliner.txt
index ba27c23443..629de9b138 100644
--- a/test/yarp/snapshots/seattlerb/defs_oneliner.txt
+++ b/test/yarp/snapshots/seattlerb/defs_oneliner.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(1,32))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(1,32))
└── body: (length: 1)
- └── @ DefNode (location: (0...32))
+ └── @ DefNode (location: (1,0)-(1,32))
├── name: :exec
- ├── name_loc: (9...13) = "exec"
+ ├── name_loc: (1,9)-(1,13) = "exec"
├── receiver:
- │ @ SelfNode (location: (4...8))
+ │ @ SelfNode (location: (1,4)-(1,8))
├── parameters:
- │ @ ParametersNode (location: (14...17))
+ │ @ ParametersNode (location: (1,14)-(1,17))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (14...17))
+ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17))
│ │ └── name: :cmd
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -20,27 +20,27 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (21...32))
+ │ @ StatementsNode (location: (1,21)-(1,32))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (21...32))
+ │ └── @ CallNode (location: (1,21)-(1,32))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...27) = "system"
- │ ├── opening_loc: (27...28) = "("
+ │ ├── message_loc: (1,21)-(1,27) = "system"
+ │ ├── opening_loc: (1,27)-(1,28) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (28...31))
+ │ │ @ ArgumentsNode (location: (1,28)-(1,31))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (28...31))
+ │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31))
│ │ ├── name: :cmd
│ │ └── depth: 0
- │ ├── closing_loc: (31...32) = ")"
+ │ ├── closing_loc: (1,31)-(1,32) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "system"
├── locals: [:cmd]
- ├── def_keyword_loc: (0...3) = "def"
- ├── operator_loc: (8...9) = "."
- ├── lparen_loc: (13...14) = "("
- ├── rparen_loc: (17...18) = ")"
- ├── equal_loc: (19...20) = "="
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ ├── operator_loc: (1,8)-(1,9) = "."
+ ├── lparen_loc: (1,13)-(1,14) = "("
+ ├── rparen_loc: (1,17)-(1,18) = ")"
+ ├── equal_loc: (1,19)-(1,20) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt b/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
index abbe054d2d..45ae30ecea 100644
--- a/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
+++ b/test/yarp/snapshots/seattlerb/defs_oneliner_eq2.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ ClassNode (location: (0...33))
+ └── @ ClassNode (location: (1,0)-(3,3))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (6...7))
+ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ └── name: :X
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body:
- │ @ StatementsNode (location: (10...29))
+ │ @ StatementsNode (location: (2,2)-(2,21))
│ └── body: (length: 1)
- │ └── @ DefNode (location: (10...29))
+ │ └── @ DefNode (location: (2,2)-(2,21))
│ ├── name: :==
- │ ├── name_loc: (19...21) = "=="
+ │ ├── name_loc: (2,11)-(2,13) = "=="
│ ├── receiver:
- │ │ @ SelfNode (location: (14...18))
+ │ │ @ SelfNode (location: (2,6)-(2,10))
│ ├── parameters:
- │ │ @ ParametersNode (location: (22...23))
+ │ │ @ ParametersNode (location: (2,14)-(2,15))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (22...23))
+ │ │ │ └── @ RequiredParameterNode (location: (2,14)-(2,15))
│ │ │ └── name: :o
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -31,16 +31,16 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (27...29))
+ │ │ @ StatementsNode (location: (2,19)-(2,21))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (27...29))
+ │ │ └── @ IntegerNode (location: (2,19)-(2,21))
│ │ └── flags: decimal
│ ├── locals: [:o]
- │ ├── def_keyword_loc: (10...13) = "def"
- │ ├── operator_loc: (18...19) = "."
- │ ├── lparen_loc: (21...22) = "("
- │ ├── rparen_loc: (23...24) = ")"
- │ ├── equal_loc: (25...26) = "="
+ │ ├── def_keyword_loc: (2,2)-(2,5) = "def"
+ │ ├── operator_loc: (2,10)-(2,11) = "."
+ │ ├── lparen_loc: (2,13)-(2,14) = "("
+ │ ├── rparen_loc: (2,15)-(2,16) = ")"
+ │ ├── equal_loc: (2,17)-(2,18) = "="
│ └── end_keyword_loc: ∅
- ├── end_keyword_loc: (30...33) = "end"
+ ├── end_keyword_loc: (3,0)-(3,3) = "end"
└── name: :X
diff --git a/test/yarp/snapshots/seattlerb/defs_oneliner_rescue.txt b/test/yarp/snapshots/seattlerb/defs_oneliner_rescue.txt
index dee7082424..9e1bea2d2c 100644
--- a/test/yarp/snapshots/seattlerb/defs_oneliner_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/defs_oneliner_rescue.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...145))
+@ ProgramNode (location: (1,0)-(13,43))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...145))
+ @ StatementsNode (location: (1,0)-(13,43))
└── body: (length: 3)
- ├── @ DefNode (location: (0...49))
+ ├── @ DefNode (location: (1,0)-(5,3))
│ ├── name: :exec
- │ ├── name_loc: (9...13) = "exec"
+ │ ├── name_loc: (1,9)-(1,13) = "exec"
│ ├── receiver:
- │ │ @ SelfNode (location: (4...8))
+ │ │ @ SelfNode (location: (1,4)-(1,8))
│ ├── parameters:
- │ │ @ ParametersNode (location: (14...17))
+ │ │ @ ParametersNode (location: (1,14)-(1,17))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (14...17))
+ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17))
│ │ │ └── name: :cmd
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -20,56 +20,56 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ BeginNode (location: (21...49))
+ │ │ @ BeginNode (location: (2,2)-(5,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (21...32))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (21...32))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (21...27) = "system"
- │ │ │ ├── opening_loc: (27...28) = "("
+ │ │ │ ├── message_loc: (2,2)-(2,8) = "system"
+ │ │ │ ├── opening_loc: (2,8)-(2,9) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (28...31))
+ │ │ │ │ @ ArgumentsNode (location: (2,9)-(2,12))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (28...31))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12))
│ │ │ │ ├── name: :cmd
│ │ │ │ └── depth: 0
- │ │ │ ├── closing_loc: (31...32) = ")"
+ │ │ │ ├── closing_loc: (2,12)-(2,13) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "system"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (33...45))
- │ │ │ ├── keyword_loc: (33...39) = "rescue"
+ │ │ │ @ RescueNode (location: (3,0)-(4,5))
+ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (42...45))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ NilNode (location: (42...45))
+ │ │ │ │ └── @ NilNode (location: (4,2)-(4,5))
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (46...49) = "end"
+ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
│ ├── locals: [:cmd]
- │ ├── def_keyword_loc: (0...3) = "def"
- │ ├── operator_loc: (8...9) = "."
- │ ├── lparen_loc: (13...14) = "("
- │ ├── rparen_loc: (17...18) = ")"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ │ ├── operator_loc: (1,8)-(1,9) = "."
+ │ ├── lparen_loc: (1,13)-(1,14) = "("
+ │ ├── rparen_loc: (1,17)-(1,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (46...49) = "end"
- ├── @ DefNode (location: (52...99))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ DefNode (location: (8,0)-(10,3))
│ ├── name: :exec
- │ ├── name_loc: (61...65) = "exec"
+ │ ├── name_loc: (8,9)-(8,13) = "exec"
│ ├── receiver:
- │ │ @ SelfNode (location: (56...60))
+ │ │ @ SelfNode (location: (8,4)-(8,8))
│ ├── parameters:
- │ │ @ ParametersNode (location: (66...69))
+ │ │ @ ParametersNode (location: (8,14)-(8,17))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (66...69))
+ │ │ │ └── @ RequiredParameterNode (location: (8,14)-(8,17))
│ │ │ └── name: :cmd
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -78,44 +78,44 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (73...95))
+ │ │ @ StatementsNode (location: (9,2)-(9,24))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (73...95))
+ │ │ └── @ RescueModifierNode (location: (9,2)-(9,24))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (73...84))
+ │ │ │ @ CallNode (location: (9,2)-(9,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (73...79) = "system"
- │ │ │ ├── opening_loc: (79...80) = "("
+ │ │ │ ├── message_loc: (9,2)-(9,8) = "system"
+ │ │ │ ├── opening_loc: (9,8)-(9,9) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (80...83))
+ │ │ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (80...83))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12))
│ │ │ │ ├── name: :cmd
│ │ │ │ └── depth: 0
- │ │ │ ├── closing_loc: (83...84) = ")"
+ │ │ │ ├── closing_loc: (9,12)-(9,13) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "system"
- │ │ ├── keyword_loc: (85...91) = "rescue"
+ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (92...95))
+ │ │ @ NilNode (location: (9,21)-(9,24))
│ ├── locals: [:cmd]
- │ ├── def_keyword_loc: (52...55) = "def"
- │ ├── operator_loc: (60...61) = "."
- │ ├── lparen_loc: (65...66) = "("
- │ ├── rparen_loc: (69...70) = ")"
+ │ ├── def_keyword_loc: (8,0)-(8,3) = "def"
+ │ ├── operator_loc: (8,8)-(8,9) = "."
+ │ ├── lparen_loc: (8,13)-(8,14) = "("
+ │ ├── rparen_loc: (8,17)-(8,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (96...99) = "end"
- └── @ DefNode (location: (102...145))
+ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
+ └── @ DefNode (location: (13,0)-(13,43))
├── name: :exec
- ├── name_loc: (111...115) = "exec"
+ ├── name_loc: (13,9)-(13,13) = "exec"
├── receiver:
- │ @ SelfNode (location: (106...110))
+ │ @ SelfNode (location: (13,4)-(13,8))
├── parameters:
- │ @ ParametersNode (location: (116...119))
+ │ @ ParametersNode (location: (13,14)-(13,17))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (116...119))
+ │ │ └── @ RequiredParameterNode (location: (13,14)-(13,17))
│ │ └── name: :cmd
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -124,32 +124,32 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (123...145))
+ │ @ StatementsNode (location: (13,21)-(13,43))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (123...145))
+ │ └── @ RescueModifierNode (location: (13,21)-(13,43))
│ ├── expression:
- │ │ @ CallNode (location: (123...134))
+ │ │ @ CallNode (location: (13,21)-(13,32))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (123...129) = "system"
- │ │ ├── opening_loc: (129...130) = "("
+ │ │ ├── message_loc: (13,21)-(13,27) = "system"
+ │ │ ├── opening_loc: (13,27)-(13,28) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (130...133))
+ │ │ │ @ ArgumentsNode (location: (13,28)-(13,31))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (130...133))
+ │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31))
│ │ │ ├── name: :cmd
│ │ │ └── depth: 0
- │ │ ├── closing_loc: (133...134) = ")"
+ │ │ ├── closing_loc: (13,31)-(13,32) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "system"
- │ ├── keyword_loc: (135...141) = "rescue"
+ │ ├── keyword_loc: (13,33)-(13,39) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (142...145))
+ │ @ NilNode (location: (13,40)-(13,43))
├── locals: [:cmd]
- ├── def_keyword_loc: (102...105) = "def"
- ├── operator_loc: (110...111) = "."
- ├── lparen_loc: (115...116) = "("
- ├── rparen_loc: (119...120) = ")"
- ├── equal_loc: (121...122) = "="
+ ├── def_keyword_loc: (13,0)-(13,3) = "def"
+ ├── operator_loc: (13,8)-(13,9) = "."
+ ├── lparen_loc: (13,13)-(13,14) = "("
+ ├── rparen_loc: (13,17)-(13,18) = ")"
+ ├── equal_loc: (13,19)-(13,20) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult0_.txt b/test/yarp/snapshots/seattlerb/difficult0_.txt
index fbff725583..f4f9b11560 100644
--- a/test/yarp/snapshots/seattlerb/difficult0_.txt
+++ b/test/yarp/snapshots/seattlerb/difficult0_.txt
@@ -1,63 +1,63 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(4,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(4,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...30))
+ └── @ CallNode (location: (1,0)-(4,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...30))
+ │ @ ArgumentsNode (location: (1,2)-(4,8))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (2...30))
+ │ └── @ CallNode (location: (1,2)-(4,8))
│ ├── receiver:
- │ │ @ CallNode (location: (2...26))
+ │ │ @ CallNode (location: (1,2)-(4,4))
│ │ ├── receiver:
- │ │ │ @ StringNode (location: (2...8))
+ │ │ │ @ StringNode (location: (1,2)-(1,8))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (2...8) = "<<-END"
- │ │ │ ├── content_loc: (12...16) = " a\n"
- │ │ │ ├── closing_loc: (16...22) = " END\n"
+ │ │ │ ├── opening_loc: (1,2)-(1,8) = "<<-END"
+ │ │ │ ├── content_loc: (2,0)-(2,0) = " a\n"
+ │ │ │ ├── closing_loc: (3,0)-(3,0) = " END\n"
│ │ │ └── unescaped: " a\n"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...9) = "+"
+ │ │ ├── message_loc: (1,8)-(1,9) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (9...26))
+ │ │ │ @ ArgumentsNode (location: (1,9)-(4,4))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (9...26))
- │ │ │ ├── opening_loc: (9...10) = "'"
+ │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4))
+ │ │ │ ├── opening_loc: (1,9)-(1,10) = "'"
│ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (10...12))
+ │ │ │ │ ├── @ StringNode (location: (1,10)-(1,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (10...12) = "b\n"
+ │ │ │ │ │ ├── content_loc: (1,10)-(1,0) = "b\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b\n"
- │ │ │ │ └── @ StringNode (location: (22...25))
+ │ │ │ │ └── @ StringNode (location: (4,0)-(4,3))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (22...25) = " c"
+ │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " c"
- │ │ │ └── closing_loc: (25...26) = "'"
+ │ │ │ └── closing_loc: (4,3)-(4,4) = "'"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...27) = "+"
+ │ ├── message_loc: (4,4)-(4,5) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (27...30))
+ │ │ @ ArgumentsNode (location: (4,5)-(4,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (27...30))
+ │ │ └── @ StringNode (location: (4,5)-(4,8))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (27...28) = "'"
- │ │ ├── content_loc: (28...29) = "d"
- │ │ ├── closing_loc: (29...30) = "'"
+ │ │ ├── opening_loc: (4,5)-(4,6) = "'"
+ │ │ ├── content_loc: (4,6)-(4,7) = "d"
+ │ │ ├── closing_loc: (4,7)-(4,8) = "'"
│ │ └── unescaped: "d"
│ ├── closing_loc: ∅
│ ├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult1_line_numbers.txt b/test/yarp/snapshots/seattlerb/difficult1_line_numbers.txt
index c85f9b88c6..fd98c2a5ef 100644
--- a/test/yarp/snapshots/seattlerb/difficult1_line_numbers.txt
+++ b/test/yarp/snapshots/seattlerb/difficult1_line_numbers.txt
@@ -1,242 +1,242 @@
-@ ProgramNode (location: (0...104))
+@ ProgramNode (location: (1,0)-(12,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...104))
+ @ StatementsNode (location: (1,0)-(12,3))
└── body: (length: 1)
- └── @ IfNode (location: (0...104))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(12,3))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ TrueNode (location: (3...7))
+ │ @ TrueNode (location: (1,3)-(1,7))
├── statements:
- │ @ StatementsNode (location: (10...100))
+ │ @ StatementsNode (location: (2,2)-(11,11))
│ └── body: (length: 10)
- │ ├── @ CallNode (location: (10...13))
+ │ ├── @ CallNode (location: (2,2)-(2,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...11) = "p"
+ │ │ ├── message_loc: (2,2)-(2,3) = "p"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (12...13))
+ │ │ │ @ ArgumentsNode (location: (2,4)-(2,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (12...13))
+ │ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "p"
- │ ├── @ CallNode (location: (16...21))
+ │ ├── @ CallNode (location: (3,2)-(3,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (16...17))
+ │ │ │ @ CallNode (location: (3,2)-(3,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (16...17) = "a"
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── call_operator_loc: (17...18) = "."
- │ │ ├── message_loc: (18...19) = "b"
+ │ │ ├── call_operator_loc: (3,3)-(3,4) = "."
+ │ │ ├── message_loc: (3,4)-(3,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (20...21))
+ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (20...21))
+ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ ├── @ CallNode (location: (24...32))
+ │ ├── @ CallNode (location: (4,2)-(4,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (24...25))
+ │ │ │ @ CallNode (location: (4,2)-(4,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (24...25) = "c"
+ │ │ │ ├── message_loc: (4,2)-(4,3) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ ├── call_operator_loc: (25...26) = "."
- │ │ ├── message_loc: (26...27) = "d"
+ │ │ ├── call_operator_loc: (4,3)-(4,4) = "."
+ │ │ ├── message_loc: (4,4)-(4,5) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (28...32))
+ │ │ │ @ ArgumentsNode (location: (4,6)-(4,10))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (28...29))
+ │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (31...32))
+ │ │ │ └── @ IntegerNode (location: (4,9)-(4,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "d"
- │ ├── @ CallNode (location: (35...40))
+ │ ├── @ CallNode (location: (5,2)-(5,7))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (35...36))
+ │ │ │ @ CallNode (location: (5,2)-(5,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (35...36) = "e"
+ │ │ │ ├── message_loc: (5,2)-(5,3) = "e"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "e"
- │ │ ├── call_operator_loc: (36...37) = "."
- │ │ ├── message_loc: (37...38) = "f"
+ │ │ ├── call_operator_loc: (5,3)-(5,4) = "."
+ │ │ ├── message_loc: (5,4)-(5,5) = "f"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (39...40))
+ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (39...40))
+ │ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "f"
- │ ├── @ CallNode (location: (43...51))
+ │ ├── @ CallNode (location: (6,2)-(6,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (43...44))
+ │ │ │ @ CallNode (location: (6,2)-(6,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (43...44) = "g"
+ │ │ │ ├── message_loc: (6,2)-(6,3) = "g"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "g"
- │ │ ├── call_operator_loc: (44...45) = "."
- │ │ ├── message_loc: (45...46) = "h"
+ │ │ ├── call_operator_loc: (6,3)-(6,4) = "."
+ │ │ ├── message_loc: (6,4)-(6,5) = "h"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (47...51))
+ │ │ │ @ ArgumentsNode (location: (6,6)-(6,10))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (47...48))
+ │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (50...51))
+ │ │ │ └── @ IntegerNode (location: (6,9)-(6,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "h"
- │ ├── @ CallNode (location: (54...58))
+ │ ├── @ CallNode (location: (7,2)-(7,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (54...55) = "p"
- │ │ ├── opening_loc: (55...56) = "("
+ │ │ ├── message_loc: (7,2)-(7,3) = "p"
+ │ │ ├── opening_loc: (7,3)-(7,4) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (56...57))
+ │ │ │ @ ArgumentsNode (location: (7,4)-(7,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (56...57))
+ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (57...58) = ")"
+ │ │ ├── closing_loc: (7,5)-(7,6) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "p"
- │ ├── @ CallNode (location: (61...67))
+ │ ├── @ CallNode (location: (8,2)-(8,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (61...62))
+ │ │ │ @ CallNode (location: (8,2)-(8,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (61...62) = "a"
+ │ │ │ ├── message_loc: (8,2)-(8,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── call_operator_loc: (62...63) = "."
- │ │ ├── message_loc: (63...64) = "b"
- │ │ ├── opening_loc: (64...65) = "("
+ │ │ ├── call_operator_loc: (8,3)-(8,4) = "."
+ │ │ ├── message_loc: (8,4)-(8,5) = "b"
+ │ │ ├── opening_loc: (8,5)-(8,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (65...66))
+ │ │ │ @ ArgumentsNode (location: (8,6)-(8,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (65...66))
+ │ │ │ └── @ IntegerNode (location: (8,6)-(8,7))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (66...67) = ")"
+ │ │ ├── closing_loc: (8,7)-(8,8) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ ├── @ CallNode (location: (70...79))
+ │ ├── @ CallNode (location: (9,2)-(9,11))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (70...71))
+ │ │ │ @ CallNode (location: (9,2)-(9,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (70...71) = "c"
+ │ │ │ ├── message_loc: (9,2)-(9,3) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ ├── call_operator_loc: (71...72) = "."
- │ │ ├── message_loc: (72...73) = "d"
- │ │ ├── opening_loc: (73...74) = "("
+ │ │ ├── call_operator_loc: (9,3)-(9,4) = "."
+ │ │ ├── message_loc: (9,4)-(9,5) = "d"
+ │ │ ├── opening_loc: (9,5)-(9,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (74...78))
+ │ │ │ @ ArgumentsNode (location: (9,6)-(9,10))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (74...75))
+ │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (77...78))
+ │ │ │ └── @ IntegerNode (location: (9,9)-(9,10))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (78...79) = ")"
+ │ │ ├── closing_loc: (9,10)-(9,11) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "d"
- │ ├── @ CallNode (location: (82...88))
+ │ ├── @ CallNode (location: (10,2)-(10,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (82...83))
+ │ │ │ @ CallNode (location: (10,2)-(10,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (82...83) = "e"
+ │ │ │ ├── message_loc: (10,2)-(10,3) = "e"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "e"
- │ │ ├── call_operator_loc: (83...84) = "."
- │ │ ├── message_loc: (84...85) = "f"
- │ │ ├── opening_loc: (85...86) = "("
+ │ │ ├── call_operator_loc: (10,3)-(10,4) = "."
+ │ │ ├── message_loc: (10,4)-(10,5) = "f"
+ │ │ ├── opening_loc: (10,5)-(10,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (86...87))
+ │ │ │ @ ArgumentsNode (location: (10,6)-(10,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (86...87))
+ │ │ │ └── @ IntegerNode (location: (10,6)-(10,7))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (87...88) = ")"
+ │ │ ├── closing_loc: (10,7)-(10,8) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "f"
- │ └── @ CallNode (location: (91...100))
+ │ └── @ CallNode (location: (11,2)-(11,11))
│ ├── receiver:
- │ │ @ CallNode (location: (91...92))
+ │ │ @ CallNode (location: (11,2)-(11,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (91...92) = "g"
+ │ │ ├── message_loc: (11,2)-(11,3) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "g"
- │ ├── call_operator_loc: (92...93) = "."
- │ ├── message_loc: (93...94) = "h"
- │ ├── opening_loc: (94...95) = "("
+ │ ├── call_operator_loc: (11,3)-(11,4) = "."
+ │ ├── message_loc: (11,4)-(11,5) = "h"
+ │ ├── opening_loc: (11,5)-(11,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (95...99))
+ │ │ @ ArgumentsNode (location: (11,6)-(11,10))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (95...96))
+ │ │ ├── @ IntegerNode (location: (11,6)-(11,7))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (98...99))
+ │ │ └── @ IntegerNode (location: (11,9)-(11,10))
│ │ └── flags: decimal
- │ ├── closing_loc: (99...100) = ")"
+ │ ├── closing_loc: (11,10)-(11,11) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "h"
├── consequent: ∅
- └── end_keyword_loc: (101...104) = "end"
+ └── end_keyword_loc: (12,0)-(12,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/difficult1_line_numbers2.txt b/test/yarp/snapshots/seattlerb/difficult1_line_numbers2.txt
index 895fbbbb97..ab8857b6d3 100644
--- a/test/yarp/snapshots/seattlerb/difficult1_line_numbers2.txt
+++ b/test/yarp/snapshots/seattlerb/difficult1_line_numbers2.txt
@@ -1,70 +1,70 @@
-@ ProgramNode (location: (0...48))
+@ ProgramNode (location: (1,0)-(7,1))
├── locals: [:b, :c]
└── statements:
- @ StatementsNode (location: (0...48))
+ @ StatementsNode (location: (1,0)-(7,1))
└── body: (length: 2)
- ├── @ IfNode (location: (0...46))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(6,3))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (3...7))
+ │ │ @ TrueNode (location: (1,3)-(1,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (15...42))
+ │ │ @ StatementsNode (location: (2,2)-(5,6))
│ │ └── body: (length: 4)
- │ │ ├── @ CallNode (location: (15...21))
+ │ │ ├── @ CallNode (location: (2,2)-(2,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...16) = "p"
- │ │ │ ├── opening_loc: (16...17) = "("
+ │ │ │ ├── message_loc: (2,2)-(2,3) = "p"
+ │ │ │ ├── opening_loc: (2,3)-(2,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (17...20))
+ │ │ │ │ @ ArgumentsNode (location: (2,4)-(2,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (17...20))
+ │ │ │ │ └── @ StringNode (location: (2,4)-(2,7))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (17...18) = "\""
- │ │ │ │ ├── content_loc: (18...19) = "a"
- │ │ │ │ ├── closing_loc: (19...20) = "\""
+ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\""
+ │ │ │ │ ├── content_loc: (2,5)-(2,6) = "a"
+ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = "\""
│ │ │ │ └── unescaped: "a"
- │ │ │ ├── closing_loc: (20...21) = ")"
+ │ │ │ ├── closing_loc: (2,7)-(2,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "p"
- │ │ ├── @ LocalVariableWriteNode (location: (24...29))
+ │ │ ├── @ LocalVariableWriteNode (location: (3,2)-(3,7))
│ │ │ ├── name: :b
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (24...25) = "b"
+ │ │ │ ├── name_loc: (3,2)-(3,3) = "b"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (28...29))
+ │ │ │ │ @ IntegerNode (location: (3,6)-(3,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (26...27) = "="
- │ │ ├── @ CallNode (location: (32...35))
+ │ │ │ └── operator_loc: (3,4)-(3,5) = "="
+ │ │ ├── @ CallNode (location: (4,2)-(4,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (32...33) = "p"
+ │ │ │ ├── message_loc: (4,2)-(4,3) = "p"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (34...35))
+ │ │ │ │ @ ArgumentsNode (location: (4,4)-(4,5))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (34...35))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "p"
- │ │ └── @ LocalVariableWriteNode (location: (38...42))
+ │ │ └── @ LocalVariableWriteNode (location: (5,2)-(5,6))
│ │ ├── name: :c
│ │ ├── depth: 0
- │ │ ├── name_loc: (38...39) = "c"
+ │ │ ├── name_loc: (5,2)-(5,3) = "c"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (41...42))
+ │ │ │ @ IntegerNode (location: (5,5)-(5,6))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (40...41) = "="
+ │ │ └── operator_loc: (5,4)-(5,5) = "="
│ ├── consequent: ∅
- │ └── end_keyword_loc: (43...46) = "end"
- └── @ CallNode (location: (47...48))
+ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ └── @ CallNode (location: (7,0)-(7,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (47...48) = "a"
+ ├── message_loc: (7,0)-(7,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult2_.txt b/test/yarp/snapshots/seattlerb/difficult2_.txt
index f70198aac1..6bada8e1be 100644
--- a/test/yarp/snapshots/seattlerb/difficult2_.txt
+++ b/test/yarp/snapshots/seattlerb/difficult2_.txt
@@ -1,63 +1,63 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(2,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(2,6))
└── body: (length: 2)
- ├── @ IfNode (location: (0...13))
+ ├── @ IfNode (location: (1,0)-(1,13))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (4...9))
+ │ │ @ StatementsNode (location: (1,4)-(1,9))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (4...9))
+ │ │ └── @ CallNode (location: (1,4)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
- │ │ ├── opening_loc: (5...6) = "("
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (6...8))
+ │ │ │ @ ArgumentsNode (location: (1,6)-(1,8))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (6...8))
+ │ │ │ └── @ StringNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (6...7) = "'"
- │ │ │ ├── content_loc: (7...7) = ""
- │ │ │ ├── closing_loc: (7...8) = "'"
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "'"
+ │ │ │ ├── content_loc: (1,7)-(1,7) = ""
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = "'"
│ │ │ └── unescaped: ""
- │ │ ├── closing_loc: (8...9) = ")"
+ │ │ ├── closing_loc: (1,8)-(1,9) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── consequent:
- │ │ @ ElseNode (location: (10...13))
- │ │ ├── else_keyword_loc: (10...11) = ":"
+ │ │ @ ElseNode (location: (1,10)-(1,13))
+ │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (12...13))
+ │ │ │ @ StatementsNode (location: (1,12)-(1,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (12...13))
+ │ │ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- └── @ CallNode (location: (14...20))
+ └── @ CallNode (location: (2,0)-(2,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "a"
+ ├── message_loc: (2,0)-(2,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (16...20))
+ │ @ ArgumentsNode (location: (2,2)-(2,6))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (16...20))
+ │ └── @ KeywordHashNode (location: (2,2)-(2,6))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (16...20))
+ │ └── @ AssocNode (location: (2,2)-(2,6))
│ ├── key:
- │ │ @ SymbolNode (location: (16...18))
+ │ │ @ SymbolNode (location: (2,2)-(2,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (16...17) = "d"
- │ │ ├── closing_loc: (17...18) = ":"
+ │ │ ├── value_loc: (2,2)-(2,3) = "d"
+ │ │ ├── closing_loc: (2,3)-(2,4) = ":"
│ │ └── unescaped: "d"
│ ├── value:
- │ │ @ IntegerNode (location: (19...20))
+ │ │ @ IntegerNode (location: (2,5)-(2,6))
│ │ └── flags: decimal
│ └── operator_loc: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult3_.txt b/test/yarp/snapshots/seattlerb/difficult3_.txt
index 72ff30b404..315602ea1e 100644
--- a/test/yarp/snapshots/seattlerb/difficult3_.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3_.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...15))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,15))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ SplatNode (location: (12...14))
- │ │ │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,12)-(1,14))
+ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (14...15) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -38,10 +38,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3_2.txt b/test/yarp/snapshots/seattlerb/difficult3_2.txt
index 2940576ce5..c1ebe5b4cf 100644
--- a/test/yarp/snapshots/seattlerb/difficult3_2.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3_2.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...13))
+ │ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...11))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...10))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (5...7))
+ │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (6...7) = "a"
- │ │ │ │ └── operator_loc: (5...6) = "*"
+ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
+ │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :b
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3_3.txt b/test/yarp/snapshots/seattlerb/difficult3_3.txt
index 0da71d6f65..46160cc33c 100644
--- a/test/yarp/snapshots/seattlerb/difficult3_3.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3_3.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (5...7))
+ │ │ │ │ @ RestParameterNode (location: (1,5)-(1,7))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (6...7) = "a"
- │ │ │ │ └── operator_loc: (5...6) = "*"
+ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "a"
+ │ │ │ │ └── operator_loc: (1,5)-(1,6) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :b
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (12...14))
+ │ │ │ @ BlockParameterNode (location: (1,12)-(1,14))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (13...14) = "c"
- │ │ │ └── operator_loc: (12...13) = "&"
+ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
+ │ │ │ └── operator_loc: (1,12)-(1,13) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3_4.txt b/test/yarp/snapshots/seattlerb/difficult3_4.txt
index ca07b60783..67fe5715a3 100644
--- a/test/yarp/snapshots/seattlerb/difficult3_4.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3_4.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...17))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,17))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ IfNode (location: (2...17))
+ │ @ IfNode (location: (1,2)-(1,17))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (2...3))
+ │ │ @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "b"
+ │ │ ├── message_loc: (1,2)-(1,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -22,16 +22,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── statements:
- │ │ @ StatementsNode (location: (6...10))
+ │ │ @ StatementsNode (location: (1,6)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (6...10))
+ │ │ └── @ TrueNode (location: (1,6)-(1,10))
│ ├── consequent:
- │ │ @ ElseNode (location: (10...17))
- │ │ ├── else_keyword_loc: (10...11) = ":"
+ │ │ @ ElseNode (location: (1,10)-(1,17))
+ │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (12...17))
+ │ │ │ @ StatementsNode (location: (1,12)-(1,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FalseNode (location: (12...17))
+ │ │ │ └── @ FalseNode (location: (1,12)-(1,17))
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- └── operator_loc: (1...2) = "="
+ └── operator_loc: (1,1)-(1,2) = "="
diff --git a/test/yarp/snapshots/seattlerb/difficult3_5.txt b/test/yarp/snapshots/seattlerb/difficult3_5.txt
index 98fde853ef..174557dc5e 100644
--- a/test/yarp/snapshots/seattlerb/difficult3_5.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3_5.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ CallNode (location: (0...19))
+ └── @ CallNode (location: (1,0)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...19))
+ │ @ ArgumentsNode (location: (1,2)-(1,19))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...19))
+ │ └── @ LambdaNode (location: (1,2)-(1,19))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (7...8) = "{"
- │ ├── closing_loc: (18...19) = "}"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ ├── closing_loc: (1,18)-(1,19) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...6))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "("
- │ │ └── closing_loc: (5...6) = ")"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,5)-(1,6) = ")"
│ └── body:
- │ @ StatementsNode (location: (9...17))
+ │ @ StatementsNode (location: (1,9)-(1,17))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (9...17))
+ │ └── @ CallNode (location: (1,9)-(1,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...10) = "g"
+ │ ├── message_loc: (1,9)-(1,10) = "g"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (11...17))
+ │ │ @ BlockNode (location: (1,11)-(1,17))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (11...13) = "do"
- │ │ └── closing_loc: (14...17) = "end"
+ │ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ │ └── closing_loc: (1,14)-(1,17) = "end"
│ ├── flags: ∅
│ └── name: "g"
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult3__10.txt b/test/yarp/snapshots/seattlerb/difficult3__10.txt
index 10559c35c2..c70e73eb86 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__10.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__10.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...15))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,15))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ SplatNode (location: (9...11))
- │ │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ │ └── expression:
- │ │ │ │ │ │ @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (14...15) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -38,10 +38,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__11.txt b/test/yarp/snapshots/seattlerb/difficult3__11.txt
index d7be05def6..6dce592668 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__11.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__11.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:a]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...11))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,11))
│ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (9...10))
- │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (10...11) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -34,10 +34,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__12.txt b/test/yarp/snapshots/seattlerb/difficult3__12.txt
index 1cf3e1e208..67947d6301 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__12.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__12.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...14))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ SplatNode (location: (9...10))
- │ │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,9)-(1,10))
+ │ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ │ └── name: :b
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (13...14) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -36,10 +36,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__6.txt b/test/yarp/snapshots/seattlerb/difficult3__6.txt
index 1b45f3c2b8..ea05a98bbd 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__6.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__6.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ CallNode (location: (0...21))
+ └── @ CallNode (location: (1,0)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...21))
+ │ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...19))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...18))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...18))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,18))
│ │ │ │ ├── parameters: (length: 3)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── @ SplatNode (location: (12...14))
- │ │ │ │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,12)-(1,14))
+ │ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
│ │ │ │ │ │ └── expression:
- │ │ │ │ │ │ @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ │ │ └── name: :c
- │ │ │ │ │ └── @ RequiredParameterNode (location: (16...17))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
│ │ │ │ │ └── name: :d
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (17...18) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,17)-(1,18) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -40,10 +40,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (18...19) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (20...21) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,20)-(1,21) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__7.txt b/test/yarp/snapshots/seattlerb/difficult3__7.txt
index bb75a66b63..8c0aa4cf1b 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__7.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__7.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...14))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ └── @ SplatNode (location: (12...13))
- │ │ │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,12)-(1,13))
+ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
│ │ │ │ │ └── expression: ∅
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (13...14) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -36,10 +36,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__8.txt b/test/yarp/snapshots/seattlerb/difficult3__8.txt
index 1bc801e4f5..c7e893600c 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__8.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__8.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...20))
+ │ @ BlockNode (location: (1,2)-(1,20))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...18))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,18))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...17))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,17))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...17))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,17))
│ │ │ │ ├── parameters: (length: 3)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── @ SplatNode (location: (12...13))
- │ │ │ │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ │ │ │ ├── @ SplatNode (location: (1,12)-(1,13))
+ │ │ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*"
│ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ └── @ RequiredParameterNode (location: (15...16))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16))
│ │ │ │ │ └── name: :c
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (16...17) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,16)-(1,17) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -38,10 +38,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (17...18) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,17)-(1,18) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (19...20) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,19)-(1,20) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult3__9.txt b/test/yarp/snapshots/seattlerb/difficult3__9.txt
index 49b8809053..5e1c6b1cab 100644
--- a/test/yarp/snapshots/seattlerb/difficult3__9.txt
+++ b/test/yarp/snapshots/seattlerb/difficult3__9.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...15))
+ │ @ BlockNode (location: (1,2)-(1,15))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...13))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...12))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,12))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (8...12))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,8)-(1,12))
│ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (9...11))
- │ │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (1,9)-(1,11))
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (10...11))
+ │ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ └── name: :b
- │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ └── closing_loc: (11...12) = ")"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -36,10 +36,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (12...13) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (14...15) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,14)-(1,15) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/difficult4__leading_dots.txt b/test/yarp/snapshots/seattlerb/difficult4__leading_dots.txt
index d3ce51d026..acdb72f84c 100644
--- a/test/yarp/snapshots/seattlerb/difficult4__leading_dots.txt
+++ b/test/yarp/snapshots/seattlerb/difficult4__leading_dots.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(2,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(2,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(2,2))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (2...3) = "."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (2,0)-(2,1) = "."
+ ├── message_loc: (2,1)-(2,2) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult4__leading_dots2.txt b/test/yarp/snapshots/seattlerb/difficult4__leading_dots2.txt
index 41e1da4193..e569fbea1f 100644
--- a/test/yarp/snapshots/seattlerb/difficult4__leading_dots2.txt
+++ b/test/yarp/snapshots/seattlerb/difficult4__leading_dots2.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
- ├── @ IntegerNode (location: (0...1))
+ ├── @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
- └── @ RangeNode (location: (2...5))
+ └── @ RangeNode (location: (2,0)-(2,3))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (4...5))
+ │ @ IntegerNode (location: (2,2)-(2,3))
│ └── flags: decimal
- ├── operator_loc: (2...4) = ".."
+ ├── operator_loc: (2,0)-(2,2) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult6_.txt b/test/yarp/snapshots/seattlerb/difficult6_.txt
index bf813ea6a2..dd12d42c15 100644
--- a/test/yarp/snapshots/seattlerb/difficult6_.txt
+++ b/test/yarp/snapshots/seattlerb/difficult6_.txt
@@ -1,56 +1,56 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...25))
+ └── @ LambdaNode (location: (1,0)-(1,25))
├── locals: [:a, :b]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (13...14) = "{"
- ├── closing_loc: (24...25) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,13)-(1,14) = "{"
+ ├── closing_loc: (1,24)-(1,25) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (2...12))
+ │ @ BlockParametersNode (location: (1,2)-(1,12))
│ ├── parameters:
- │ │ @ ParametersNode (location: (3...11))
+ │ │ @ ParametersNode (location: (1,3)-(1,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (3...4))
+ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (6...11))
+ │ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,11))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (6...7) = "b"
- │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
- │ │ │ @ NilNode (location: (8...11))
+ │ │ │ @ NilNode (location: (1,8)-(1,11))
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (11...12) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,11)-(1,12) = ")"
└── body:
- @ StatementsNode (location: (15...23))
+ @ StatementsNode (location: (1,15)-(1,23))
└── body: (length: 1)
- └── @ CallNode (location: (15...23))
+ └── @ CallNode (location: (1,15)-(1,23))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (15...16) = "p"
+ ├── message_loc: (1,15)-(1,16) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (17...23))
+ │ @ ArgumentsNode (location: (1,17)-(1,23))
│ └── arguments: (length: 1)
- │ └── @ ArrayNode (location: (17...23))
+ │ └── @ ArrayNode (location: (1,17)-(1,23))
│ ├── elements: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (18...19))
+ │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableReadNode (location: (21...22))
+ │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── opening_loc: (17...18) = "["
- │ └── closing_loc: (22...23) = "]"
+ │ ├── opening_loc: (1,17)-(1,18) = "["
+ │ └── closing_loc: (1,22)-(1,23) = "]"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/difficult6__7.txt b/test/yarp/snapshots/seattlerb/difficult6__7.txt
index b436d8249d..2ca623e8e8 100644
--- a/test/yarp/snapshots/seattlerb/difficult6__7.txt
+++ b/test/yarp/snapshots/seattlerb/difficult6__7.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "b"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...7))
+ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...7))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
│ ├── body:
- │ │ @ StatementsNode (location: (5...6))
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (5...6))
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (6...7) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,6)-(1,7) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (8...11))
+ │ @ BlockNode (location: (1,8)-(1,11))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (9...10))
+ │ │ @ StatementsNode (location: (1,9)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9...10))
+ │ │ └── @ CallNode (location: (1,9)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "c"
+ │ │ ├── message_loc: (1,9)-(1,10) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── opening_loc: (8...9) = "{"
- │ └── closing_loc: (10...11) = "}"
+ │ ├── opening_loc: (1,8)-(1,9) = "{"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── flags: ∅
└── name: "b"
diff --git a/test/yarp/snapshots/seattlerb/difficult6__8.txt b/test/yarp/snapshots/seattlerb/difficult6__8.txt
index 2c77bfb0e4..1f7c63ba12 100644
--- a/test/yarp/snapshots/seattlerb/difficult6__8.txt
+++ b/test/yarp/snapshots/seattlerb/difficult6__8.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "::"
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...8))
+ │ @ ArgumentsNode (location: (1,5)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (5...8))
+ │ └── @ ParenthesesNode (location: (1,5)-(1,8))
│ ├── body:
- │ │ @ StatementsNode (location: (6...7))
+ │ │ @ StatementsNode (location: (1,6)-(1,7))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (6...7))
+ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ └── flags: decimal
- │ ├── opening_loc: (5...6) = "("
- │ └── closing_loc: (7...8) = ")"
+ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (9...12))
+ │ @ BlockNode (location: (1,9)-(1,12))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...11))
+ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (10...11))
+ │ │ └── @ CallNode (location: (1,10)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...11) = "c"
+ │ │ ├── message_loc: (1,10)-(1,11) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── opening_loc: (9...10) = "{"
- │ └── closing_loc: (11...12) = "}"
+ │ ├── opening_loc: (1,9)-(1,10) = "{"
+ │ └── closing_loc: (1,11)-(1,12) = "}"
├── flags: ∅
└── name: "b"
diff --git a/test/yarp/snapshots/seattlerb/difficult7_.txt b/test/yarp/snapshots/seattlerb/difficult7_.txt
index 495712243d..e567448bcf 100644
--- a/test/yarp/snapshots/seattlerb/difficult7_.txt
+++ b/test/yarp/snapshots/seattlerb/difficult7_.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (6...66))
+@ ProgramNode (location: (1,6)-(4,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (6...66))
+ @ StatementsNode (location: (1,6)-(4,7))
└── body: (length: 1)
- └── @ HashNode (location: (6...66))
- ├── opening_loc: (6...7) = "{"
+ └── @ HashNode (location: (1,6)-(4,7))
+ ├── opening_loc: (1,6)-(1,7) = "{"
├── elements: (length: 2)
- │ ├── @ AssocNode (location: (16...41))
+ │ ├── @ AssocNode (location: (2,8)-(2,33))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (16...18))
+ │ │ │ @ SymbolNode (location: (2,8)-(2,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (16...17) = "a"
- │ │ │ ├── closing_loc: (17...18) = ":"
+ │ │ │ ├── value_loc: (2,8)-(2,9) = "a"
+ │ │ │ ├── closing_loc: (2,9)-(2,10) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (19...41))
+ │ │ │ @ CallNode (location: (2,11)-(2,33))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (19...25) = "lambda"
+ │ │ │ ├── message_loc: (2,11)-(2,17) = "lambda"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (26...41))
+ │ │ │ │ @ BlockNode (location: (2,18)-(2,33))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (28...39))
+ │ │ │ │ │ @ StatementsNode (location: (2,20)-(2,31))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IfNode (location: (28...39))
+ │ │ │ │ │ └── @ IfNode (location: (2,20)-(2,31))
│ │ │ │ │ ├── if_keyword_loc: ∅
│ │ │ │ │ ├── predicate:
- │ │ │ │ │ │ @ CallNode (location: (28...29))
+ │ │ │ │ │ │ @ CallNode (location: (2,20)-(2,21))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (28...29) = "b"
+ │ │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -42,28 +42,28 @@
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "b"
│ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (32...35))
+ │ │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (32...35))
+ │ │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (32...33) = "c"
- │ │ │ │ │ │ ├── opening_loc: (33...34) = "("
+ │ │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c"
+ │ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "("
│ │ │ │ │ │ ├── arguments: ∅
- │ │ │ │ │ │ ├── closing_loc: (34...35) = ")"
+ │ │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")"
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ └── name: "c"
│ │ │ │ │ ├── consequent:
- │ │ │ │ │ │ @ ElseNode (location: (36...39))
- │ │ │ │ │ │ ├── else_keyword_loc: (36...37) = ":"
+ │ │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31))
+ │ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":"
│ │ │ │ │ │ ├── statements:
- │ │ │ │ │ │ │ @ StatementsNode (location: (38...39))
+ │ │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31))
│ │ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ │ └── @ CallNode (location: (38...39))
+ │ │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31))
│ │ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ │ ├── message_loc: (38...39) = "d"
+ │ │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d"
│ │ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ ├── closing_loc: ∅
@@ -72,19 +72,19 @@
│ │ │ │ │ │ │ └── name: "d"
│ │ │ │ │ │ └── end_keyword_loc: ∅
│ │ │ │ │ └── end_keyword_loc: ∅
- │ │ │ │ ├── opening_loc: (26...27) = "{"
- │ │ │ │ └── closing_loc: (40...41) = "}"
+ │ │ │ │ ├── opening_loc: (2,18)-(2,19) = "{"
+ │ │ │ │ └── closing_loc: (2,32)-(2,33) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "lambda"
│ │ └── operator_loc: ∅
- │ └── @ AssocNode (location: (51...57))
+ │ └── @ AssocNode (location: (3,8)-(3,14))
│ ├── key:
- │ │ @ SymbolNode (location: (51...53))
+ │ │ @ SymbolNode (location: (3,8)-(3,10))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (51...52) = "e"
- │ │ ├── closing_loc: (52...53) = ":"
+ │ │ ├── value_loc: (3,8)-(3,9) = "e"
+ │ │ ├── closing_loc: (3,9)-(3,10) = ":"
│ │ └── unescaped: "e"
│ ├── value:
- │ │ @ NilNode (location: (54...57))
+ │ │ @ NilNode (location: (3,11)-(3,14))
│ └── operator_loc: ∅
- └── closing_loc: (65...66) = "}"
+ └── closing_loc: (4,6)-(4,7) = "}"
diff --git a/test/yarp/snapshots/seattlerb/do_bug.txt b/test/yarp/snapshots/seattlerb/do_bug.txt
index 8da20af65d..49b3605da3 100644
--- a/test/yarp/snapshots/seattlerb/do_bug.txt
+++ b/test/yarp/snapshots/seattlerb/do_bug.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 2)
- ├── @ CallNode (location: (0...3))
+ ├── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...3))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (2...3))
+ │ │ └── @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (4...33))
+ └── @ CallNode (location: (2,0)-(4,3))
├── receiver:
- │ @ CallNode (location: (4...5))
+ │ @ CallNode (location: (2,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "a"
+ │ ├── message_loc: (2,0)-(2,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (5...6) = "."
- ├── message_loc: (6...7) = "b"
+ ├── call_operator_loc: (2,1)-(2,2) = "."
+ ├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (8...33))
+ │ @ BlockNode (location: (2,4)-(4,3))
│ ├── locals: [:c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (11...14))
+ │ │ @ BlockParametersNode (location: (2,7)-(2,10))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (12...13))
+ │ │ │ @ ParametersNode (location: (2,8)-(2,9))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9))
│ │ │ │ └── name: :c
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -51,10 +51,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (11...12) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (2,7)-(2,8) = "|"
+ │ │ └── closing_loc: (2,9)-(2,10) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (8...10) = "do"
- │ └── closing_loc: (30...33) = "end"
+ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ └── closing_loc: (4,0)-(4,3) = "end"
├── flags: ∅
└── name: "b"
diff --git a/test/yarp/snapshots/seattlerb/do_lambda.txt b/test/yarp/snapshots/seattlerb/do_lambda.txt
index 99e9ac7074..4713fb3e4b 100644
--- a/test/yarp/snapshots/seattlerb/do_lambda.txt
+++ b/test/yarp/snapshots/seattlerb/do_lambda.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...11))
+ └── @ LambdaNode (location: (1,0)-(1,11))
├── locals: []
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (5...7) = "do"
- ├── closing_loc: (8...11) = "end"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,5)-(1,7) = "do"
+ ├── closing_loc: (1,8)-(1,11) = "end"
├── parameters:
- │ @ BlockParametersNode (location: (2...4))
+ │ @ BlockParametersNode (location: (1,2)-(1,4))
│ ├── parameters: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (3...4) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,3)-(1,4) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/seattlerb/dot2_nil__26.txt b/test/yarp/snapshots/seattlerb/dot2_nil__26.txt
index 68bb91068f..6e10c48818 100644
--- a/test/yarp/snapshots/seattlerb/dot2_nil__26.txt
+++ b/test/yarp/snapshots/seattlerb/dot2_nil__26.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ RangeNode (location: (0...3))
+ └── @ RangeNode (location: (1,0)-(1,3))
├── left:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,5 +16,5 @@
│ ├── flags: variable_call
│ └── name: "a"
├── right: ∅
- ├── operator_loc: (1...3) = ".."
+ ├── operator_loc: (1,1)-(1,3) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/dot3_nil__26.txt b/test/yarp/snapshots/seattlerb/dot3_nil__26.txt
index 7fee58b4c4..0da36ab471 100644
--- a/test/yarp/snapshots/seattlerb/dot3_nil__26.txt
+++ b/test/yarp/snapshots/seattlerb/dot3_nil__26.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RangeNode (location: (0...4))
+ └── @ RangeNode (location: (1,0)-(1,4))
├── left:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,5 +16,5 @@
│ ├── flags: variable_call
│ └── name: "a"
├── right: ∅
- ├── operator_loc: (1...4) = "..."
+ ├── operator_loc: (1,1)-(1,4) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/seattlerb/dstr_evstr.txt b/test/yarp/snapshots/seattlerb/dstr_evstr.txt
index 130101650c..c070c86f96 100644
--- a/test/yarp/snapshots/seattlerb/dstr_evstr.txt
+++ b/test/yarp/snapshots/seattlerb/dstr_evstr.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...12))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,12))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (1...7))
- │ │ ├── opening_loc: (1...3) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,7))
+ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (3...6))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (3...6))
+ │ │ │ └── @ StringNode (location: (1,3)-(1,6))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (3...4) = "'"
- │ │ │ ├── content_loc: (4...5) = "a"
- │ │ │ ├── closing_loc: (5...6) = "'"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "'"
+ │ │ │ ├── content_loc: (1,4)-(1,5) = "a"
+ │ │ │ ├── closing_loc: (1,5)-(1,6) = "'"
│ │ │ └── unescaped: "a"
- │ │ └── closing_loc: (6...7) = "}"
- │ └── @ EmbeddedStatementsNode (location: (7...11))
- │ ├── opening_loc: (7...9) = "\#{"
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,11))
+ │ ├── opening_loc: (1,7)-(1,9) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (9...10))
+ │ │ @ StatementsNode (location: (1,9)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9...10))
+ │ │ └── @ CallNode (location: (1,9)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "b"
+ │ │ ├── message_loc: (1,9)-(1,10) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── closing_loc: (10...11) = "}"
- └── closing_loc: (11...12) = "\""
+ │ └── closing_loc: (1,10)-(1,11) = "}"
+ └── closing_loc: (1,11)-(1,12) = "\""
diff --git a/test/yarp/snapshots/seattlerb/dstr_evstr_empty_end.txt b/test/yarp/snapshots/seattlerb/dstr_evstr_empty_end.txt
index 9a43e6fe4f..a51f7fe994 100644
--- a/test/yarp/snapshots/seattlerb/dstr_evstr_empty_end.txt
+++ b/test/yarp/snapshots/seattlerb/dstr_evstr_empty_end.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ InterpolatedSymbolNode (location: (0...11))
- ├── opening_loc: (0...2) = ":\""
+ └── @ InterpolatedSymbolNode (location: (1,0)-(1,11))
+ ├── opening_loc: (1,0)-(1,2) = ":\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (2...10))
- │ ├── opening_loc: (2...4) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,2)-(1,10))
+ │ ├── opening_loc: (1,2)-(1,4) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (4...9))
+ │ │ @ StatementsNode (location: (1,4)-(1,9))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (4...9))
+ │ │ └── @ CallNode (location: (1,4)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...9) = "field"
+ │ │ ├── message_loc: (1,4)-(1,9) = "field"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "field"
- │ └── closing_loc: (9...10) = "}"
- └── closing_loc: (10...11) = "\""
+ │ └── closing_loc: (1,9)-(1,10) = "}"
+ └── closing_loc: (1,10)-(1,11) = "\""
diff --git a/test/yarp/snapshots/seattlerb/dstr_lex_state.txt b/test/yarp/snapshots/seattlerb/dstr_lex_state.txt
index 2ced434569..60d9eff91e 100644
--- a/test/yarp/snapshots/seattlerb/dstr_lex_state.txt
+++ b/test/yarp/snapshots/seattlerb/dstr_lex_state.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...8))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,8))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (1...7))
- │ ├── opening_loc: (1...3) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,7))
+ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (3...6))
+ │ │ @ StatementsNode (location: (1,3)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (3...6))
+ │ │ └── @ CallNode (location: (1,3)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...4) = "p"
+ │ │ ├── message_loc: (1,3)-(1,4) = "p"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (4...6))
+ │ │ │ @ ArgumentsNode (location: (1,4)-(1,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (4...6))
- │ │ │ ├── opening_loc: (4...5) = ":"
- │ │ │ ├── value_loc: (5...6) = "a"
+ │ │ │ └── @ 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: ∅
│ │ └── name: "p"
- │ └── closing_loc: (6...7) = "}"
- └── closing_loc: (7...8) = "\""
+ │ └── closing_loc: (1,6)-(1,7) = "}"
+ └── closing_loc: (1,7)-(1,8) = "\""
diff --git a/test/yarp/snapshots/seattlerb/dstr_str.txt b/test/yarp/snapshots/seattlerb/dstr_str.txt
index 9881d0edba..42bd37a1ac 100644
--- a/test/yarp/snapshots/seattlerb/dstr_str.txt
+++ b/test/yarp/snapshots/seattlerb/dstr_str.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...10))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,10))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (1...7))
- │ │ ├── opening_loc: (1...3) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,7))
+ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (3...6))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (3...6))
+ │ │ │ └── @ StringNode (location: (1,3)-(1,6))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (3...4) = "'"
- │ │ │ ├── content_loc: (4...5) = "a"
- │ │ │ ├── closing_loc: (5...6) = "'"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "'"
+ │ │ │ ├── content_loc: (1,4)-(1,5) = "a"
+ │ │ │ ├── closing_loc: (1,5)-(1,6) = "'"
│ │ │ └── unescaped: "a"
- │ │ └── closing_loc: (6...7) = "}"
- │ └── @ StringNode (location: (7...9))
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ └── @ StringNode (location: (1,7)-(1,9))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (7...9) = " b"
+ │ ├── content_loc: (1,7)-(1,9) = " b"
│ ├── closing_loc: ∅
│ └── unescaped: " b"
- └── closing_loc: (9...10) = "\""
+ └── closing_loc: (1,9)-(1,10) = "\""
diff --git a/test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt b/test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt
index 15e1ec2b16..a52ac4043c 100644
--- a/test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt
+++ b/test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt
@@ -1,10 +1,10 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ SymbolNode (location: (0...17))
- ├── opening_loc: (0...2) = ":\""
- ├── value_loc: (2...16) = "Variet\\303\\240"
- ├── closing_loc: (16...17) = "\""
+ └── @ SymbolNode (location: (1,0)-(1,17))
+ ├── opening_loc: (1,0)-(1,2) = ":\""
+ ├── value_loc: (1,2)-(1,16) = "Variet\\303\\240"
+ ├── closing_loc: (1,16)-(1,17) = "\""
└── unescaped: "Varietà"
diff --git a/test/yarp/snapshots/seattlerb/dsym_to_sym.txt b/test/yarp/snapshots/seattlerb/dsym_to_sym.txt
index d4187447c0..1d7fcf801f 100644
--- a/test/yarp/snapshots/seattlerb/dsym_to_sym.txt
+++ b/test/yarp/snapshots/seattlerb/dsym_to_sym.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(3,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
- ├── @ AliasMethodNode (location: (0...17))
+ ├── @ AliasMethodNode (location: (1,0)-(1,17))
│ ├── new_name:
- │ │ @ SymbolNode (location: (6...11))
- │ │ ├── opening_loc: (6...8) = ":\""
- │ │ ├── value_loc: (8...10) = "<<"
- │ │ ├── closing_loc: (10...11) = "\""
+ │ │ @ SymbolNode (location: (1,6)-(1,11))
+ │ │ ├── opening_loc: (1,6)-(1,8) = ":\""
+ │ │ ├── value_loc: (1,8)-(1,10) = "<<"
+ │ │ ├── closing_loc: (1,10)-(1,11) = "\""
│ │ └── unescaped: "<<"
│ ├── old_name:
- │ │ @ SymbolNode (location: (12...17))
- │ │ ├── opening_loc: (12...14) = ":\""
- │ │ ├── value_loc: (14...16) = ">>"
- │ │ ├── closing_loc: (16...17) = "\""
+ │ │ @ SymbolNode (location: (1,12)-(1,17))
+ │ │ ├── opening_loc: (1,12)-(1,14) = ":\""
+ │ │ ├── value_loc: (1,14)-(1,16) = ">>"
+ │ │ ├── closing_loc: (1,16)-(1,17) = "\""
│ │ └── unescaped: ">>"
- │ └── keyword_loc: (0...5) = "alias"
- └── @ AliasMethodNode (location: (19...32))
+ │ └── keyword_loc: (1,0)-(1,5) = "alias"
+ └── @ AliasMethodNode (location: (3,0)-(3,13))
├── new_name:
- │ @ SymbolNode (location: (25...28))
- │ ├── opening_loc: (25...26) = ":"
- │ ├── value_loc: (26...28) = "<<"
+ │ @ SymbolNode (location: (3,6)-(3,9))
+ │ ├── opening_loc: (3,6)-(3,7) = ":"
+ │ ├── value_loc: (3,7)-(3,9) = "<<"
│ ├── closing_loc: ∅
│ └── unescaped: "<<"
├── old_name:
- │ @ SymbolNode (location: (29...32))
- │ ├── opening_loc: (29...30) = ":"
- │ ├── value_loc: (30...32) = ">>"
+ │ @ SymbolNode (location: (3,10)-(3,13))
+ │ ├── opening_loc: (3,10)-(3,11) = ":"
+ │ ├── value_loc: (3,11)-(3,13) = ">>"
│ ├── closing_loc: ∅
│ └── unescaped: ">>"
- └── keyword_loc: (19...24) = "alias"
+ └── keyword_loc: (3,0)-(3,5) = "alias"
diff --git a/test/yarp/snapshots/seattlerb/eq_begin_line_numbers.txt b/test/yarp/snapshots/seattlerb/eq_begin_line_numbers.txt
index 080aad6e5d..1fd43f6166 100644
--- a/test/yarp/snapshots/seattlerb/eq_begin_line_numbers.txt
+++ b/test/yarp/snapshots/seattlerb/eq_begin_line_numbers.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(6,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(6,1))
└── body: (length: 2)
- ├── @ IntegerNode (location: (0...1))
+ ├── @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
- └── @ IntegerNode (location: (30...31))
+ └── @ IntegerNode (location: (6,0)-(6,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt b/test/yarp/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
index 24b34f85f9..38c745deef 100644
--- a/test/yarp/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
+++ b/test/yarp/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(3,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...29))
+ └── @ CallNode (location: (1,0)-(3,8))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "h"
+ │ ├── message_loc: (1,0)-(1,1) = "h"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,33 +16,33 @@
│ ├── flags: variable_call
│ └── name: "h"
├── call_operator_loc: ∅
- ├── message_loc: (1...4) = "[k]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,4) = "[k]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (2...29))
+ │ @ ArgumentsNode (location: (1,2)-(3,8))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (2...3))
+ │ ├── @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "k"
+ │ │ ├── message_loc: (1,2)-(1,3) = "k"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "k"
- │ └── @ BeginNode (location: (5...29))
- │ ├── begin_keyword_loc: (5...10) = "begin"
+ │ └── @ BeginNode (location: (1,5)-(3,8))
+ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (18...20))
+ │ │ @ StatementsNode (location: (2,7)-(2,9))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (18...20))
+ │ │ └── @ IntegerNode (location: (2,7)-(2,9))
│ │ └── flags: decimal
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (26...29) = "end"
- ├── closing_loc: (3...4) = "]"
+ │ └── end_keyword_loc: (3,5)-(3,8) = "end"
+ ├── closing_loc: (1,3)-(1,4) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/seattlerb/evstr_evstr.txt b/test/yarp/snapshots/seattlerb/evstr_evstr.txt
index eed8b0f72a..373f49364e 100644
--- a/test/yarp/snapshots/seattlerb/evstr_evstr.txt
+++ b/test/yarp/snapshots/seattlerb/evstr_evstr.txt
@@ -1,41 +1,41 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...10))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,10))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (1...5))
- │ │ ├── opening_loc: (1...3) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5))
+ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (3...4))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (3...4))
+ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3...4) = "a"
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── closing_loc: (4...5) = "}"
- │ └── @ EmbeddedStatementsNode (location: (5...9))
- │ ├── opening_loc: (5...7) = "\#{"
+ │ │ └── closing_loc: (1,4)-(1,5) = "}"
+ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,9))
+ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (7...8))
+ │ │ @ StatementsNode (location: (1,7)-(1,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (7...8))
+ │ │ └── @ CallNode (location: (1,7)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...8) = "b"
+ │ │ ├── message_loc: (1,7)-(1,8) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── closing_loc: (8...9) = "}"
- └── closing_loc: (9...10) = "\""
+ │ └── closing_loc: (1,8)-(1,9) = "}"
+ └── closing_loc: (1,9)-(1,10) = "\""
diff --git a/test/yarp/snapshots/seattlerb/evstr_str.txt b/test/yarp/snapshots/seattlerb/evstr_str.txt
index db73ace476..196014e307 100644
--- a/test/yarp/snapshots/seattlerb/evstr_str.txt
+++ b/test/yarp/snapshots/seattlerb/evstr_str.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...8))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,8))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (1...5))
- │ │ ├── opening_loc: (1...3) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5))
+ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (3...4))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (3...4))
+ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3...4) = "a"
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── closing_loc: (4...5) = "}"
- │ └── @ StringNode (location: (5...7))
+ │ │ └── closing_loc: (1,4)-(1,5) = "}"
+ │ └── @ StringNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (5...7) = " b"
+ │ ├── content_loc: (1,5)-(1,7) = " b"
│ ├── closing_loc: ∅
│ └── unescaped: " b"
- └── closing_loc: (7...8) = "\""
+ └── closing_loc: (1,7)-(1,8) = "\""
diff --git a/test/yarp/snapshots/seattlerb/expr_not_bang.txt b/test/yarp/snapshots/seattlerb/expr_not_bang.txt
index a768617332..f9679d8df6 100644
--- a/test/yarp/snapshots/seattlerb/expr_not_bang.txt
+++ b/test/yarp/snapshots/seattlerb/expr_not_bang.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ CallNode (location: (2...5))
+ │ @ CallNode (location: (1,2)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (2...3) = "a"
+ │ ├── message_loc: (1,2)-(1,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...5))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...5))
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -28,7 +28,7 @@
│ ├── flags: ∅
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/f_kw.txt b/test/yarp/snapshots/seattlerb/f_kw.txt
index ae569e9a9a..cbc29b9c96 100644
--- a/test/yarp/snapshots/seattlerb/f_kw.txt
+++ b/test/yarp/snapshots/seattlerb/f_kw.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ DefNode (location: (0...15))
+ └── @ DefNode (location: (1,0)-(1,15))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...10))
+ │ @ ParametersNode (location: (1,6)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :k
- │ │ ├── name_loc: (6...8) = "k:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "k:"
│ │ └── value:
- │ │ @ IntegerNode (location: (8...10))
+ │ │ @ IntegerNode (location: (1,8)-(1,10))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:k]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (12...15) = "end"
+ └── end_keyword_loc: (1,12)-(1,15) = "end"
diff --git a/test/yarp/snapshots/seattlerb/f_kw__required.txt b/test/yarp/snapshots/seattlerb/f_kw__required.txt
index 086c555d77..16d94d6b46 100644
--- a/test/yarp/snapshots/seattlerb/f_kw__required.txt
+++ b/test/yarp/snapshots/seattlerb/f_kw__required.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ DefNode (location: (0...13))
+ └── @ DefNode (location: (1,0)-(1,13))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...8))
+ │ @ ParametersNode (location: (1,6)-(1,8))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...8))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,8))
│ │ ├── name: :k
- │ │ ├── name_loc: (6...8) = "k:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "k:"
│ │ └── value: ∅
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:k]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (10...13) = "end"
+ └── end_keyword_loc: (1,10)-(1,13) = "end"
diff --git a/test/yarp/snapshots/seattlerb/flip2_env_lvar.txt b/test/yarp/snapshots/seattlerb/flip2_env_lvar.txt
index 6edc5be929..1bd74d2b82 100644
--- a/test/yarp/snapshots/seattlerb/flip2_env_lvar.txt
+++ b/test/yarp/snapshots/seattlerb/flip2_env_lvar.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ IfNode (location: (0...16))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,16))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ FlipFlopNode (location: (3...7))
+ │ @ FlipFlopNode (location: (1,3)-(1,7))
│ ├── left:
- │ │ @ CallNode (location: (3...4))
+ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...4) = "a"
+ │ │ ├── message_loc: (1,3)-(1,4) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── right:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (1,6)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "b"
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── operator_loc: (4...6) = ".."
+ │ ├── operator_loc: (1,4)-(1,6) = ".."
│ └── flags: ∅
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (13...16) = "end"
+ └── end_keyword_loc: (1,13)-(1,16) = "end"
diff --git a/test/yarp/snapshots/seattlerb/float_with_if_modifier.txt b/test/yarp/snapshots/seattlerb/float_with_if_modifier.txt
index f2be371163..798dba2d05 100644
--- a/test/yarp/snapshots/seattlerb/float_with_if_modifier.txt
+++ b/test/yarp/snapshots/seattlerb/float_with_if_modifier.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ IfNode (location: (0...10))
- ├── if_keyword_loc: (3...5) = "if"
+ └── @ IfNode (location: (1,0)-(1,10))
+ ├── if_keyword_loc: (1,3)-(1,5) = "if"
├── predicate:
- │ @ TrueNode (location: (6...10))
+ │ @ TrueNode (location: (1,6)-(1,10))
├── statements:
- │ @ StatementsNode (location: (0...3))
+ │ @ StatementsNode (location: (1,0)-(1,3))
│ └── body: (length: 1)
- │ └── @ FloatNode (location: (0...3))
+ │ └── @ FloatNode (location: (1,0)-(1,3))
├── consequent: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/heredoc__backslash_dos_format.txt b/test/yarp/snapshots/seattlerb/heredoc__backslash_dos_format.txt
index 801a14f235..1d8b569dfe 100644
--- a/test/yarp/snapshots/seattlerb/heredoc__backslash_dos_format.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc__backslash_dos_format.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:str]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...12))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,12))
├── name: :str
├── depth: 0
- ├── name_loc: (0...3) = "str"
+ ├── name_loc: (1,0)-(1,3) = "str"
├── value:
- │ @ StringNode (location: (6...12))
+ │ @ StringNode (location: (1,6)-(1,12))
│ ├── flags: ∅
- │ ├── opening_loc: (6...12) = "<<-XXX"
- │ ├── content_loc: (14...30) = "before\\\r\nafter\r\n"
- │ ├── closing_loc: (30...35) = "XXX\r\n"
+ │ ├── opening_loc: (1,6)-(1,12) = "<<-XXX"
+ │ ├── content_loc: (2,0)-(3,0) = "before\\\r\nafter\r\n"
+ │ ├── closing_loc: (4,0)-(4,0) = "XXX\r\n"
│ └── unescaped: "beforeafter\r\n"
- └── operator_loc: (4...5) = "="
+ └── operator_loc: (1,4)-(1,5) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_backslash_nl.txt b/test/yarp/snapshots/seattlerb/heredoc_backslash_nl.txt
index 9a1a8ee93b..3f98b7cd43 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_backslash_nl.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_backslash_nl.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...49))
+@ ProgramNode (location: (1,0)-(5,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...49))
+ @ StatementsNode (location: (1,0)-(5,7))
└── body: (length: 2)
- ├── @ StringNode (location: (0...40))
+ ├── @ StringNode (location: (1,0)-(3,1))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...39) = " why would someone do this? \\\n blah\n"
- │ ├── closing_loc: (39...40) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(2,0) = " why would someone do this? \\\n blah\n"
+ │ ├── closing_loc: (3,0)-(3,1) = "\""
│ └── unescaped: " why would someone do this? blah\n"
- └── @ StringNode (location: (42...49))
+ └── @ StringNode (location: (5,0)-(5,7))
├── flags: ∅
- ├── opening_loc: (42...49) = "<<-DESC"
- ├── content_loc: (50...88) = " why would someone do this? \\\n blah\n"
- ├── closing_loc: (88...93) = "DESC\n"
+ ├── opening_loc: (5,0)-(5,7) = "<<-DESC"
+ ├── content_loc: (6,0)-(7,0) = " why would someone do this? \\\n blah\n"
+ ├── closing_loc: (8,0)-(8,0) = "DESC\n"
└── unescaped: " why would someone do this? blah\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_bad_hex_escape.txt b/test/yarp/snapshots/seattlerb/heredoc_bad_hex_escape.txt
index 483783f0e8..29770b2ba3 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_bad_hex_escape.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_bad_hex_escape.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: [:s]
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...9))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,9))
├── name: :s
├── depth: 0
- ├── name_loc: (0...1) = "s"
+ ├── name_loc: (1,0)-(1,1) = "s"
├── value:
- │ @ StringNode (location: (4...9))
+ │ @ StringNode (location: (1,4)-(1,9))
│ ├── flags: ∅
- │ ├── opening_loc: (4...9) = "<<eos"
- │ ├── content_loc: (10...17) = "a\\xE9b\n"
- │ ├── closing_loc: (17...21) = "eos\n"
+ │ ├── opening_loc: (1,4)-(1,9) = "<<eos"
+ │ ├── content_loc: (2,0)-(2,0) = "a\\xE9b\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "eos\n"
│ └── unescaped: "a\xE9b\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_bad_oct_escape.txt b/test/yarp/snapshots/seattlerb/heredoc_bad_oct_escape.txt
index 581dff0d98..e51b83d922 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_bad_oct_escape.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_bad_oct_escape.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:s]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...10))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,10))
├── name: :s
├── depth: 0
- ├── name_loc: (0...1) = "s"
+ ├── name_loc: (1,0)-(1,1) = "s"
├── value:
- │ @ StringNode (location: (4...10))
+ │ @ StringNode (location: (1,4)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (4...10) = "<<-EOS"
- │ ├── content_loc: (11...23) = "a\\247b\ncöd\n"
- │ ├── closing_loc: (23...27) = "EOS\n"
+ │ ├── opening_loc: (1,4)-(1,10) = "<<-EOS"
+ │ ├── content_loc: (2,0)-(3,0) = "a\\247b\ncöd\n"
+ │ ├── closing_loc: (4,0)-(4,0) = "EOS\n"
│ └── unescaped: "a\xA7b\ncöd\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_comma_arg.txt b/test/yarp/snapshots/seattlerb/heredoc_comma_arg.txt
index d4a3f6d6f6..007c4308fe 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_comma_arg.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_comma_arg.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...47))
+@ ProgramNode (location: (1,0)-(7,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...47))
+ @ StatementsNode (location: (1,0)-(7,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...17))
+ ├── @ ArrayNode (location: (1,0)-(2,3))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (1...15))
+ │ │ └── @ StringNode (location: (1,1)-(2,1))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (1...2) = "\""
- │ │ ├── content_loc: (2...14) = " some text\n"
- │ │ ├── closing_loc: (14...15) = "\""
+ │ │ ├── opening_loc: (1,1)-(1,2) = "\""
+ │ │ ├── content_loc: (1,2)-(1,0) = " some text\n"
+ │ │ ├── closing_loc: (2,0)-(2,1) = "\""
│ │ └── unescaped: " some text\n"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (16...17) = "]"
- └── @ ArrayNode (location: (19...47))
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (2,2)-(2,3) = "]"
+ └── @ ArrayNode (location: (4,0)-(7,1))
├── elements: (length: 1)
- │ └── @ StringNode (location: (20...27))
+ │ └── @ StringNode (location: (4,1)-(4,8))
│ ├── flags: ∅
- │ ├── opening_loc: (20...27) = "<<-FILE"
- │ ├── content_loc: (29...41) = " some text\n"
- │ ├── closing_loc: (41...46) = "FILE\n"
+ │ ├── opening_loc: (4,1)-(4,8) = "<<-FILE"
+ │ ├── content_loc: (5,0)-(5,0) = " some text\n"
+ │ ├── closing_loc: (6,0)-(6,0) = "FILE\n"
│ └── unescaped: " some text\n"
- ├── opening_loc: (19...20) = "["
- └── closing_loc: (46...47) = "]"
+ ├── opening_loc: (4,0)-(4,1) = "["
+ └── closing_loc: (7,0)-(7,1) = "]"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_lineno.txt b/test/yarp/snapshots/seattlerb/heredoc_lineno.txt
index 460b37e4ec..138a6af030 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_lineno.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_lineno.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(7,6))
├── locals: [:c, :d]
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(7,6))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (0...11))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,11))
│ ├── name: :c
│ ├── depth: 0
- │ ├── name_loc: (0...1) = "c"
+ │ ├── name_loc: (1,0)-(1,1) = "c"
│ ├── value:
- │ │ @ StringNode (location: (4...11))
+ │ │ @ StringNode (location: (1,4)-(1,11))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (4...11) = "<<'CCC'"
- │ │ ├── content_loc: (12...30) = "line2\nline3\nline4\n"
- │ │ ├── closing_loc: (30...34) = "CCC\n"
+ │ │ ├── opening_loc: (1,4)-(1,11) = "<<'CCC'"
+ │ │ ├── content_loc: (2,0)-(4,0) = "line2\nline3\nline4\n"
+ │ │ ├── closing_loc: (5,0)-(5,0) = "CCC\n"
│ │ └── unescaped: "line2\nline3\nline4\n"
- │ └── operator_loc: (2...3) = "="
- └── @ LocalVariableWriteNode (location: (35...41))
+ │ └── operator_loc: (1,2)-(1,3) = "="
+ └── @ LocalVariableWriteNode (location: (7,0)-(7,6))
├── name: :d
├── depth: 0
- ├── name_loc: (35...36) = "d"
+ ├── name_loc: (7,0)-(7,1) = "d"
├── value:
- │ @ IntegerNode (location: (39...41))
+ │ @ IntegerNode (location: (7,4)-(7,6))
│ └── flags: decimal
- └── operator_loc: (37...38) = "="
+ └── operator_loc: (7,2)-(7,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_nested.txt b/test/yarp/snapshots/seattlerb/heredoc_nested.txt
index b5178a3013..d46f7253a5 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_nested.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_nested.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(7,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(7,2))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...23))
+ └── @ ArrayNode (location: (1,0)-(7,2))
├── elements: (length: 2)
- │ ├── @ InterpolatedStringNode (location: (1...4))
- │ │ ├── opening_loc: (1...4) = "<<A"
+ │ ├── @ InterpolatedStringNode (location: (1,1)-(1,4))
+ │ │ ├── opening_loc: (1,1)-(1,4) = "<<A"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (6...12))
- │ │ │ │ ├── opening_loc: (6...8) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (2,0)-(2,6))
+ │ │ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (8...11))
+ │ │ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (8...11))
+ │ │ │ │ │ └── @ StringNode (location: (2,2)-(2,5))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (8...11) = "<<B"
- │ │ │ │ │ ├── content_loc: (13...15) = "b\n"
- │ │ │ │ │ ├── closing_loc: (15...17) = "B\n"
+ │ │ │ │ │ ├── opening_loc: (2,2)-(2,5) = "<<B"
+ │ │ │ │ │ ├── content_loc: (3,0)-(3,0) = "b\n"
+ │ │ │ │ │ ├── closing_loc: (4,0)-(4,0) = "B\n"
│ │ │ │ │ └── unescaped: "b\n"
- │ │ │ │ └── closing_loc: (11...12) = "}"
- │ │ │ ├── @ StringNode (location: (12...13))
+ │ │ │ │ └── closing_loc: (2,5)-(2,6) = "}"
+ │ │ │ ├── @ StringNode (location: (2,6)-(2,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (12...13) = "\n"
+ │ │ │ │ ├── content_loc: (2,6)-(2,0) = "\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "\n"
- │ │ │ └── @ StringNode (location: (17...19))
+ │ │ │ └── @ StringNode (location: (5,0)-(5,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (17...19) = "a\n"
+ │ │ │ ├── content_loc: (5,0)-(5,0) = "a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ └── closing_loc: (19...21) = "A\n"
- │ └── @ IntegerNode (location: (21...22))
+ │ │ └── closing_loc: (6,0)-(6,0) = "A\n"
+ │ └── @ IntegerNode (location: (7,0)-(7,1))
│ └── flags: decimal
- ├── opening_loc: (0...1) = "["
- └── closing_loc: (22...23) = "]"
+ ├── opening_loc: (1,0)-(1,1) = "["
+ └── closing_loc: (7,1)-(7,2) = "]"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly.txt
index 03f5d36a8d..bc5273e9ac 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...12))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,12))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ StringNode (location: (4...12))
+ │ @ StringNode (location: (1,4)-(1,12))
│ ├── flags: ∅
- │ ├── opening_loc: (4...12) = "<<~\"EOF\""
- │ ├── content_loc: (13...25) = " x\n y\n z\n"
- │ ├── closing_loc: (25...31) = " EOF\n"
+ │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\""
+ │ ├── content_loc: (2,0)-(4,0) = " x\n y\n z\n"
+ │ ├── closing_loc: (5,0)-(5,0) = " EOF\n"
│ └── unescaped: "x\ny\nz\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
index 98165c625e..1d6e533151 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt
@@ -1,65 +1,65 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...20))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,20))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ CallNode (location: (4...20))
+ │ @ CallNode (location: (1,4)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...7) = "foo"
- │ ├── opening_loc: (7...8) = "("
+ │ ├── message_loc: (1,4)-(1,7) = "foo"
+ │ ├── opening_loc: (1,7)-(1,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...19))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (8...19))
+ │ │ └── @ CallNode (location: (1,8)-(1,19))
│ │ ├── receiver:
- │ │ │ @ InterpolatedStringNode (location: (8...14))
- │ │ │ ├── opening_loc: (8...14) = "<<~EOF"
+ │ │ │ @ InterpolatedStringNode (location: (1,8)-(1,14))
+ │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF"
│ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (21...26))
+ │ │ │ │ ├── @ StringNode (location: (2,0)-(3,4))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (21...26) = "\n "
+ │ │ │ │ │ ├── content_loc: (2,0)-(3,4) = "\n "
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (26...32))
- │ │ │ │ │ ├── opening_loc: (26...28) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10))
+ │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{"
│ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (28...31))
+ │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (28...31))
+ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (28...31) = "bar"
+ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "bar"
- │ │ │ │ │ └── closing_loc: (31...32) = "}"
- │ │ │ │ └── @ StringNode (location: (32...36))
+ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
+ │ │ │ │ └── @ StringNode (location: (3,10)-(3,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (32...36) = "baz\n"
+ │ │ │ │ ├── content_loc: (3,10)-(3,0) = "baz\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "baz\n"
- │ │ │ └── closing_loc: (36...42) = " EOF\n"
- │ │ ├── call_operator_loc: (14...15) = "."
- │ │ ├── message_loc: (15...19) = "chop"
+ │ │ │ └── closing_loc: (4,0)-(4,0) = " EOF\n"
+ │ │ ├── call_operator_loc: (1,14)-(1,15) = "."
+ │ │ ├── message_loc: (1,15)-(1,19) = "chop"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "chop"
- │ ├── closing_loc: (19...20) = ")"
+ │ ├── closing_loc: (1,19)-(1,20) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt
index 4321789367..8adeee53bf 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...10))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,10))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ StringNode (location: (4...10))
+ │ @ StringNode (location: (1,4)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (4...10) = "<<~EOF"
- │ ├── content_loc: (11...20) = " x\n\n z\n"
- │ ├── closing_loc: (20...24) = "EOF\n"
+ │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF"
+ │ ├── content_loc: (2,0)-(4,0) = " x\n\n z\n"
+ │ ├── closing_loc: (5,0)-(5,0) = "EOF\n"
│ └── unescaped: "x\n\nz\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_empty.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_empty.txt
index 6bcba20818..88049241d3 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_empty.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_empty.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ StringNode (location: (0...4))
+ └── @ StringNode (location: (1,0)-(1,4))
├── flags: ∅
- ├── opening_loc: (0...4) = "<<~A"
- ├── content_loc: (5...5) = ""
- ├── closing_loc: (5...7) = "A\n"
+ ├── opening_loc: (1,0)-(1,4) = "<<~A"
+ ├── content_loc: (2,0)-(1,0) = ""
+ ├── closing_loc: (2,0)-(2,0) = "A\n"
└── unescaped: ""
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_interp.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_interp.txt
index 6bc0b0b892..620b29591c 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_interp.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_interp.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...10))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,10))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ InterpolatedStringNode (location: (4...10))
- │ ├── opening_loc: (4...10) = "<<~EOF"
+ │ @ InterpolatedStringNode (location: (1,4)-(1,10))
+ │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (11...22))
+ │ │ ├── @ StringNode (location: (2,0)-(3,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (11...22) = " w\n x"
+ │ │ │ ├── content_loc: (2,0)-(3,3) = " w\n x"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " w\nx"
- │ │ ├── @ EmbeddedStatementsNode (location: (22...27))
- │ │ │ ├── opening_loc: (22...24) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (3,3)-(3,8))
+ │ │ │ ├── opening_loc: (3,3)-(3,5) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (24...26))
+ │ │ │ │ @ StatementsNode (location: (3,5)-(3,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (24...26))
+ │ │ │ │ └── @ IntegerNode (location: (3,5)-(3,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (26...27) = "}"
- │ │ └── @ StringNode (location: (27...36))
+ │ │ │ └── closing_loc: (3,7)-(3,8) = "}"
+ │ │ └── @ StringNode (location: (3,8)-(4,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (27...36) = " y\n z\n"
+ │ │ ├── content_loc: (3,8)-(4,0) = " y\n z\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " y\n z\n"
- │ └── closing_loc: (36...42) = " EOF\n"
- └── operator_loc: (2...3) = "="
+ │ └── closing_loc: (5,0)-(5,0) = " EOF\n"
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_no_indent.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_no_indent.txt
index 135f385991..b7f67aca7f 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_no_indent.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_no_indent.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ StringNode (location: (0...4))
+ └── @ StringNode (location: (1,0)-(1,4))
├── flags: ∅
- ├── opening_loc: (0...4) = "<<~A"
- ├── content_loc: (5...7) = "a\n"
- ├── closing_loc: (7...9) = "A\n"
+ ├── opening_loc: (1,0)-(1,4) = "<<~A"
+ ├── content_loc: (2,0)-(2,0) = "a\n"
+ ├── closing_loc: (3,0)-(3,0) = "A\n"
└── unescaped: "a\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs.txt
index 8f7193f101..f876ffa456 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...12))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,12))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ StringNode (location: (4...12))
+ │ @ StringNode (location: (1,4)-(1,12))
│ ├── flags: ∅
- │ ├── opening_loc: (4...12) = "<<~\"EOF\""
- │ ├── content_loc: (13...43) = " blah blah\n\t blah blah\n"
- │ ├── closing_loc: (43...49) = " EOF\n"
+ │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\""
+ │ ├── content_loc: (2,0)-(3,0) = " blah blah\n\t blah blah\n"
+ │ ├── closing_loc: (4,0)-(4,0) = " EOF\n"
│ └── unescaped: "blah blah\n blah blah\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt
index 70080e1d2c..32a8b64ce4 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...12))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,12))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ StringNode (location: (4...12))
+ │ @ StringNode (location: (1,4)-(1,12))
│ ├── flags: ∅
- │ ├── opening_loc: (4...12) = "<<~\"EOF\""
- │ ├── content_loc: (13...37) = " blah blah\n \tblah blah\n"
- │ ├── closing_loc: (37...43) = " EOF\n"
+ │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\""
+ │ ├── content_loc: (2,0)-(3,0) = " blah blah\n \tblah blah\n"
+ │ ├── closing_loc: (4,0)-(4,0) = " EOF\n"
│ └── unescaped: "blah blah\n\tblah blah\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt b/test/yarp/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt
index 22c0b7befe..edf33da732 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...10))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,10))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ StringNode (location: (4...10))
+ │ @ StringNode (location: (1,4)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (4...10) = "<<~EOF"
- │ ├── content_loc: (11...21) = " x\n \n z\n"
- │ ├── closing_loc: (21...25) = "EOF\n"
+ │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF"
+ │ ├── content_loc: (2,0)-(4,0) = " x\n \n z\n"
+ │ ├── closing_loc: (5,0)-(5,0) = "EOF\n"
│ └── unescaped: "x\n\nz\n"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt b/test/yarp/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
index df2bdc8d60..810031411c 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(4,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(4,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(4,6))
├── receiver:
- │ @ StringNode (location: (0...5))
+ │ @ StringNode (location: (1,0)-(1,5))
│ ├── flags: ∅
- │ ├── opening_loc: (0...5) = "<<END"
- │ ├── content_loc: (7...12) = "blah\n"
- │ ├── closing_loc: (12...16) = "END\n"
+ │ ├── opening_loc: (1,0)-(1,5) = "<<END"
+ │ ├── content_loc: (2,0)-(2,0) = "blah\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "END\n"
│ └── unescaped: "blah\n"
- ├── call_operator_loc: (16...17) = "."
- ├── message_loc: (17...22) = "strip"
+ ├── call_operator_loc: (4,0)-(4,1) = "."
+ ├── message_loc: (4,1)-(4,6) = "strip"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/heredoc_unicode.txt b/test/yarp/snapshots/seattlerb/heredoc_unicode.txt
index 53f8b52b9e..cf05249d7d 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_unicode.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_unicode.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ StringNode (location: (0...9))
+ └── @ StringNode (location: (1,0)-(1,9))
├── flags: ∅
- ├── opening_loc: (0...9) = "<<OOTPÜT"
- ├── content_loc: (10...12) = ".\n"
- ├── closing_loc: (12...20) = "OOTPÜT\n"
+ ├── opening_loc: (1,0)-(1,9) = "<<OOTPÜT"
+ ├── content_loc: (2,0)-(2,0) = ".\n"
+ ├── closing_loc: (3,0)-(3,0) = "OOTPÜT\n"
└── unescaped: ".\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt b/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt
index 01ca5f2a7b..c2f9bacf34 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (6...21) = "foo\\rbar\nbaz\\r\n"
- ├── closing_loc: (21...25) = "EOS\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(3,0) = "foo\\rbar\nbaz\\r\n"
+ ├── closing_loc: (4,0)-(4,0) = "EOS\n"
└── unescaped: "foo\rbar\nbaz\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt b/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt
index ca1a965393..02cbf2d751 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (7...24) = "foo\\rbar\r\nbaz\\r\r\n"
- ├── closing_loc: (24...29) = "EOS\r\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(3,0) = "foo\\rbar\r\nbaz\\r\r\n"
+ ├── closing_loc: (4,0)-(4,0) = "EOS\r\n"
└── unescaped: "foo\rbar\r\nbaz\r\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt
index 9e548b62de..66e83955b2 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ StringNode (location: (0...7))
+ └── @ StringNode (location: (1,0)-(1,7))
├── flags: ∅
- ├── opening_loc: (0...7) = "<<'eot'"
- ├── content_loc: (9...15) = "body\r\n"
- ├── closing_loc: (15...19) = "eot\n"
+ ├── opening_loc: (1,0)-(1,7) = "<<'eot'"
+ ├── content_loc: (2,0)-(2,0) = "body\r\n"
+ ├── closing_loc: (3,0)-(3,0) = "eot\n"
└── unescaped: "body\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt
index c79bf330df..1873c71d87 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (6...19) = "foo\rbar\r\nbaz\n"
- ├── closing_loc: (19...23) = "EOS\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(3,0) = "foo\rbar\r\nbaz\n"
+ ├── closing_loc: (4,0)-(4,0) = "EOS\n"
└── unescaped: "foo\rbar\r\nbaz\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt
index fe86762194..9473acb636 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (7...22) = "foo\rbar\r\r\nbaz\r\n"
- ├── closing_loc: (22...27) = "EOS\r\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(3,0) = "foo\rbar\r\r\nbaz\r\n"
+ ├── closing_loc: (4,0)-(4,0) = "EOS\r\n"
└── unescaped: "foo\rbar\r\r\nbaz\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt b/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt
index d027eb27f6..af8d5f697d 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...5))
- ├── opening_loc: (0...5) = "<<EOS"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,5))
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (6...11))
+ │ ├── @ StringNode (location: (2,0)-(2,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (6...11) = "foo\\r"
+ │ │ ├── content_loc: (2,0)-(2,5) = "foo\\r"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo\r"
- │ ├── @ EmbeddedVariableNode (location: (11...16))
- │ │ ├── operator_loc: (11...12) = "#"
+ │ ├── @ EmbeddedVariableNode (location: (2,5)-(2,10))
+ │ │ ├── operator_loc: (2,5)-(2,6) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (12...16))
+ │ │ @ InstanceVariableReadNode (location: (2,6)-(2,10))
│ │ └── name: :@bar
- │ └── @ StringNode (location: (16...17))
+ │ └── @ StringNode (location: (2,10)-(2,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (16...17) = "\n"
+ │ ├── content_loc: (2,10)-(2,0) = "\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n"
- └── closing_loc: (17...21) = "EOS\n"
+ └── closing_loc: (3,0)-(3,0) = "EOS\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt b/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt
index 90104ca1ac..d1b51850a9 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...5))
- ├── opening_loc: (0...5) = "<<EOS"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,5))
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (7...12))
+ │ ├── @ StringNode (location: (2,0)-(2,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (7...12) = "foo\\r"
+ │ │ ├── content_loc: (2,0)-(2,5) = "foo\\r"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo\r"
- │ ├── @ EmbeddedVariableNode (location: (12...17))
- │ │ ├── operator_loc: (12...13) = "#"
+ │ ├── @ EmbeddedVariableNode (location: (2,5)-(2,10))
+ │ │ ├── operator_loc: (2,5)-(2,6) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (13...17))
+ │ │ @ InstanceVariableReadNode (location: (2,6)-(2,10))
│ │ └── name: :@bar
- │ └── @ StringNode (location: (17...19))
+ │ └── @ StringNode (location: (2,10)-(2,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (17...19) = "\r\n"
+ │ ├── content_loc: (2,10)-(2,0) = "\r\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\r\n"
- └── closing_loc: (19...24) = "EOS\r\n"
+ └── closing_loc: (3,0)-(3,0) = "EOS\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt b/test/yarp/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt
index 0fbf08080f..c656ce4eec 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ StringNode (location: (0...10))
+ └── @ StringNode (location: (1,0)-(1,10))
├── flags: ∅
- ├── opening_loc: (0...10) = "<<-HEREDOC"
- ├── content_loc: (11...15) = "\#${\n"
- ├── closing_loc: (15...23) = "HEREDOC\n"
+ ├── opening_loc: (1,0)-(1,10) = "<<-HEREDOC"
+ ├── content_loc: (2,0)-(2,0) = "\#${\n"
+ ├── closing_loc: (3,0)-(3,0) = "HEREDOC\n"
└── unescaped: "\#${\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt b/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt
index 14fa6956a2..8043896a9e 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (6...14) = "\r\n\r\r\n\\r\n"
- ├── closing_loc: (14...18) = "EOS\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(4,0) = "\r\n\r\r\n\\r\n"
+ ├── closing_loc: (5,0)-(5,0) = "EOS\n"
└── unescaped: "\r\n\r\r\n\r\n"
diff --git a/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt b/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt
index b4a56c322a..5e62ba4230 100644
--- a/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt
+++ b/test/yarp/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ StringNode (location: (0...5))
+ └── @ StringNode (location: (1,0)-(1,5))
├── flags: ∅
- ├── opening_loc: (0...5) = "<<EOS"
- ├── content_loc: (7...18) = "\r\r\n\r\r\r\n\\r\r\n"
- ├── closing_loc: (18...23) = "EOS\r\n"
+ ├── opening_loc: (1,0)-(1,5) = "<<EOS"
+ ├── content_loc: (2,0)-(4,0) = "\r\r\n\r\r\r\n\\r\r\n"
+ ├── closing_loc: (5,0)-(5,0) = "EOS\r\n"
└── unescaped: "\r\r\n\r\r\r\n\r\r\n"
diff --git a/test/yarp/snapshots/seattlerb/if_elsif.txt b/test/yarp/snapshots/seattlerb/if_elsif.txt
index ffcfae1551..bc526814a5 100644
--- a/test/yarp/snapshots/seattlerb/if_elsif.txt
+++ b/test/yarp/snapshots/seattlerb/if_elsif.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ IfNode (location: (0...18))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,18))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ IntegerNode (location: (3...4))
+ │ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
├── statements: ∅
├── consequent:
- │ @ IfNode (location: (6...18))
- │ ├── if_keyword_loc: (6...11) = "elsif"
+ │ @ IfNode (location: (1,6)-(1,18))
+ │ ├── if_keyword_loc: (1,6)-(1,11) = "elsif"
│ ├── predicate:
- │ │ @ IntegerNode (location: (12...13))
+ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (15...18) = "end"
- └── end_keyword_loc: (15...18) = "end"
+ │ └── end_keyword_loc: (1,15)-(1,18) = "end"
+ └── end_keyword_loc: (1,15)-(1,18) = "end"
diff --git a/test/yarp/snapshots/seattlerb/if_symbol.txt b/test/yarp/snapshots/seattlerb/if_symbol.txt
index 70ece14aab..050960a0b4 100644
--- a/test/yarp/snapshots/seattlerb/if_symbol.txt
+++ b/test/yarp/snapshots/seattlerb/if_symbol.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ IfNode (location: (0...12))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,12))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...7))
+ │ @ CallNode (location: (1,3)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...4) = "f"
+ │ ├── message_loc: (1,3)-(1,4) = "f"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (5...7))
+ │ │ @ ArgumentsNode (location: (1,5)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (5...7))
- │ │ ├── opening_loc: (5...6) = ":"
- │ │ ├── value_loc: (6...7) = "x"
+ │ │ └── @ 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: ∅
@@ -25,4 +25,4 @@
│ └── name: "f"
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (9...12) = "end"
+ └── end_keyword_loc: (1,9)-(1,12) = "end"
diff --git a/test/yarp/snapshots/seattlerb/in_expr_no_case.txt b/test/yarp/snapshots/seattlerb/in_expr_no_case.txt
index 61a9840e1f..0a026c08db 100644
--- a/test/yarp/snapshots/seattlerb/in_expr_no_case.txt
+++ b/test/yarp/snapshots/seattlerb/in_expr_no_case.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ MatchPredicateNode (location: (0...16))
+ └── @ MatchPredicateNode (location: (1,0)-(1,16))
├── value:
- │ @ StringNode (location: (0...6))
+ │ @ StringNode (location: (1,0)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "'"
- │ ├── content_loc: (1...5) = "woot"
- │ ├── closing_loc: (5...6) = "'"
+ │ ├── opening_loc: (1,0)-(1,1) = "'"
+ │ ├── content_loc: (1,1)-(1,5) = "woot"
+ │ ├── closing_loc: (1,5)-(1,6) = "'"
│ └── unescaped: "woot"
├── pattern:
- │ @ ConstantReadNode (location: (10...16))
+ │ @ ConstantReadNode (location: (1,10)-(1,16))
│ └── name: :String
- └── operator_loc: (7...9) = "in"
+ └── operator_loc: (1,7)-(1,9) = "in"
diff --git a/test/yarp/snapshots/seattlerb/index_0.txt b/test/yarp/snapshots/seattlerb/index_0.txt
index 9830a9acb3..6df3611459 100644
--- a/test/yarp/snapshots/seattlerb/index_0.txt
+++ b/test/yarp/snapshots/seattlerb/index_0.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (1...3) = "[]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,3) = "[]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (6...7))
+ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (6...7))
+ │ └── @ CallNode (location: (1,6)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...7) = "b"
+ │ ├── message_loc: (1,6)-(1,7) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── closing_loc: (2...3) = "]"
+ ├── closing_loc: (1,2)-(1,3) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/seattlerb/index_0_opasgn.txt b/test/yarp/snapshots/seattlerb/index_0_opasgn.txt
index 75cab3e36e..537bcbf219 100644
--- a/test/yarp/snapshots/seattlerb/index_0_opasgn.txt
+++ b/test/yarp/snapshots/seattlerb/index_0_opasgn.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...8))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,8))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,20 +16,20 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (1...3) = "[]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,3) = "[]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments: ∅
- ├── closing_loc: (2...3) = "]"
+ ├── closing_loc: (1,2)-(1,3) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
├── operator: :+
- ├── operator_loc: (4...6) = "+="
+ ├── operator_loc: (1,4)-(1,6) = "+="
└── value:
- @ CallNode (location: (7...8))
+ @ CallNode (location: (1,7)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...8) = "b"
+ ├── message_loc: (1,7)-(1,8) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/integer_with_if_modifier.txt b/test/yarp/snapshots/seattlerb/integer_with_if_modifier.txt
index 7c468ffa48..86632cca13 100644
--- a/test/yarp/snapshots/seattlerb/integer_with_if_modifier.txt
+++ b/test/yarp/snapshots/seattlerb/integer_with_if_modifier.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ IfNode (location: (0...12))
- ├── if_keyword_loc: (5...7) = "if"
+ └── @ IfNode (location: (1,0)-(1,12))
+ ├── if_keyword_loc: (1,5)-(1,7) = "if"
├── predicate:
- │ @ TrueNode (location: (8...12))
+ │ @ TrueNode (location: (1,8)-(1,12))
├── statements:
- │ @ StatementsNode (location: (0...5))
+ │ @ StatementsNode (location: (1,0)-(1,5))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (0...5))
+ │ └── @ IntegerNode (location: (1,0)-(1,5))
│ └── flags: decimal
├── consequent: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt b/test/yarp/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
index 85c42d9282..a64a92ff34 100644
--- a/test/yarp/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
+++ b/test/yarp/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...9))
+ ├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (4...5))
+ │ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (4...5) = "a"
+ │ │ │ ├── value_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ SymbolNode (location: (6...7))
+ │ │ └── @ SymbolNode (location: (3,0)-(3,1))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (6...7) = "b"
+ │ │ ├── value_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (0...3) = "%I("
- │ └── closing_loc: (8...9) = ")"
- └── @ IntegerNode (location: (10...11))
+ │ ├── opening_loc: (1,0)-(1,3) = "%I("
+ │ └── closing_loc: (4,0)-(4,1) = ")"
+ └── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/interpolated_word_array_line_breaks.txt b/test/yarp/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
index ea05c62c96..a9c2463161 100644
--- a/test/yarp/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
+++ b/test/yarp/snapshots/seattlerb/interpolated_word_array_line_breaks.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...9))
+ ├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (4...5))
+ │ │ ├── @ StringNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (4...5) = "a"
+ │ │ │ ├── content_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ StringNode (location: (6...7))
+ │ │ └── @ StringNode (location: (3,0)-(3,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (6...7) = "b"
+ │ │ ├── content_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (0...3) = "%W("
- │ └── closing_loc: (8...9) = ")"
- └── @ IntegerNode (location: (10...11))
+ │ ├── opening_loc: (1,0)-(1,3) = "%W("
+ │ └── closing_loc: (4,0)-(4,1) = ")"
+ └── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/iter_args_1.txt b/test/yarp/snapshots/seattlerb/iter_args_1.txt
index 15ef06ff1c..922c8167ee 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_1.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...11))
+ │ @ BlockNode (location: (1,2)-(1,11))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...9))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,9))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...8))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,8))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (7...8))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -29,10 +29,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (8...9) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,8)-(1,9) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (10...11) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_10_1.txt b/test/yarp/snapshots/seattlerb/iter_args_10_1.txt
index c4198dbe6b..f883cdc457 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_10_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_10_1.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ CallNode (location: (0...21))
+ └── @ CallNode (location: (1,0)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...21))
+ │ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...19))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...18))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (16...18))
+ │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (17...18) = "c"
- │ │ │ │ └── operator_loc: (16...17) = "*"
+ │ │ │ │ ├── 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: (4...5) = "|"
- │ │ └── closing_loc: (18...19) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (20...21) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,20)-(1,21) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_10_2.txt b/test/yarp/snapshots/seattlerb/iter_args_10_2.txt
index 72dc7dae80..9030ccf61a 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_10_2.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_10_2.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(1,25))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...25))
+ │ @ BlockNode (location: (1,2)-(1,25))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...23))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...22))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (16...18))
+ │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (17...18) = "c"
- │ │ │ │ └── operator_loc: (16...17) = "*"
+ │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (20...22))
+ │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
│ │ │ ├── name: :d
- │ │ │ ├── name_loc: (21...22) = "d"
- │ │ │ └── operator_loc: (20...21) = "&"
+ │ │ │ ├── name_loc: (1,21)-(1,22) = "d"
+ │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (22...23) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (24...25) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,24)-(1,25) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_11_1.txt b/test/yarp/snapshots/seattlerb/iter_args_11_1.txt
index 50561dfb57..b9c326d2ed 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_11_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_11_1.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ CallNode (location: (0...24))
+ └── @ CallNode (location: (1,0)-(1,24))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...24))
+ │ @ BlockNode (location: (1,2)-(1,24))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...22))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,22))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...21))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,21))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (16...18))
+ │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (17...18) = "c"
- │ │ │ │ └── operator_loc: (16...17) = "*"
+ │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (20...21))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (21...22) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,21)-(1,22) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (23...24) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,23)-(1,24) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_11_2.txt b/test/yarp/snapshots/seattlerb/iter_args_11_2.txt
index cee42eb8b1..c1dd485bf3 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_11_2.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_11_2.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ CallNode (location: (0...28))
+ └── @ CallNode (location: (1,0)-(1,28))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...28))
+ │ @ BlockNode (location: (1,2)-(1,28))
│ ├── locals: [:a, :b, :c, :d, :e]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...26))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,26))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...25))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,25))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...14))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (12...14))
+ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (16...18))
+ │ │ │ │ @ RestParameterNode (location: (1,16)-(1,18))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (17...18) = "c"
- │ │ │ │ └── operator_loc: (16...17) = "*"
+ │ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ │ └── operator_loc: (1,16)-(1,17) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (20...21))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,20)-(1,21))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (23...25))
+ │ │ │ @ BlockParameterNode (location: (1,23)-(1,25))
│ │ │ ├── name: :e
- │ │ │ ├── name_loc: (24...25) = "e"
- │ │ │ └── operator_loc: (23...24) = "&"
+ │ │ │ ├── name_loc: (1,24)-(1,25) = "e"
+ │ │ │ └── operator_loc: (1,23)-(1,24) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (25...26) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,25)-(1,26) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (27...28) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,27)-(1,28) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_2__19.txt b/test/yarp/snapshots/seattlerb/iter_args_2__19.txt
index c6430d5cc7..f6e064ef0f 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_2__19.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_2__19.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...14))
+ │ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...12))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...11))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...11))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ └── name: :b
- │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ └── closing_loc: (10...11) = ")"
+ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
@@ -33,10 +33,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (11...12) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (13...14) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,13)-(1,14) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_3.txt b/test/yarp/snapshots/seattlerb/iter_args_3.txt
index a627db87a0..3b96f8c4ee 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_3.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_3.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...20))
+ │ @ BlockNode (location: (1,2)-(1,20))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...18))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,18))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...17))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,17))
│ │ │ ├── requireds: (length: 3)
- │ │ │ │ ├── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (8...14))
+ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (1,8)-(1,14))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ │ │ └── name: :c
- │ │ │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ │ │ └── closing_loc: (13...14) = ")"
- │ │ │ │ └── @ RequiredParameterNode (location: (16...17))
+ │ │ │ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ │ │ │ └── closing_loc: (1,13)-(1,14) = ")"
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,16)-(1,17))
│ │ │ │ └── name: :d
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -37,10 +37,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (17...18) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,17)-(1,18) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (19...20) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,19)-(1,20) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_4.txt b/test/yarp/snapshots/seattlerb/iter_args_4.txt
index 7f59353809..a39ce2c671 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_4.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_4.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...16))
+ │ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...14))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...13))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (8...10))
+ │ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (9...10) = "b"
- │ │ │ │ └── operator_loc: (8...9) = "*"
+ │ │ │ │ ├── name_loc: (1,9)-(1,10) = "b"
+ │ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (15...16) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,15)-(1,16) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_5.txt b/test/yarp/snapshots/seattlerb/iter_args_5.txt
index 1f5e0cc078..b97c1d86ec 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_5.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_5.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...13))
+ │ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...11))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...10))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -26,15 +26,15 @@
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (8...10))
+ │ │ │ @ BlockParameterNode (location: (1,8)-(1,10))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (9...10) = "b"
- │ │ │ └── operator_loc: (8...9) = "&"
+ │ │ │ ├── name_loc: (1,9)-(1,10) = "b"
+ │ │ │ └── operator_loc: (1,8)-(1,9) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_6.txt b/test/yarp/snapshots/seattlerb/iter_args_6.txt
index cfc67bce47..d0f81d32c6 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_6.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_6.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (5...6))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (8...12))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,12))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (8...9) = "b"
- │ │ │ │ ├── operator_loc: (9...10) = "="
+ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
+ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (10...12))
+ │ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (14...15))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_7_1.txt b/test/yarp/snapshots/seattlerb/iter_args_7_1.txt
index af982b9aac..57dc9b5e92 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_7_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_7_1.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...18))
+ │ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...16))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (13...15))
+ │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (14...15) = "b"
- │ │ │ │ └── operator_loc: (13...14) = "*"
+ │ │ │ │ ├── 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: (4...5) = "|"
- │ │ └── closing_loc: (15...16) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (17...18) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,17)-(1,18) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_7_2.txt b/test/yarp/snapshots/seattlerb/iter_args_7_2.txt
index 6c48dc92db..7f29777661 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_7_2.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_7_2.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(1,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...22))
+ │ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...20))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...19))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,19))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (13...15))
+ │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (14...15) = "b"
- │ │ │ │ └── operator_loc: (13...14) = "*"
+ │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (17...19))
+ │ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (18...19) = "c"
- │ │ │ └── operator_loc: (17...18) = "&"
+ │ │ │ ├── name_loc: (1,18)-(1,19) = "c"
+ │ │ │ └── operator_loc: (1,17)-(1,18) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (19...20) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,19)-(1,20) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (21...22) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,21)-(1,22) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_8_1.txt b/test/yarp/snapshots/seattlerb/iter_args_8_1.txt
index beea3f085d..d31b1d6c8c 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_8_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_8_1.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ CallNode (location: (0...21))
+ └── @ CallNode (location: (1,0)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...21))
+ │ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...19))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...18))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (13...15))
+ │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (14...15) = "b"
- │ │ │ │ └── operator_loc: (13...14) = "*"
+ │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (17...18))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (18...19) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (20...21) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,20)-(1,21) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_8_2.txt b/test/yarp/snapshots/seattlerb/iter_args_8_2.txt
index 561cf42b49..2c2719ffc7 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_8_2.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_8_2.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(1,25))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...25))
+ │ @ BlockNode (location: (1,2)-(1,25))
│ ├── locals: [:a, :b, :c, :d]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...23))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...22))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (13...15))
+ │ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (14...15) = "b"
- │ │ │ │ └── operator_loc: (13...14) = "*"
+ │ │ │ │ ├── name_loc: (1,14)-(1,15) = "b"
+ │ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (17...18))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (20...22))
+ │ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
│ │ │ ├── name: :d
- │ │ │ ├── name_loc: (21...22) = "d"
- │ │ │ └── operator_loc: (20...21) = "&"
+ │ │ │ ├── name_loc: (1,21)-(1,22) = "d"
+ │ │ │ └── operator_loc: (1,20)-(1,21) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (22...23) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (24...25) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,24)-(1,25) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_9_1.txt b/test/yarp/snapshots/seattlerb/iter_args_9_1.txt
index e598a29ee2..a04c4da21f 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_9_1.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_9_1.txt
@@ -1,43 +1,43 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:a, :b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :b
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_args_9_2.txt b/test/yarp/snapshots/seattlerb/iter_args_9_2.txt
index 6a11730133..b9475368a7 100644
--- a/test/yarp/snapshots/seattlerb/iter_args_9_2.txt
+++ b/test/yarp/snapshots/seattlerb/iter_args_9_2.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ CallNode (location: (0...21))
+ └── @ CallNode (location: (1,0)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...21))
+ │ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:a, :b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...19))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...18))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (5...11))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (9...11))
+ │ │ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (13...14))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :b
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
- │ │ │ @ BlockParameterNode (location: (16...18))
+ │ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (17...18) = "c"
- │ │ │ └── operator_loc: (16...17) = "&"
+ │ │ │ ├── name_loc: (1,17)-(1,18) = "c"
+ │ │ │ └── operator_loc: (1,16)-(1,17) = "&"
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (18...19) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (20...21) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,20)-(1,21) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/iter_kwarg.txt b/test/yarp/snapshots/seattlerb/iter_kwarg.txt
index d1903f4cd3..127ce75018 100644
--- a/test/yarp/snapshots/seattlerb/iter_kwarg.txt
+++ b/test/yarp/snapshots/seattlerb/iter_kwarg.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...12))
+ │ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:b]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...10))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...9))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,9))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (5...9))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,5)-(1,9))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...7) = "b:"
+ │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ └── flags: decimal
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (9...10) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (11...12) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,11)-(1,12) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/iter_kwarg_kwsplat.txt b/test/yarp/snapshots/seattlerb/iter_kwarg_kwsplat.txt
index 22b29fe585..ac4ef0a80d 100644
--- a/test/yarp/snapshots/seattlerb/iter_kwarg_kwsplat.txt
+++ b/test/yarp/snapshots/seattlerb/iter_kwarg_kwsplat.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...17))
+ │ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...15))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (5...14))
+ │ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (5...9))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,5)-(1,9))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (5...7) = "b:"
+ │ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ └── flags: decimal
│ │ │ ├── keyword_rest:
- │ │ │ │ @ KeywordRestParameterNode (location: (11...14))
+ │ │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14))
│ │ │ │ ├── name: :c
- │ │ │ │ ├── name_loc: (13...14) = "c"
- │ │ │ │ └── operator_loc: (11...13) = "**"
+ │ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
+ │ │ │ │ └── operator_loc: (1,11)-(1,13) = "**"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "|"
- │ │ └── closing_loc: (14...15) = "|"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (2...3) = "{"
- │ └── closing_loc: (16...17) = "}"
+ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ └── closing_loc: (1,16)-(1,17) = "}"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/label_vs_string.txt b/test/yarp/snapshots/seattlerb/label_vs_string.txt
index 9a09f7d362..bba7782fe6 100644
--- a/test/yarp/snapshots/seattlerb/label_vs_string.txt
+++ b/test/yarp/snapshots/seattlerb/label_vs_string.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(2,1))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "_buf"
+ │ ├── message_loc: (1,0)-(1,4) = "_buf"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ ├── flags: variable_call
│ └── name: "_buf"
├── call_operator_loc: ∅
- ├── message_loc: (5...7) = "<<"
+ ├── message_loc: (1,5)-(1,7) = "<<"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (8...12))
+ │ @ ArgumentsNode (location: (1,8)-(2,1))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (8...12))
+ │ └── @ StringNode (location: (1,8)-(2,1))
│ ├── flags: ∅
- │ ├── opening_loc: (8...9) = "'"
- │ ├── content_loc: (9...11) = ":\n"
- │ ├── closing_loc: (11...12) = "'"
+ │ ├── opening_loc: (1,8)-(1,9) = "'"
+ │ ├── content_loc: (1,9)-(1,0) = ":\n"
+ │ ├── closing_loc: (2,0)-(2,1) = "'"
│ └── unescaped: ":\n"
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/lambda_do_vs_brace.txt b/test/yarp/snapshots/seattlerb/lambda_do_vs_brace.txt
index d9ccd1629e..5762a91ccd 100644
--- a/test/yarp/snapshots/seattlerb/lambda_do_vs_brace.txt
+++ b/test/yarp/snapshots/seattlerb/lambda_do_vs_brace.txt
@@ -1,89 +1,89 @@
-@ ProgramNode (location: (0...46))
+@ ProgramNode (location: (1,0)-(7,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...46))
+ @ StatementsNode (location: (1,0)-(7,9))
└── body: (length: 4)
- ├── @ CallNode (location: (0...11))
+ ├── @ CallNode (location: (1,0)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "f"
+ │ ├── message_loc: (1,0)-(1,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...11))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (2...11))
+ │ │ └── @ LambdaNode (location: (1,2)-(1,11))
│ │ ├── locals: []
- │ │ ├── operator_loc: (2...4) = "->"
- │ │ ├── opening_loc: (5...7) = "do"
- │ │ ├── closing_loc: (8...11) = "end"
+ │ │ ├── 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: ∅
│ └── name: "f"
- ├── @ CallNode (location: (13...20))
+ ├── @ CallNode (location: (3,0)-(3,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...14) = "f"
+ │ ├── message_loc: (3,0)-(3,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (15...20))
+ │ │ @ ArgumentsNode (location: (3,2)-(3,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (15...20))
+ │ │ └── @ LambdaNode (location: (3,2)-(3,7))
│ │ ├── locals: []
- │ │ ├── operator_loc: (15...17) = "->"
- │ │ ├── opening_loc: (18...19) = "{"
- │ │ ├── closing_loc: (19...20) = "}"
+ │ │ ├── operator_loc: (3,2)-(3,4) = "->"
+ │ │ ├── opening_loc: (3,5)-(3,6) = "{"
+ │ │ ├── closing_loc: (3,6)-(3,7) = "}"
│ │ ├── parameters: ∅
│ │ └── body: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (22...35))
+ ├── @ CallNode (location: (5,0)-(5,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (22...23) = "f"
+ │ ├── message_loc: (5,0)-(5,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (24...35))
+ │ │ @ ArgumentsNode (location: (5,2)-(5,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (24...35))
+ │ │ └── @ LambdaNode (location: (5,2)-(5,13))
│ │ ├── locals: []
- │ │ ├── operator_loc: (24...26) = "->"
- │ │ ├── opening_loc: (29...31) = "do"
- │ │ ├── closing_loc: (32...35) = "end"
+ │ │ ├── operator_loc: (5,2)-(5,4) = "->"
+ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
+ │ │ ├── closing_loc: (5,10)-(5,13) = "end"
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (26...28))
+ │ │ │ @ BlockParametersNode (location: (5,4)-(5,6))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (26...27) = "("
- │ │ │ └── closing_loc: (27...28) = ")"
+ │ │ │ ├── opening_loc: (5,4)-(5,5) = "("
+ │ │ │ └── closing_loc: (5,5)-(5,6) = ")"
│ │ └── body: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- └── @ CallNode (location: (37...46))
+ └── @ CallNode (location: (7,0)-(7,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (37...38) = "f"
+ ├── message_loc: (7,0)-(7,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (39...46))
+ │ @ ArgumentsNode (location: (7,2)-(7,9))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (39...46))
+ │ └── @ LambdaNode (location: (7,2)-(7,9))
│ ├── locals: []
- │ ├── operator_loc: (39...41) = "->"
- │ ├── opening_loc: (44...45) = "{"
- │ ├── closing_loc: (45...46) = "}"
+ │ ├── operator_loc: (7,2)-(7,4) = "->"
+ │ ├── opening_loc: (7,7)-(7,8) = "{"
+ │ ├── closing_loc: (7,8)-(7,9) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (41...43))
+ │ │ @ BlockParametersNode (location: (7,4)-(7,6))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (41...42) = "("
- │ │ └── closing_loc: (42...43) = ")"
+ │ │ ├── opening_loc: (7,4)-(7,5) = "("
+ │ │ └── closing_loc: (7,5)-(7,6) = ")"
│ └── body: ∅
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/lasgn_arg_rescue_arg.txt b/test/yarp/snapshots/seattlerb/lasgn_arg_rescue_arg.txt
index 7a52d83a37..b1c234bff2 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_arg_rescue_arg.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_arg_rescue_arg.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...14))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,14))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ RescueModifierNode (location: (4...14))
+ │ @ RescueModifierNode (location: (1,4)-(1,14))
│ ├── expression:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ ├── keyword_loc: (6...12) = "rescue"
+ │ ├── keyword_loc: (1,6)-(1,12) = "rescue"
│ └── rescue_expression:
- │ @ IntegerNode (location: (13...14))
+ │ @ IntegerNode (location: (1,13)-(1,14))
│ └── flags: decimal
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt b/test/yarp/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
index a6d3fc793a..36ee85c9d9 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...17))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,17))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ RescueModifierNode (location: (4...17))
+ │ @ RescueModifierNode (location: (1,4)-(1,17))
│ ├── expression:
- │ │ @ CallNode (location: (4...8))
+ │ │ @ CallNode (location: (1,4)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
- │ │ ├── opening_loc: (5...6) = "("
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (6...7))
+ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (6...7))
+ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (7...8) = ")"
+ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ ├── keyword_loc: (9...15) = "rescue"
+ │ ├── keyword_loc: (1,9)-(1,15) = "rescue"
│ └── rescue_expression:
- │ @ IntegerNode (location: (16...17))
+ │ @ IntegerNode (location: (1,16)-(1,17))
│ └── flags: decimal
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt b/test/yarp/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
index 3dfe67d978..a1e22f1852 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...16))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,16))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ CallNode (location: (4...16))
+ │ @ CallNode (location: (1,4)-(1,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "b"
+ │ ├── message_loc: (1,4)-(1,5) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...16))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (6...16))
+ │ │ └── @ RescueModifierNode (location: (1,6)-(1,16))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (6...7))
+ │ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── keyword_loc: (8...14) = "rescue"
+ │ │ ├── keyword_loc: (1,8)-(1,14) = "rescue"
│ │ └── rescue_expression:
- │ │ @ IntegerNode (location: (15...16))
+ │ │ @ IntegerNode (location: (1,15)-(1,16))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_command.txt b/test/yarp/snapshots/seattlerb/lasgn_command.txt
index ac5916758d..30bc60f5bc 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_command.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_command.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...9))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,9))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ CallNode (location: (4...9))
+ │ @ CallNode (location: (1,4)-(1,9))
│ ├── receiver:
- │ │ @ CallNode (location: (4...5))
+ │ │ @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── call_operator_loc: (5...6) = "."
- │ ├── message_loc: (6...7) = "c"
+ │ ├── call_operator_loc: (1,5)-(1,6) = "."
+ │ ├── message_loc: (1,6)-(1,7) = "c"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...9))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (8...9))
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "c"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_env.txt b/test/yarp/snapshots/seattlerb/lasgn_env.txt
index 696d16396b..33539a6918 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_env.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_env.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...6))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,6))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ IntegerNode (location: (4...6))
+ │ @ IntegerNode (location: (1,4)-(1,6))
│ └── flags: decimal
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt b/test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt
index e69e184a61..e37a331d51 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ InstanceVariableWriteNode (location: (0...7))
+ └── @ InstanceVariableWriteNode (location: (1,0)-(1,7))
├── name: :@a
- ├── name_loc: (0...2) = "@a"
+ ├── name_loc: (1,0)-(1,2) = "@a"
├── value:
- │ @ IntegerNode (location: (5...7))
+ │ @ IntegerNode (location: (1,5)-(1,7))
│ └── flags: decimal
- └── operator_loc: (3...4) = "="
+ └── operator_loc: (1,3)-(1,4) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_lasgn_command_call.txt b/test/yarp/snapshots/seattlerb/lasgn_lasgn_command_call.txt
index 733ca661bc..0056decf76 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_lasgn_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_lasgn_command_call.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...11))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,11))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ LocalVariableWriteNode (location: (4...11))
+ │ @ LocalVariableWriteNode (location: (1,4)-(1,11))
│ ├── name: :b
│ ├── depth: 0
- │ ├── name_loc: (4...5) = "b"
+ │ ├── name_loc: (1,4)-(1,5) = "b"
│ ├── value:
- │ │ @ CallNode (location: (8...11))
+ │ │ @ CallNode (location: (1,8)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...9) = "c"
+ │ │ ├── message_loc: (1,8)-(1,9) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (10...11))
+ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (10...11))
+ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "c"
- │ └── operator_loc: (6...7) = "="
- └── operator_loc: (2...3) = "="
+ │ └── operator_loc: (1,6)-(1,7) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/lasgn_middle_splat.txt b/test/yarp/snapshots/seattlerb/lasgn_middle_splat.txt
index 9f7c7c21f4..c21348bc75 100644
--- a/test/yarp/snapshots/seattlerb/lasgn_middle_splat.txt
+++ b/test/yarp/snapshots/seattlerb/lasgn_middle_splat.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...12))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,12))
├── name: :a
├── depth: 0
- ├── name_loc: (0...1) = "a"
+ ├── name_loc: (1,0)-(1,1) = "a"
├── value:
- │ @ ArrayNode (location: (4...12))
+ │ @ ArrayNode (location: (1,4)-(1,12))
│ ├── elements: (length: 3)
- │ │ ├── @ CallNode (location: (4...5))
+ │ │ ├── @ CallNode (location: (1,4)-(1,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...5) = "b"
+ │ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── @ SplatNode (location: (7...9))
- │ │ │ ├── operator_loc: (7...8) = "*"
+ │ │ ├── @ SplatNode (location: (1,7)-(1,9))
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (8...9))
+ │ │ │ @ CallNode (location: (1,8)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (8...9) = "c"
+ │ │ │ ├── message_loc: (1,8)-(1,9) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ └── @ CallNode (location: (11...12))
+ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "d"
+ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -45,4 +45,4 @@
│ │ └── name: "d"
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt b/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
index 3a58345e95..969d318d39 100644
--- a/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
+++ b/test/yarp/snapshots/seattlerb/magic_encoding_comment.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (18...90))
+@ ProgramNode (location: (2,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (18...90))
+ @ StatementsNode (location: (2,0)-(3,3))
└── body: (length: 1)
- └── @ ClassNode (location: (18...90))
+ └── @ ClassNode (location: (2,0)-(3,3))
├── locals: []
- ├── class_keyword_loc: (18...23) = "class"
+ ├── class_keyword_loc: (2,0)-(2,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (24...52))
+ │ @ ConstantReadNode (location: (2,6)-(2,34))
│ └── name: :ExampleUTF8ClassNameVarietà
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body:
- │ @ StatementsNode (location: (54...86))
+ │ @ StatementsNode (location: (2,36)-(2,68))
│ └── body: (length: 1)
- │ └── @ DefNode (location: (54...86))
+ │ └── @ DefNode (location: (2,36)-(2,68))
│ ├── name: :è
- │ ├── name_loc: (63...65) = "è"
+ │ ├── name_loc: (2,45)-(2,47) = "è"
│ ├── receiver:
- │ │ @ SelfNode (location: (58...62))
+ │ │ @ SelfNode (location: (2,40)-(2,44))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (67...81))
+ │ │ @ StatementsNode (location: (2,49)-(2,63))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (67...81))
+ │ │ └── @ LocalVariableWriteNode (location: (2,49)-(2,63))
│ │ ├── name: :così
│ │ ├── depth: 0
- │ │ ├── name_loc: (67...72) = "così"
+ │ │ ├── name_loc: (2,49)-(2,54) = "così"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (75...81))
- │ │ │ ├── opening_loc: (75...76) = ":"
- │ │ │ ├── value_loc: (76...81) = "però"
+ │ │ │ @ SymbolNode (location: (2,57)-(2,63))
+ │ │ │ ├── opening_loc: (2,57)-(2,58) = ":"
+ │ │ │ ├── value_loc: (2,58)-(2,63) = "però"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "però"
- │ │ └── operator_loc: (73...74) = "="
+ │ │ └── operator_loc: (2,55)-(2,56) = "="
│ ├── locals: [:così]
- │ ├── def_keyword_loc: (54...57) = "def"
- │ ├── operator_loc: (62...63) = "."
+ │ ├── def_keyword_loc: (2,36)-(2,39) = "def"
+ │ ├── operator_loc: (2,44)-(2,45) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (83...86) = "end"
- ├── end_keyword_loc: (87...90) = "end"
+ │ └── end_keyword_loc: (2,65)-(2,68) = "end"
+ ├── end_keyword_loc: (3,0)-(3,3) = "end"
└── name: :ExampleUTF8ClassNameVarietà
diff --git a/test/yarp/snapshots/seattlerb/masgn_anon_splat_arg.txt b/test/yarp/snapshots/seattlerb/masgn_anon_splat_arg.txt
index bc20fb39f8..3b0ff6e998 100644
--- a/test/yarp/snapshots/seattlerb/masgn_anon_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_anon_splat_arg.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...8))
+ └── @ MultiWriteNode (location: (1,0)-(1,8))
├── targets: (length: 2)
- │ ├── @ MultiTargetNode (location: (0...1))
+ │ ├── @ MultiTargetNode (location: (1,0)-(1,1))
│ │ ├── targets: (length: 1)
- │ │ │ └── @ SplatNode (location: (0...1))
- │ │ │ ├── operator_loc: (0...1) = "*"
+ │ │ │ └── @ SplatNode (location: (1,0)-(1,1))
+ │ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ │ └── expression: ∅
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
- │ └── @ LocalVariableTargetNode (location: (3...4))
+ │ └── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ ├── name: :a
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (5...6) = "="
+ ├── operator_loc: (1,5)-(1,6) = "="
└── value:
- @ CallNode (location: (7...8))
+ @ CallNode (location: (1,7)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...8) = "b"
+ ├── message_loc: (1,7)-(1,8) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_arg_colon_arg.txt b/test/yarp/snapshots/seattlerb/masgn_arg_colon_arg.txt
index ebc379b5c1..c09d215438 100644
--- a/test/yarp/snapshots/seattlerb/masgn_arg_colon_arg.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_arg_colon_arg.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...11))
+ └── @ MultiWriteNode (location: (1,0)-(1,11))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ CallNode (location: (3...7))
+ │ └── @ CallNode (location: (1,3)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (3...4))
+ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...4) = "b"
+ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── call_operator_loc: (4...6) = "::"
- │ ├── message_loc: (6...7) = "c"
+ │ ├── call_operator_loc: (1,4)-(1,6) = "::"
+ │ ├── message_loc: (1,6)-(1,7) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -30,12 +30,12 @@
│ └── name: "c="
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (8...9) = "="
+ ├── operator_loc: (1,8)-(1,9) = "="
└── value:
- @ CallNode (location: (10...11))
+ @ CallNode (location: (1,10)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (10...11) = "d"
+ ├── message_loc: (1,10)-(1,11) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_arg_ident.txt b/test/yarp/snapshots/seattlerb/masgn_arg_ident.txt
index 7b9fc99bbe..670540bb20 100644
--- a/test/yarp/snapshots/seattlerb/masgn_arg_ident.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_arg_ident.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...10))
+ └── @ MultiWriteNode (location: (1,0)-(1,10))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ CallNode (location: (3...6))
+ │ └── @ CallNode (location: (1,3)-(1,6))
│ ├── receiver:
- │ │ @ CallNode (location: (3...4))
+ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...4) = "b"
+ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── call_operator_loc: (4...5) = "."
- │ ├── message_loc: (5...6) = "C"
+ │ ├── call_operator_loc: (1,4)-(1,5) = "."
+ │ ├── message_loc: (1,5)-(1,6) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -30,12 +30,12 @@
│ └── name: "C="
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (7...8) = "="
+ ├── operator_loc: (1,7)-(1,8) = "="
└── value:
- @ CallNode (location: (9...10))
+ @ CallNode (location: (1,9)-(1,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (9...10) = "d"
+ ├── message_loc: (1,9)-(1,10) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_arg_splat_arg.txt b/test/yarp/snapshots/seattlerb/masgn_arg_splat_arg.txt
index 427e49281f..c0849099cd 100644
--- a/test/yarp/snapshots/seattlerb/masgn_arg_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_arg_splat_arg.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a, :b, :c]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...12))
+ └── @ MultiWriteNode (location: (1,0)-(1,12))
├── targets: (length: 3)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ SplatNode (location: (3...5))
- │ │ ├── operator_loc: (3...4) = "*"
+ │ ├── @ SplatNode (location: (1,3)-(1,5))
+ │ │ ├── operator_loc: (1,3)-(1,4) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (4...5))
+ │ │ @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :b
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (7...8))
+ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8))
│ ├── name: :c
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (9...10) = "="
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ CallNode (location: (11...12))
+ @ CallNode (location: (1,11)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (11...12) = "d"
+ ├── message_loc: (1,11)-(1,12) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_colon2.txt b/test/yarp/snapshots/seattlerb/masgn_colon2.txt
index 8351cd9490..01cf2320fc 100644
--- a/test/yarp/snapshots/seattlerb/masgn_colon2.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_colon2.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...14))
+ └── @ MultiWriteNode (location: (1,0)-(1,14))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ ConstantPathTargetNode (location: (3...7))
+ │ └── @ ConstantPathTargetNode (location: (1,3)-(1,7))
│ ├── parent:
- │ │ @ CallNode (location: (3...4))
+ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...4) = "b"
+ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -21,18 +21,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── child:
- │ │ @ ConstantReadNode (location: (6...7))
+ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ │ └── name: :C
- │ └── delimiter_loc: (4...6) = "::"
+ │ └── delimiter_loc: (1,4)-(1,6) = "::"
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (8...9) = "="
+ ├── operator_loc: (1,8)-(1,9) = "="
└── value:
- @ ArrayNode (location: (10...14))
+ @ ArrayNode (location: (1,10)-(1,14))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (10...11))
+ │ ├── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (13...14))
+ │ └── @ IntegerNode (location: (1,13)-(1,14))
│ └── flags: decimal
├── opening_loc: ∅
└── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_colon3.txt b/test/yarp/snapshots/seattlerb/masgn_colon3.txt
index 32c89d71f1..1c97b15d23 100644
--- a/test/yarp/snapshots/seattlerb/masgn_colon3.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_colon3.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...15))
+ └── @ MultiWriteNode (location: (1,0)-(1,15))
├── targets: (length: 2)
- │ ├── @ ConstantPathTargetNode (location: (0...3))
+ │ ├── @ ConstantPathTargetNode (location: (1,0)-(1,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (2...3))
+ │ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (0...2) = "::"
- │ └── @ ConstantPathTargetNode (location: (5...8))
+ │ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ │ └── @ ConstantPathTargetNode (location: (1,5)-(1,8))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (7...8))
+ │ │ @ ConstantReadNode (location: (1,7)-(1,8))
│ │ └── name: :B
- │ └── delimiter_loc: (5...7) = "::"
+ │ └── delimiter_loc: (1,5)-(1,7) = "::"
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (9...10) = "="
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ ArrayNode (location: (11...15))
+ @ ArrayNode (location: (1,11)-(1,15))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (11...12))
+ │ ├── @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (14...15))
+ │ └── @ IntegerNode (location: (1,14)-(1,15))
│ └── flags: decimal
├── opening_loc: ∅
└── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_command_call.txt b/test/yarp/snapshots/seattlerb/masgn_command_call.txt
index 0f48f413ab..becf774546 100644
--- a/test/yarp/snapshots/seattlerb/masgn_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_command_call.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...10))
+ └── @ MultiWriteNode (location: (1,0)-(1,10))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ SplatNode (location: (1...2))
- │ ├── operator_loc: (1...2) = ","
+ │ └── @ SplatNode (location: (1,1)-(1,2))
+ │ ├── operator_loc: (1,1)-(1,2) = ","
│ └── expression: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (3...4) = "="
+ ├── operator_loc: (1,3)-(1,4) = "="
└── value:
- @ CallNode (location: (5...10))
+ @ CallNode (location: (1,5)-(1,10))
├── receiver:
- │ @ CallNode (location: (5...6))
+ │ @ CallNode (location: (1,5)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...6) = "b"
+ │ ├── message_loc: (1,5)-(1,6) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── call_operator_loc: (6...7) = "."
- ├── message_loc: (7...8) = "c"
+ ├── call_operator_loc: (1,6)-(1,7) = "."
+ ├── message_loc: (1,7)-(1,8) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (9...10))
+ │ @ ArgumentsNode (location: (1,9)-(1,10))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (9...10))
+ │ └── @ IntegerNode (location: (1,9)-(1,10))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_double_paren.txt b/test/yarp/snapshots/seattlerb/masgn_double_paren.txt
index d2f8b358c9..3dfb782975 100644
--- a/test/yarp/snapshots/seattlerb/masgn_double_paren.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_double_paren.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...9))
+ └── @ MultiWriteNode (location: (1,0)-(1,9))
├── targets: (length: 1)
- │ └── @ MultiTargetNode (location: (1...6))
+ │ └── @ MultiTargetNode (location: (1,1)-(1,6))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (2...3))
+ │ │ ├── @ LocalVariableTargetNode (location: (1,2)-(1,3))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (4...5))
+ │ │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── lparen_loc: (1...2) = "("
- │ └── rparen_loc: (5...6) = ")"
- ├── lparen_loc: (0...1) = "("
- ├── rparen_loc: (6...7) = ")"
- ├── operator_loc: (7...8) = "="
+ │ ├── lparen_loc: (1,1)-(1,2) = "("
+ │ └── rparen_loc: (1,5)-(1,6) = ")"
+ ├── lparen_loc: (1,0)-(1,1) = "("
+ ├── rparen_loc: (1,6)-(1,7) = ")"
+ ├── operator_loc: (1,7)-(1,8) = "="
└── value:
- @ CallNode (location: (8...9))
+ @ CallNode (location: (1,8)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "c"
+ ├── message_loc: (1,8)-(1,9) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt b/test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt
index 6cf5f8fb71..49b717143b 100644
--- a/test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...12))
+ └── @ MultiWriteNode (location: (1,0)-(1,12))
├── targets: (length: 1)
- │ └── @ SplatNode (location: (0...2))
- │ ├── operator_loc: (0...1) = "*"
+ │ └── @ SplatNode (location: (1,0)-(1,2))
+ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ └── expression:
- │ @ LocalVariableTargetNode (location: (1...2))
+ │ @ LocalVariableTargetNode (location: (1,1)-(1,2))
│ ├── name: :a
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (3...4) = "="
+ ├── operator_loc: (1,3)-(1,4) = "="
└── value:
- @ ArrayNode (location: (5...12))
+ @ ArrayNode (location: (1,5)-(1,12))
├── elements: (length: 3)
- │ ├── @ IntegerNode (location: (5...6))
+ │ ├── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (8...9))
+ │ ├── @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (11...12))
+ │ └── @ IntegerNode (location: (1,11)-(1,12))
│ └── flags: decimal
├── opening_loc: ∅
└── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_paren.txt b/test/yarp/snapshots/seattlerb/masgn_paren.txt
index eb32d4a15f..4463b6ac19 100644
--- a/test/yarp/snapshots/seattlerb/masgn_paren.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_paren.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...12))
+ └── @ MultiWriteNode (location: (1,0)-(1,12))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (1...2))
+ │ ├── @ LocalVariableTargetNode (location: (1,1)-(1,2))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (4...5))
+ │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ ├── name: :b
│ └── depth: 0
- ├── lparen_loc: (0...1) = "("
- ├── rparen_loc: (5...6) = ")"
- ├── operator_loc: (7...8) = "="
+ ├── lparen_loc: (1,0)-(1,1) = "("
+ ├── rparen_loc: (1,5)-(1,6) = ")"
+ ├── operator_loc: (1,7)-(1,8) = "="
└── value:
- @ CallNode (location: (9...12))
+ @ CallNode (location: (1,9)-(1,12))
├── receiver:
- │ @ CallNode (location: (9...10))
+ │ @ CallNode (location: (1,9)-(1,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...10) = "c"
+ │ ├── message_loc: (1,9)-(1,10) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "c"
- ├── call_operator_loc: (10...11) = "."
- ├── message_loc: (11...12) = "d"
+ ├── call_operator_loc: (1,10)-(1,11) = "."
+ ├── message_loc: (1,11)-(1,12) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_splat_arg.txt b/test/yarp/snapshots/seattlerb/masgn_splat_arg.txt
index 7f2adb500a..1c29fe51a5 100644
--- a/test/yarp/snapshots/seattlerb/masgn_splat_arg.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_splat_arg.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...9))
+ └── @ MultiWriteNode (location: (1,0)-(1,9))
├── targets: (length: 2)
- │ ├── @ MultiTargetNode (location: (0...2))
+ │ ├── @ MultiTargetNode (location: (1,0)-(1,2))
│ │ ├── targets: (length: 1)
- │ │ │ └── @ SplatNode (location: (0...2))
- │ │ │ ├── operator_loc: (0...1) = "*"
+ │ │ │ └── @ SplatNode (location: (1,0)-(1,2))
+ │ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1...2))
+ │ │ │ @ LocalVariableTargetNode (location: (1,1)-(1,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
- │ └── @ LocalVariableTargetNode (location: (4...5))
+ │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ ├── name: :b
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (6...7) = "="
+ ├── operator_loc: (1,6)-(1,7) = "="
└── value:
- @ CallNode (location: (8...9))
+ @ CallNode (location: (1,8)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "c"
+ ├── message_loc: (1,8)-(1,9) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_splat_arg_arg.txt b/test/yarp/snapshots/seattlerb/masgn_splat_arg_arg.txt
index 8af251513d..5274cda1b8 100644
--- a/test/yarp/snapshots/seattlerb/masgn_splat_arg_arg.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_splat_arg_arg.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:a, :b, :c]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...12))
+ └── @ MultiWriteNode (location: (1,0)-(1,12))
├── targets: (length: 3)
- │ ├── @ MultiTargetNode (location: (0...2))
+ │ ├── @ MultiTargetNode (location: (1,0)-(1,2))
│ │ ├── targets: (length: 1)
- │ │ │ └── @ SplatNode (location: (0...2))
- │ │ │ ├── operator_loc: (0...1) = "*"
+ │ │ │ └── @ SplatNode (location: (1,0)-(1,2))
+ │ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1...2))
+ │ │ │ @ LocalVariableTargetNode (location: (1,1)-(1,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
- │ ├── @ LocalVariableTargetNode (location: (4...5))
+ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :b
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (7...8))
+ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8))
│ ├── name: :c
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (9...10) = "="
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ CallNode (location: (11...12))
+ @ CallNode (location: (1,11)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (11...12) = "d"
+ ├── message_loc: (1,11)-(1,12) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/masgn_star.txt b/test/yarp/snapshots/seattlerb/masgn_star.txt
index a49b87b469..f86b63fbd0 100644
--- a/test/yarp/snapshots/seattlerb/masgn_star.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_star.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...5))
+ └── @ MultiWriteNode (location: (1,0)-(1,5))
├── targets: (length: 1)
- │ └── @ SplatNode (location: (0...1))
- │ ├── operator_loc: (0...1) = "*"
+ │ └── @ SplatNode (location: (1,0)-(1,1))
+ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ └── expression: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (2...3) = "="
+ ├── operator_loc: (1,2)-(1,3) = "="
└── value:
- @ IntegerNode (location: (4...5))
+ @ IntegerNode (location: (1,4)-(1,5))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/masgn_var_star_var.txt b/test/yarp/snapshots/seattlerb/masgn_var_star_var.txt
index 06753a1e43..7923a9e6f8 100644
--- a/test/yarp/snapshots/seattlerb/masgn_var_star_var.txt
+++ b/test/yarp/snapshots/seattlerb/masgn_var_star_var.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...11))
+ └── @ MultiWriteNode (location: (1,0)-(1,11))
├── targets: (length: 3)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ SplatNode (location: (3...4))
- │ │ ├── operator_loc: (3...4) = "*"
+ │ ├── @ SplatNode (location: (1,3)-(1,4))
+ │ │ ├── operator_loc: (1,3)-(1,4) = "*"
│ │ └── expression: ∅
- │ └── @ LocalVariableTargetNode (location: (6...7))
+ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ ├── name: :b
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (8...9) = "="
+ ├── operator_loc: (1,8)-(1,9) = "="
└── value:
- @ CallNode (location: (10...11))
+ @ CallNode (location: (1,10)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (10...11) = "c"
+ ├── message_loc: (1,10)-(1,11) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/messy_op_asgn_lineno.txt b/test/yarp/snapshots/seattlerb/messy_op_asgn_lineno.txt
index 876a120718..44ea4fec29 100644
--- a/test/yarp/snapshots/seattlerb/messy_op_asgn_lineno.txt
+++ b/test/yarp/snapshots/seattlerb/messy_op_asgn_lineno.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...15))
+ │ @ ArgumentsNode (location: (1,2)-(1,15))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (2...15))
+ │ └── @ ParenthesesNode (location: (1,2)-(1,15))
│ ├── body:
- │ │ @ StatementsNode (location: (3...14))
+ │ │ @ StatementsNode (location: (1,3)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ ConstantPathOperatorWriteNode (location: (3...14))
+ │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14))
│ │ ├── target:
- │ │ │ @ ConstantPathNode (location: (3...7))
+ │ │ │ @ ConstantPathNode (location: (1,3)-(1,7))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (3...4))
+ │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
│ │ │ │ └── name: :B
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (6...7))
+ │ │ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ │ │ │ └── name: :C
- │ │ │ └── delimiter_loc: (4...6) = "::"
- │ │ ├── operator_loc: (8...10) = "*="
+ │ │ │ └── delimiter_loc: (1,4)-(1,6) = "::"
+ │ │ ├── operator_loc: (1,8)-(1,10) = "*="
│ │ ├── value:
- │ │ │ @ CallNode (location: (11...14))
+ │ │ │ @ CallNode (location: (1,11)-(1,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...12) = "d"
+ │ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (13...14))
+ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (13...14))
+ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (13...14) = "e"
+ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -50,8 +50,8 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "d"
│ │ └── operator: :*
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (14...15) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,14)-(1,15) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/method_call_assoc_trailing_comma.txt b/test/yarp/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
index 05d0e2a153..356831f513 100644
--- a/test/yarp/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/method_call_assoc_trailing_comma.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "f"
- ├── opening_loc: (3...4) = "("
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "f"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (4...8))
+ │ └── @ KeywordHashNode (location: (1,4)-(1,8))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (4...8))
+ │ └── @ AssocNode (location: (1,4)-(1,8))
│ ├── key:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (7...8))
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
- │ └── operator_loc: (5...7) = "=>"
- ├── closing_loc: (9...10) = ")"
+ │ └── operator_loc: (1,5)-(1,7) = "=>"
+ ├── closing_loc: (1,9)-(1,10) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/method_call_trailing_comma.txt b/test/yarp/snapshots/seattlerb/method_call_trailing_comma.txt
index f34e041064..a7ac3c7b6f 100644
--- a/test/yarp/snapshots/seattlerb/method_call_trailing_comma.txt
+++ b/test/yarp/snapshots/seattlerb/method_call_trailing_comma.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "f"
- ├── opening_loc: (3...4) = "("
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "f"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...5))
+ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
- ├── closing_loc: (6...7) = ")"
+ ├── closing_loc: (1,6)-(1,7) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/mlhs_back_anonsplat.txt b/test/yarp/snapshots/seattlerb/mlhs_back_anonsplat.txt
index d01cb219ec..6166ec0705 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_back_anonsplat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_back_anonsplat.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: [:a, :b, :c]
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...14))
+ └── @ MultiWriteNode (location: (1,0)-(1,14))
├── targets: (length: 4)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (3...4))
+ │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (6...7))
+ │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ ├── name: :c
│ │ └── depth: 0
- │ └── @ SplatNode (location: (9...10))
- │ ├── operator_loc: (9...10) = "*"
+ │ └── @ SplatNode (location: (1,9)-(1,10))
+ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ └── expression: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (11...12) = "="
+ ├── operator_loc: (1,11)-(1,12) = "="
└── value:
- @ CallNode (location: (13...14))
+ @ CallNode (location: (1,13)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (13...14) = "f"
+ ├── message_loc: (1,13)-(1,14) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_back_splat.txt b/test/yarp/snapshots/seattlerb/mlhs_back_splat.txt
index 12b8584ab2..eb41fc6b87 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_back_splat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_back_splat.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: [:a, :b, :c, :s]
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...15))
+ └── @ MultiWriteNode (location: (1,0)-(1,15))
├── targets: (length: 4)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (3...4))
+ │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (6...7))
+ │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ ├── name: :c
│ │ └── depth: 0
- │ └── @ SplatNode (location: (9...11))
- │ ├── operator_loc: (9...10) = "*"
+ │ └── @ SplatNode (location: (1,9)-(1,11))
+ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ └── expression:
- │ @ LocalVariableTargetNode (location: (10...11))
+ │ @ LocalVariableTargetNode (location: (1,10)-(1,11))
│ ├── name: :s
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (12...13) = "="
+ ├── operator_loc: (1,12)-(1,13) = "="
└── value:
- @ CallNode (location: (14...15))
+ @ CallNode (location: (1,14)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "f"
+ ├── message_loc: (1,14)-(1,15) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_front_anonsplat.txt b/test/yarp/snapshots/seattlerb/mlhs_front_anonsplat.txt
index e35ab03ae2..76b312d65b 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_front_anonsplat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_front_anonsplat.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: [:x, :y, :z]
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...14))
+ └── @ MultiWriteNode (location: (1,0)-(1,14))
├── targets: (length: 4)
- │ ├── @ MultiTargetNode (location: (0...1))
+ │ ├── @ MultiTargetNode (location: (1,0)-(1,1))
│ │ ├── targets: (length: 1)
- │ │ │ └── @ SplatNode (location: (0...1))
- │ │ │ ├── operator_loc: (0...1) = "*"
+ │ │ │ └── @ SplatNode (location: (1,0)-(1,1))
+ │ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ │ └── expression: ∅
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
- │ ├── @ LocalVariableTargetNode (location: (3...4))
+ │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (6...7))
+ │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ ├── name: :y
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (9...10))
+ │ └── @ LocalVariableTargetNode (location: (1,9)-(1,10))
│ ├── name: :z
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (11...12) = "="
+ ├── operator_loc: (1,11)-(1,12) = "="
└── value:
- @ CallNode (location: (13...14))
+ @ CallNode (location: (1,13)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (13...14) = "f"
+ ├── message_loc: (1,13)-(1,14) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_front_splat.txt b/test/yarp/snapshots/seattlerb/mlhs_front_splat.txt
index 4607908867..0fff95f49e 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_front_splat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_front_splat.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: [:s, :x, :y, :z]
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...15))
+ └── @ MultiWriteNode (location: (1,0)-(1,15))
├── targets: (length: 4)
- │ ├── @ MultiTargetNode (location: (0...2))
+ │ ├── @ MultiTargetNode (location: (1,0)-(1,2))
│ │ ├── targets: (length: 1)
- │ │ │ └── @ SplatNode (location: (0...2))
- │ │ │ ├── operator_loc: (0...1) = "*"
+ │ │ │ └── @ SplatNode (location: (1,0)-(1,2))
+ │ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (1...2))
+ │ │ │ @ LocalVariableTargetNode (location: (1,1)-(1,2))
│ │ │ ├── name: :s
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ └── rparen_loc: ∅
- │ ├── @ LocalVariableTargetNode (location: (4...5))
+ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (7...8))
+ │ ├── @ LocalVariableTargetNode (location: (1,7)-(1,8))
│ │ ├── name: :y
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (10...11))
+ │ └── @ LocalVariableTargetNode (location: (1,10)-(1,11))
│ ├── name: :z
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (12...13) = "="
+ ├── operator_loc: (1,12)-(1,13) = "="
└── value:
- @ CallNode (location: (14...15))
+ @ CallNode (location: (1,14)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "f"
+ ├── message_loc: (1,14)-(1,15) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_keyword.txt b/test/yarp/snapshots/seattlerb/mlhs_keyword.txt
index 4bc78baf8a..05cf9c9ce9 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_keyword.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_keyword.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...4) = "!="
- ├── opening_loc: (4...5) = "("
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,4) = "!="
+ ├── opening_loc: (1,4)-(1,5) = "("
├── arguments:
- │ @ ArgumentsNode (location: (5...15))
+ │ @ ArgumentsNode (location: (1,5)-(1,15))
│ └── arguments: (length: 2)
- │ ├── @ TrueNode (location: (5...9))
- │ └── @ TrueNode (location: (11...15))
- ├── closing_loc: (15...16) = ")"
+ │ ├── @ TrueNode (location: (1,5)-(1,9))
+ │ └── @ TrueNode (location: (1,11)-(1,15))
+ ├── closing_loc: (1,15)-(1,16) = ")"
├── block: ∅
├── flags: ∅
└── name: "!="
diff --git a/test/yarp/snapshots/seattlerb/mlhs_mid_anonsplat.txt b/test/yarp/snapshots/seattlerb/mlhs_mid_anonsplat.txt
index df73618210..b2448bc839 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_mid_anonsplat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_mid_anonsplat.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: [:a, :b, :c, :x, :y, :z]
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...23))
+ └── @ MultiWriteNode (location: (1,0)-(1,23))
├── targets: (length: 7)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (3...4))
+ │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (6...7))
+ │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ ├── name: :c
│ │ └── depth: 0
- │ ├── @ SplatNode (location: (9...10))
- │ │ ├── operator_loc: (9...10) = "*"
+ │ ├── @ SplatNode (location: (1,9)-(1,10))
+ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ └── expression: ∅
- │ ├── @ LocalVariableTargetNode (location: (12...13))
+ │ ├── @ LocalVariableTargetNode (location: (1,12)-(1,13))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (15...16))
+ │ ├── @ LocalVariableTargetNode (location: (1,15)-(1,16))
│ │ ├── name: :y
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (18...19))
+ │ └── @ LocalVariableTargetNode (location: (1,18)-(1,19))
│ ├── name: :z
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (20...21) = "="
+ ├── operator_loc: (1,20)-(1,21) = "="
└── value:
- @ CallNode (location: (22...23))
+ @ CallNode (location: (1,22)-(1,23))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (22...23) = "f"
+ ├── message_loc: (1,22)-(1,23) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt b/test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt
index 2278b7b9bd..704f9f1c80 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: [:a, :b, :c, :s, :x, :y, :z]
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...24))
+ └── @ MultiWriteNode (location: (1,0)-(1,24))
├── targets: (length: 7)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (3...4))
+ │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (6...7))
+ │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ ├── name: :c
│ │ └── depth: 0
- │ ├── @ SplatNode (location: (9...11))
- │ │ ├── operator_loc: (9...10) = "*"
+ │ ├── @ SplatNode (location: (1,9)-(1,11))
+ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (10...11))
+ │ │ @ LocalVariableTargetNode (location: (1,10)-(1,11))
│ │ ├── name: :s
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (13...14))
+ │ ├── @ LocalVariableTargetNode (location: (1,13)-(1,14))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (16...17))
+ │ ├── @ LocalVariableTargetNode (location: (1,16)-(1,17))
│ │ ├── name: :y
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (19...20))
+ │ └── @ LocalVariableTargetNode (location: (1,19)-(1,20))
│ ├── name: :z
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (21...22) = "="
+ ├── operator_loc: (1,21)-(1,22) = "="
└── value:
- @ CallNode (location: (23...24))
+ @ CallNode (location: (1,23)-(1,24))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (23...24) = "f"
+ ├── message_loc: (1,23)-(1,24) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/mlhs_rescue.txt b/test/yarp/snapshots/seattlerb/mlhs_rescue.txt
index 9b8fbde654..d6e2f7a75f 100644
--- a/test/yarp/snapshots/seattlerb/mlhs_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/mlhs_rescue.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...18))
+ └── @ MultiWriteNode (location: (1,0)-(1,18))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (3...4))
+ │ └── @ LocalVariableTargetNode (location: (1,3)-(1,4))
│ ├── name: :b
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (5...6) = "="
+ ├── operator_loc: (1,5)-(1,6) = "="
└── value:
- @ RescueModifierNode (location: (7...18))
+ @ RescueModifierNode (location: (1,7)-(1,18))
├── expression:
- │ @ CallNode (location: (7...8))
+ │ @ CallNode (location: (1,7)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...8) = "f"
+ │ ├── message_loc: (1,7)-(1,8) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "f"
- ├── keyword_loc: (9...15) = "rescue"
+ ├── keyword_loc: (1,9)-(1,15) = "rescue"
└── rescue_expression:
- @ IntegerNode (location: (16...18))
+ @ IntegerNode (location: (1,16)-(1,18))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/module_comments.txt b/test/yarp/snapshots/seattlerb/module_comments.txt
index 0590738ee6..2785187a29 100644
--- a/test/yarp/snapshots/seattlerb/module_comments.txt
+++ b/test/yarp/snapshots/seattlerb/module_comments.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (24...77))
+@ ProgramNode (location: (5,0)-(10,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (24...77))
+ @ StatementsNode (location: (5,0)-(10,3))
└── body: (length: 1)
- └── @ ModuleNode (location: (24...77))
+ └── @ ModuleNode (location: (5,0)-(10,3))
├── locals: []
- ├── module_keyword_loc: (24...30) = "module"
+ ├── module_keyword_loc: (5,0)-(5,6) = "module"
├── constant_path:
- │ @ ConstantReadNode (location: (31...32))
+ │ @ ConstantReadNode (location: (5,7)-(5,8))
│ └── name: :X
├── body:
- │ @ StatementsNode (location: (46...73))
+ │ @ StatementsNode (location: (7,2)-(9,5))
│ └── body: (length: 1)
- │ └── @ DefNode (location: (46...73))
+ │ └── @ DefNode (location: (7,2)-(9,5))
│ ├── name: :blah
- │ ├── name_loc: (50...54) = "blah"
+ │ ├── name_loc: (7,6)-(7,10) = "blah"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (46...49) = "def"
+ │ ├── def_keyword_loc: (7,2)-(7,5) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (70...73) = "end"
- ├── end_keyword_loc: (74...77) = "end"
+ │ └── end_keyword_loc: (9,2)-(9,5) = "end"
+ ├── end_keyword_loc: (10,0)-(10,3) = "end"
└── name: :X
diff --git a/test/yarp/snapshots/seattlerb/multiline_hash_declaration.txt b/test/yarp/snapshots/seattlerb/multiline_hash_declaration.txt
index a6f9f628ab..5c7453727b 100644
--- a/test/yarp/snapshots/seattlerb/multiline_hash_declaration.txt
+++ b/test/yarp/snapshots/seattlerb/multiline_hash_declaration.txt
@@ -1,86 +1,86 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(8,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(8,12))
└── body: (length: 3)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(3,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "f"
- │ ├── opening_loc: (1...2) = "("
+ │ ├── message_loc: (1,0)-(1,1) = "f"
+ │ ├── opening_loc: (1,1)-(1,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...13))
+ │ │ @ ArgumentsNode (location: (1,2)-(3,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (2...13))
+ │ │ └── @ KeywordHashNode (location: (1,2)-(3,1))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (2...13))
+ │ │ └── @ AssocNode (location: (1,2)-(3,1))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (2...8))
+ │ │ │ @ SymbolNode (location: (1,2)-(1,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (2...7) = "state"
- │ │ │ ├── closing_loc: (7...8) = ":"
+ │ │ │ ├── value_loc: (1,2)-(1,7) = "state"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
│ │ │ └── unescaped: "state"
│ │ ├── value:
- │ │ │ @ HashNode (location: (10...13))
- │ │ │ ├── opening_loc: (10...11) = "{"
+ │ │ │ @ HashNode (location: (2,1)-(3,1))
+ │ │ │ ├── opening_loc: (2,1)-(2,2) = "{"
│ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (12...13) = "}"
+ │ │ │ └── closing_loc: (3,0)-(3,1) = "}"
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (13...14) = ")"
+ │ ├── closing_loc: (3,1)-(3,2) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (16...29))
+ ├── @ CallNode (location: (5,0)-(6,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...17) = "f"
- │ ├── opening_loc: (17...18) = "("
+ │ ├── message_loc: (5,0)-(5,1) = "f"
+ │ ├── opening_loc: (5,1)-(5,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (18...28))
+ │ │ @ ArgumentsNode (location: (5,2)-(6,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (18...28))
+ │ │ └── @ KeywordHashNode (location: (5,2)-(6,1))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (18...28))
+ │ │ └── @ AssocNode (location: (5,2)-(6,1))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (18...24))
+ │ │ │ @ SymbolNode (location: (5,2)-(5,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (18...23) = "state"
- │ │ │ ├── closing_loc: (23...24) = ":"
+ │ │ │ ├── value_loc: (5,2)-(5,7) = "state"
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ":"
│ │ │ └── unescaped: "state"
│ │ ├── value:
- │ │ │ @ HashNode (location: (25...28))
- │ │ │ ├── opening_loc: (25...26) = "{"
+ │ │ │ @ HashNode (location: (5,9)-(6,1))
+ │ │ │ ├── opening_loc: (5,9)-(5,10) = "{"
│ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (27...28) = "}"
+ │ │ │ └── closing_loc: (6,0)-(6,1) = "}"
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (28...29) = ")"
+ │ ├── closing_loc: (6,1)-(6,2) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- └── @ CallNode (location: (31...43))
+ └── @ CallNode (location: (8,0)-(8,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (31...32) = "f"
- ├── opening_loc: (32...33) = "("
+ ├── message_loc: (8,0)-(8,1) = "f"
+ ├── opening_loc: (8,1)-(8,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (33...42))
+ │ @ ArgumentsNode (location: (8,2)-(8,11))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (33...42))
+ │ └── @ KeywordHashNode (location: (8,2)-(8,11))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (33...42))
+ │ └── @ AssocNode (location: (8,2)-(8,11))
│ ├── key:
- │ │ @ SymbolNode (location: (33...39))
+ │ │ @ SymbolNode (location: (8,2)-(8,8))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (33...38) = "state"
- │ │ ├── closing_loc: (38...39) = ":"
+ │ │ ├── value_loc: (8,2)-(8,7) = "state"
+ │ │ ├── closing_loc: (8,7)-(8,8) = ":"
│ │ └── unescaped: "state"
│ ├── value:
- │ │ @ HashNode (location: (40...42))
- │ │ ├── opening_loc: (40...41) = "{"
+ │ │ @ HashNode (location: (8,9)-(8,11))
+ │ │ ├── opening_loc: (8,9)-(8,10) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (41...42) = "}"
+ │ │ └── closing_loc: (8,10)-(8,11) = "}"
│ └── operator_loc: ∅
- ├── closing_loc: (42...43) = ")"
+ ├── closing_loc: (8,11)-(8,12) = ")"
├── block: ∅
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt b/test/yarp/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
index 5ed558188c..84da92544b 100644
--- a/test/yarp/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
+++ b/test/yarp/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...9))
+ ├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (4...5))
+ │ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (4...5) = "a"
+ │ │ │ ├── value_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ SymbolNode (location: (6...7))
+ │ │ └── @ SymbolNode (location: (3,0)-(3,1))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (6...7) = "b"
+ │ │ ├── value_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (0...3) = "%i("
- │ └── closing_loc: (8...9) = ")"
- └── @ IntegerNode (location: (10...11))
+ │ ├── opening_loc: (1,0)-(1,3) = "%i("
+ │ └── closing_loc: (4,0)-(4,1) = ")"
+ └── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt b/test/yarp/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
index a27a573cd7..8e34057120 100644
--- a/test/yarp/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
+++ b/test/yarp/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...9))
+ ├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (4...5))
+ │ │ ├── @ StringNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (4...5) = "a"
+ │ │ │ ├── content_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ StringNode (location: (6...7))
+ │ │ └── @ StringNode (location: (3,0)-(3,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (6...7) = "b"
+ │ │ ├── content_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ ├── opening_loc: (0...3) = "%w("
- │ └── closing_loc: (8...9) = ")"
- └── @ IntegerNode (location: (10...11))
+ │ ├── opening_loc: (1,0)-(1,3) = "%w("
+ │ └── closing_loc: (4,0)-(4,1) = ")"
+ └── @ IntegerNode (location: (5,0)-(5,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_command_call.txt
index b713bb4034..d986eccdb9 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_command_call.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ LocalVariableOrWriteNode (location: (0...11))
- ├── name_loc: (0...1) = "a"
- ├── operator_loc: (2...5) = "||="
+ └── @ LocalVariableOrWriteNode (location: (1,0)-(1,11))
+ ├── name_loc: (1,0)-(1,1) = "a"
+ ├── operator_loc: (1,2)-(1,5) = "||="
├── value:
- │ @ CallNode (location: (6...11))
+ │ @ CallNode (location: (1,6)-(1,11))
│ ├── receiver:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (1,6)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "b"
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── call_operator_loc: (7...8) = "."
- │ ├── message_loc: (8...9) = "c"
+ │ ├── call_operator_loc: (1,7)-(1,8) = "."
+ │ ├── message_loc: (1,8)-(1,9) = "c"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (10...11))
+ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (10...11))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
index fee8c22313..62853c9475 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallOrWriteNode (location: (0...11))
+ └── @ CallOrWriteNode (location: (1,0)-(1,11))
├── receiver:
- │ @ ConstantReadNode (location: (0...1))
+ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "B"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "B"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── flags: ∅
├── read_name: "B"
├── write_name: "B="
- ├── operator_loc: (4...7) = "||="
+ ├── operator_loc: (1,4)-(1,7) = "||="
└── value:
- @ CallNode (location: (8...11))
+ @ CallNode (location: (1,8)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "c"
+ ├── message_loc: (1,8)-(1,9) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (10...11))
+ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (10...11))
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_index_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_index_command_call.txt
index 4ab83152ee..33f094b849 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_index_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_index_command_call.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallOrWriteNode (location: (0...16))
+ └── @ CallOrWriteNode (location: (1,0)-(1,16))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,33 +16,33 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (1...5) = "[:b]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,5) = "[:b]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (2...4))
+ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ └── arguments: (length: 1)
- │ └── @ SymbolNode (location: (2...4))
- │ ├── opening_loc: (2...3) = ":"
- │ ├── value_loc: (3...4) = "b"
+ │ └── @ 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: (4...5) = "]"
+ ├── closing_loc: (1,4)-(1,5) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
- ├── operator_loc: (6...9) = "||="
+ ├── operator_loc: (1,6)-(1,9) = "||="
└── value:
- @ CallNode (location: (10...16))
+ @ CallNode (location: (1,10)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (10...11) = "c"
+ ├── message_loc: (1,10)-(1,11) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (12...16))
+ │ @ ArgumentsNode (location: (1,12)-(1,16))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (12...13))
+ │ ├── @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (15...16))
+ │ └── @ IntegerNode (location: (1,15)-(1,16))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
index ee01e6f965..81568afe4b 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ ConstantPathOperatorWriteNode (location: (0...11))
+ └── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,11))
├── target:
- │ @ ConstantPathNode (location: (0...4))
+ │ @ ConstantPathNode (location: (1,0)-(1,4))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (0...1))
+ │ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ │ └── name: :A
│ ├── child:
- │ │ @ ConstantReadNode (location: (3...4))
+ │ │ @ ConstantReadNode (location: (1,3)-(1,4))
│ │ └── name: :B
- │ └── delimiter_loc: (1...3) = "::"
- ├── operator_loc: (5...7) = "*="
+ │ └── delimiter_loc: (1,1)-(1,3) = "::"
+ ├── operator_loc: (1,5)-(1,7) = "*="
├── value:
- │ @ CallNode (location: (8...11))
+ │ @ CallNode (location: (1,8)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...9) = "c"
+ │ ├── message_loc: (1,8)-(1,9) = "c"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (10...11))
+ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (10...11))
+ │ │ └── @ CallNode (location: (1,10)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...11) = "d"
+ │ │ ├── message_loc: (1,10)-(1,11) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
index 046828d62f..f03c9057a3 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...9))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,9))
├── receiver:
- │ @ ConstantReadNode (location: (0...1))
+ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
- ├── call_operator_loc: (1...3) = "::"
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -16,7 +16,7 @@
├── read_name: "b"
├── write_name: "b="
├── operator: :+
- ├── operator_loc: (5...7) = "+="
+ ├── operator_loc: (1,5)-(1,7) = "+="
└── value:
- @ IntegerNode (location: (8...9))
+ @ IntegerNode (location: (1,8)-(1,9))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
index d8c017e0d9..addc999eec 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...11))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,11))
├── receiver:
- │ @ ConstantReadNode (location: (0...1))
+ │ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
- ├── call_operator_loc: (1...3) = "::"
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "::"
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -16,20 +16,20 @@
├── read_name: "b"
├── write_name: "b="
├── operator: :*
- ├── operator_loc: (5...7) = "*="
+ ├── operator_loc: (1,5)-(1,7) = "*="
└── value:
- @ CallNode (location: (8...11))
+ @ CallNode (location: (1,8)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "c"
+ ├── message_loc: (1,8)-(1,9) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (10...11))
+ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (10...11))
+ │ └── @ CallNode (location: (1,10)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...11) = "d"
+ │ ├── message_loc: (1,10)-(1,11) = "d"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt b/test/yarp/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
index a8bf8e699d..e6c9d1efd4 100644
--- a/test/yarp/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
+++ b/test/yarp/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallOrWriteNode (location: (0...11))
+ └── @ CallOrWriteNode (location: (1,0)-(1,11))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "b"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── flags: ∅
├── read_name: "b"
├── write_name: "b="
- ├── operator_loc: (4...7) = "||="
+ ├── operator_loc: (1,4)-(1,7) = "||="
└── value:
- @ CallNode (location: (8...11))
+ @ CallNode (location: (1,8)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "c"
+ ├── message_loc: (1,8)-(1,9) = "c"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (10...11))
+ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (10...11))
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_def_special_name.txt b/test/yarp/snapshots/seattlerb/parse_def_special_name.txt
index 948e802d26..dfbfe8a391 100644
--- a/test/yarp/snapshots/seattlerb/parse_def_special_name.txt
+++ b/test/yarp/snapshots/seattlerb/parse_def_special_name.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ DefNode (location: (0...13))
+ └── @ DefNode (location: (1,0)-(1,13))
├── name: :next
- ├── name_loc: (4...8) = "next"
+ ├── name_loc: (1,4)-(1,8) = "next"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (10...13) = "end"
+ └── end_keyword_loc: (1,10)-(1,13) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_if_not_canonical.txt b/test/yarp/snapshots/seattlerb/parse_if_not_canonical.txt
index 2ef8b1e98c..a8c1aede4a 100644
--- a/test/yarp/snapshots/seattlerb/parse_if_not_canonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_if_not_canonical.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ IfNode (location: (0...41))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(2,3))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...15))
+ │ @ CallNode (location: (1,3)-(1,15))
│ ├── receiver:
- │ │ @ CallNode (location: (7...15))
+ │ │ @ CallNode (location: (1,7)-(1,15))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (7...10))
+ │ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...10) = "var"
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (10...11) = "."
- │ │ ├── message_loc: (11...15) = "nil?"
+ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
+ │ │ ├── message_loc: (1,11)-(1,15) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -29,7 +29,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...6) = "not"
+ │ ├── message_loc: (1,3)-(1,6) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -37,25 +37,25 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (1,21)-(1,26))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (1,21)-(1,26))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (1,21)-(1,22) = "'"
+ │ ├── content_loc: (1,22)-(1,25) = "foo"
+ │ ├── closing_loc: (1,25)-(1,26) = "'"
│ └── unescaped: "foo"
├── consequent:
- │ @ ElseNode (location: (27...41))
- │ ├── else_keyword_loc: (27...31) = "else"
+ │ @ ElseNode (location: (1,27)-(2,3))
+ │ ├── else_keyword_loc: (1,27)-(1,31) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (32...37))
+ │ │ @ StatementsNode (location: (1,32)-(1,37))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (32...37))
+ │ │ └── @ StringNode (location: (1,32)-(1,37))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (32...33) = "'"
- │ │ ├── content_loc: (33...36) = "bar"
- │ │ ├── closing_loc: (36...37) = "'"
+ │ │ ├── opening_loc: (1,32)-(1,33) = "'"
+ │ │ ├── content_loc: (1,33)-(1,36) = "bar"
+ │ │ ├── closing_loc: (1,36)-(1,37) = "'"
│ │ └── unescaped: "bar"
- │ └── end_keyword_loc: (38...41) = "end"
- └── end_keyword_loc: (38...41) = "end"
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_if_not_noncanonical.txt b/test/yarp/snapshots/seattlerb/parse_if_not_noncanonical.txt
index 2ef8b1e98c..a8c1aede4a 100644
--- a/test/yarp/snapshots/seattlerb/parse_if_not_noncanonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_if_not_noncanonical.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ IfNode (location: (0...41))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(2,3))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...15))
+ │ @ CallNode (location: (1,3)-(1,15))
│ ├── receiver:
- │ │ @ CallNode (location: (7...15))
+ │ │ @ CallNode (location: (1,7)-(1,15))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (7...10))
+ │ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...10) = "var"
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (10...11) = "."
- │ │ ├── message_loc: (11...15) = "nil?"
+ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
+ │ │ ├── message_loc: (1,11)-(1,15) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -29,7 +29,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...6) = "not"
+ │ ├── message_loc: (1,3)-(1,6) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -37,25 +37,25 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (1,21)-(1,26))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (1,21)-(1,26))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (1,21)-(1,22) = "'"
+ │ ├── content_loc: (1,22)-(1,25) = "foo"
+ │ ├── closing_loc: (1,25)-(1,26) = "'"
│ └── unescaped: "foo"
├── consequent:
- │ @ ElseNode (location: (27...41))
- │ ├── else_keyword_loc: (27...31) = "else"
+ │ @ ElseNode (location: (1,27)-(2,3))
+ │ ├── else_keyword_loc: (1,27)-(1,31) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (32...37))
+ │ │ @ StatementsNode (location: (1,32)-(1,37))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (32...37))
+ │ │ └── @ StringNode (location: (1,32)-(1,37))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (32...33) = "'"
- │ │ ├── content_loc: (33...36) = "bar"
- │ │ ├── closing_loc: (36...37) = "'"
+ │ │ ├── opening_loc: (1,32)-(1,33) = "'"
+ │ │ ├── content_loc: (1,33)-(1,36) = "bar"
+ │ │ ├── closing_loc: (1,36)-(1,37) = "'"
│ │ └── unescaped: "bar"
- │ └── end_keyword_loc: (38...41) = "end"
- └── end_keyword_loc: (38...41) = "end"
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_block.txt b/test/yarp/snapshots/seattlerb/parse_line_block.txt
index e9c385ce30..f75ed80127 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_block.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_block.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (0...6))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,6))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (0...1) = "a"
+ │ ├── name_loc: (1,0)-(1,1) = "a"
│ ├── value:
- │ │ @ IntegerNode (location: (4...6))
+ │ │ @ IntegerNode (location: (1,4)-(1,6))
│ │ └── flags: decimal
- │ └── operator_loc: (2...3) = "="
- └── @ CallNode (location: (7...10))
+ │ └── operator_loc: (1,2)-(1,3) = "="
+ └── @ CallNode (location: (2,0)-(2,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...8) = "p"
+ ├── message_loc: (2,0)-(2,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (9...10))
+ │ @ ArgumentsNode (location: (2,2)-(2,3))
│ └── arguments: (length: 1)
- │ └── @ LocalVariableReadNode (location: (9...10))
+ │ └── @ LocalVariableReadNode (location: (2,2)-(2,3))
│ ├── name: :a
│ └── depth: 0
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment.txt b/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment.txt
index 664275d982..0cae7d514b 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 3)
- ├── @ CallNode (location: (0...1))
+ ├── @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ CallNode (location: (2...3))
+ ├── @ CallNode (location: (2,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (2...3) = "b"
+ │ ├── message_loc: (2,0)-(2,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- └── @ CallNode (location: (14...15))
+ └── @ CallNode (location: (3,0)-(3,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "c"
+ ├── message_loc: (3,0)-(3,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt b/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
index 651706d788..5bb55d0f6a 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (3...36))
+@ ProgramNode (location: (4,0)-(7,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (3...36))
+ @ StatementsNode (location: (4,0)-(7,1))
└── body: (length: 3)
- ├── @ CallNode (location: (3...4))
+ ├── @ CallNode (location: (4,0)-(4,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...4) = "a"
+ │ ├── message_loc: (4,0)-(4,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ CallNode (location: (5...6))
+ ├── @ CallNode (location: (5,0)-(5,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...6) = "b"
+ │ ├── message_loc: (5,0)-(5,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- └── @ CallNode (location: (35...36))
+ └── @ CallNode (location: (7,0)-(7,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (35...36) = "c"
+ ├── message_loc: (7,0)-(7,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt b/test/yarp/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
index 878fad5a14..2aa469b88c 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(4,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(4,1))
└── body: (length: 3)
- ├── @ CallNode (location: (0...1))
+ ├── @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ CallNode (location: (2...3))
+ ├── @ CallNode (location: (2,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (2...3) = "b"
+ │ ├── message_loc: (2,0)-(2,1) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- └── @ CallNode (location: (32...33))
+ └── @ CallNode (location: (4,0)-(4,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (32...33) = "c"
+ ├── message_loc: (4,0)-(4,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt b/test/yarp/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
index 9aca595796..a70dee6c7c 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...4))
+ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ └── arguments: (length: 1)
- │ └── @ InstanceVariableReadNode (location: (2...4))
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
│ └── name: :@b
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt b/test/yarp/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
index 00347e2627..9aa87bb1b7 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(2,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...4))
+ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ └── arguments: (length: 1)
- │ └── @ InstanceVariableReadNode (location: (2...4))
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
│ └── name: :@b
- ├── closing_loc: (5...6) = ")"
+ ├── closing_loc: (2,0)-(2,1) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_call_no_args.txt b/test/yarp/snapshots/seattlerb/parse_line_call_no_args.txt
index 25f38fdea9..cc71f259bf 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_call_no_args.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_call_no_args.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...23))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (2...23))
+ │ @ BlockNode (location: (1,2)-(3,3))
│ ├── locals: [:x, :y]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (5...11))
+ │ │ @ BlockParametersNode (location: (1,5)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (6...10))
+ │ │ │ @ ParametersNode (location: (1,6)-(1,10))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (6...7))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :y
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -29,30 +29,30 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (5...6) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (14...19))
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (14...19))
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (14...15))
+ │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...17) = "+"
+ │ │ ├── message_loc: (2,4)-(2,5) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (18...19))
+ │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (18...19))
+ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
│ │ │ ├── name: :y
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ ├── opening_loc: (2...4) = "do"
- │ └── closing_loc: (20...23) = "end"
+ │ ├── opening_loc: (1,2)-(1,4) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_defn_complex.txt b/test/yarp/snapshots/seattlerb/parse_line_defn_complex.txt
index a8fea752d4..f2fa55fb2d 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_defn_complex.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_defn_complex.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(5,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(5,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...40))
+ └── @ DefNode (location: (1,0)-(5,3))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...7))
+ │ @ ParametersNode (location: (1,6)-(1,7))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :y
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -19,44 +19,44 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (11...35))
+ │ @ StatementsNode (location: (2,2)-(4,10))
│ └── body: (length: 3)
- │ ├── @ CallNode (location: (11...15))
+ │ ├── @ CallNode (location: (2,2)-(2,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "p"
- │ │ ├── opening_loc: (12...13) = "("
+ │ │ ├── message_loc: (2,2)-(2,3) = "p"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (13...14))
+ │ │ │ @ ArgumentsNode (location: (2,4)-(2,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (13...14))
+ │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5))
│ │ │ ├── name: :y
│ │ │ └── depth: 0
- │ │ ├── closing_loc: (14...15) = ")"
+ │ │ ├── closing_loc: (2,5)-(2,6) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "p"
- │ ├── @ LocalVariableOperatorWriteNode (location: (18...24))
- │ │ ├── name_loc: (18...19) = "y"
- │ │ ├── operator_loc: (20...22) = "*="
+ │ ├── @ LocalVariableOperatorWriteNode (location: (3,2)-(3,8))
+ │ │ ├── name_loc: (3,2)-(3,3) = "y"
+ │ │ ├── operator_loc: (3,4)-(3,6) = "*="
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (23...24))
+ │ │ │ @ IntegerNode (location: (3,7)-(3,8))
│ │ │ └── flags: decimal
│ │ ├── name: :y
│ │ ├── operator: :*
│ │ └── depth: 0
- │ └── @ ReturnNode (location: (27...35))
- │ ├── keyword_loc: (27...33) = "return"
+ │ └── @ ReturnNode (location: (4,2)-(4,10))
+ │ ├── keyword_loc: (4,2)-(4,8) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (34...35))
+ │ @ ArgumentsNode (location: (4,9)-(4,10))
│ └── arguments: (length: 1)
- │ └── @ LocalVariableReadNode (location: (34...35))
+ │ └── @ LocalVariableReadNode (location: (4,9)-(4,10))
│ ├── name: :y
│ └── depth: 0
├── locals: [:y]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (7...8) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,7)-(1,8) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (37...40) = "end"
+ └── end_keyword_loc: (5,0)-(5,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens.txt b/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens.txt
index fb057e68e0..74240322ac 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 2)
- ├── @ DefNode (location: (0...10))
+ ├── @ DefNode (location: (1,0)-(3,3))
│ ├── name: :f
- │ ├── name_loc: (4...5) = "f"
+ │ ├── name_loc: (1,4)-(1,5) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (7...10) = "end"
- └── @ DefNode (location: (12...21))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ DefNode (location: (5,0)-(6,3))
├── name: :f
- ├── name_loc: (16...17) = "f"
+ ├── name_loc: (5,4)-(5,5) = "f"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (12...15) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (18...21) = "end"
+ └── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens_args.txt b/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens_args.txt
index b9cc8ee62b..d19fa698f6 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens_args.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_defn_no_parens_args.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...11))
+ └── @ DefNode (location: (1,0)-(2,3))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...7))
+ │ @ ParametersNode (location: (1,6)-(1,7))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (6...7))
+ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ └── name: :a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -20,9 +20,9 @@
│ └── block: ∅
├── body: ∅
├── locals: [:a]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (8...11) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dot2.txt b/test/yarp/snapshots/seattlerb/parse_line_dot2.txt
index 50b956a765..3c2cd7a8ca 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dot2.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dot2.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...5))
+ ├── @ RangeNode (location: (1,0)-(2,1))
│ ├── left:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
- │ ├── operator_loc: (1...3) = ".."
+ │ ├── operator_loc: (1,1)-(1,3) = ".."
│ └── flags: ∅
- ├── @ RangeNode (location: (6...11))
+ ├── @ RangeNode (location: (3,0)-(4,1))
│ ├── left:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (3,0)-(3,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "a"
+ │ │ ├── message_loc: (3,0)-(3,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -25,22 +25,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── right:
- │ │ @ CallNode (location: (10...11))
+ │ │ @ CallNode (location: (4,0)-(4,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...11) = "b"
+ │ │ ├── message_loc: (4,0)-(4,1) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── operator_loc: (7...9) = ".."
+ │ ├── operator_loc: (3,1)-(3,3) = ".."
│ └── flags: ∅
- └── @ CallNode (location: (12...13))
+ └── @ CallNode (location: (5,0)-(5,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (12...13) = "c"
+ ├── message_loc: (5,0)-(5,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dot2_open.txt b/test/yarp/snapshots/seattlerb/parse_line_dot2_open.txt
index 6a292a4acd..03183f59b1 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dot2_open.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dot2_open.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...3))
+ ├── @ RangeNode (location: (1,0)-(1,3))
│ ├── left:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (1...3) = ".."
+ │ ├── operator_loc: (1,1)-(1,3) = ".."
│ └── flags: ∅
- ├── @ RangeNode (location: (6...9))
+ ├── @ RangeNode (location: (2,2)-(2,5))
│ ├── left:
- │ │ @ CallNode (location: (6...7))
+ │ │ @ CallNode (location: (2,2)-(2,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "a"
+ │ │ ├── message_loc: (2,2)-(2,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -23,12 +23,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── right: ∅
- │ ├── operator_loc: (7...9) = ".."
+ │ ├── operator_loc: (2,3)-(2,5) = ".."
│ └── flags: ∅
- └── @ CallNode (location: (12...13))
+ └── @ CallNode (location: (3,2)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (12...13) = "c"
+ ├── message_loc: (3,2)-(3,3) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dot3.txt b/test/yarp/snapshots/seattlerb/parse_line_dot3.txt
index a875d6c316..cb6d394d76 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dot3.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dot3.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(5,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(5,1))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...6))
+ ├── @ RangeNode (location: (1,0)-(2,1))
│ ├── left:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
- │ ├── operator_loc: (1...4) = "..."
+ │ ├── operator_loc: (1,1)-(1,4) = "..."
│ └── flags: exclude_end
- ├── @ RangeNode (location: (7...13))
+ ├── @ RangeNode (location: (3,0)-(4,1))
│ ├── left:
- │ │ @ CallNode (location: (7...8))
+ │ │ @ CallNode (location: (3,0)-(3,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...8) = "a"
+ │ │ ├── message_loc: (3,0)-(3,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -25,22 +25,22 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── right:
- │ │ @ CallNode (location: (12...13))
+ │ │ @ CallNode (location: (4,0)-(4,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...13) = "b"
+ │ │ ├── message_loc: (4,0)-(4,1) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── operator_loc: (8...11) = "..."
+ │ ├── operator_loc: (3,1)-(3,4) = "..."
│ └── flags: exclude_end
- └── @ CallNode (location: (14...15))
+ └── @ CallNode (location: (5,0)-(5,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "c"
+ ├── message_loc: (5,0)-(5,1) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dot3_open.txt b/test/yarp/snapshots/seattlerb/parse_line_dot3_open.txt
index ae4a5ad1a1..ec9b0f8f82 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dot3_open.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dot3_open.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
- ├── @ RangeNode (location: (0...4))
+ ├── @ RangeNode (location: (1,0)-(1,4))
│ ├── left:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── right: ∅
- │ ├── operator_loc: (1...4) = "..."
+ │ ├── operator_loc: (1,1)-(1,4) = "..."
│ └── flags: exclude_end
- ├── @ RangeNode (location: (7...11))
+ ├── @ RangeNode (location: (2,2)-(2,6))
│ ├── left:
- │ │ @ CallNode (location: (7...8))
+ │ │ @ CallNode (location: (2,2)-(2,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...8) = "a"
+ │ │ ├── message_loc: (2,2)-(2,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -23,12 +23,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── right: ∅
- │ ├── operator_loc: (8...11) = "..."
+ │ ├── operator_loc: (2,3)-(2,6) = "..."
│ └── flags: exclude_end
- └── @ CallNode (location: (14...15))
+ └── @ CallNode (location: (3,2)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...15) = "c"
+ ├── message_loc: (3,2)-(3,3) = "c"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt b/test/yarp/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt
index 553915f792..e135d31a25 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ InterpolatedStringNode (location: (0...9))
- │ ├── opening_loc: (0...1) = "\""
+ ├── @ InterpolatedStringNode (location: (1,0)-(2,2))
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (1...4))
+ │ │ ├── @ StringNode (location: (1,1)-(1,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (1...4) = "a\\n"
+ │ │ │ ├── content_loc: (1,1)-(1,4) = "a\\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ └── @ EmbeddedStatementsNode (location: (4...8))
- │ │ ├── opening_loc: (4...6) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,4)-(2,1))
+ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (7...8) = "}"
- │ └── closing_loc: (8...9) = "\""
- └── @ TrueNode (location: (10...14))
+ │ │ └── closing_loc: (2,0)-(2,1) = "}"
+ │ └── closing_loc: (2,1)-(2,2) = "\""
+ └── @ TrueNode (location: (3,0)-(3,4))
diff --git a/test/yarp/snapshots/seattlerb/parse_line_dstr_soft_newline.txt b/test/yarp/snapshots/seattlerb/parse_line_dstr_soft_newline.txt
index 8e50283182..6f881c15f9 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_dstr_soft_newline.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_dstr_soft_newline.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(4,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(4,4))
└── body: (length: 2)
- ├── @ InterpolatedStringNode (location: (0...8))
- │ ├── opening_loc: (0...1) = "\""
+ ├── @ InterpolatedStringNode (location: (1,0)-(3,2))
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (1...3))
+ │ │ ├── @ StringNode (location: (1,1)-(1,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (1...3) = "a\n"
+ │ │ │ ├── content_loc: (1,1)-(1,0) = "a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ └── @ EmbeddedStatementsNode (location: (3...7))
- │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (2,0)-(3,1))
+ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (6...7) = "}"
- │ └── closing_loc: (7...8) = "\""
- └── @ TrueNode (location: (9...13))
+ │ │ └── closing_loc: (3,0)-(3,1) = "}"
+ │ └── closing_loc: (3,1)-(3,2) = "\""
+ └── @ TrueNode (location: (4,0)-(4,4))
diff --git a/test/yarp/snapshots/seattlerb/parse_line_evstr_after_break.txt b/test/yarp/snapshots/seattlerb/parse_line_evstr_after_break.txt
index 31dda2d1eb..931556aabc 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_evstr_after_break.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_evstr_after_break.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(2,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(2,6))
└── body: (length: 1)
- └── @ StringConcatNode (location: (0...11))
+ └── @ StringConcatNode (location: (1,0)-(2,6))
├── left:
- │ @ StringNode (location: (0...3))
+ │ @ StringNode (location: (1,0)-(1,3))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...2) = "a"
- │ ├── closing_loc: (2...3) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(1,2) = "a"
+ │ ├── closing_loc: (1,2)-(1,3) = "\""
│ └── unescaped: "a"
└── right:
- @ InterpolatedStringNode (location: (5...11))
- ├── opening_loc: (5...6) = "\""
+ @ InterpolatedStringNode (location: (2,0)-(2,6))
+ ├── opening_loc: (2,0)-(2,1) = "\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (6...10))
- │ ├── opening_loc: (6...8) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (2,1)-(2,5))
+ │ ├── opening_loc: (2,1)-(2,3) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (8...9))
+ │ │ @ StatementsNode (location: (2,3)-(2,4))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (8...9))
+ │ │ └── @ CallNode (location: (2,3)-(2,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...9) = "b"
+ │ │ ├── message_loc: (2,3)-(2,4) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── closing_loc: (9...10) = "}"
- └── closing_loc: (10...11) = "\""
+ │ └── closing_loc: (2,4)-(2,5) = "}"
+ └── closing_loc: (2,5)-(2,6) = "\""
diff --git a/test/yarp/snapshots/seattlerb/parse_line_hash_lit.txt b/test/yarp/snapshots/seattlerb/parse_line_hash_lit.txt
index 6b0b4d4451..b29f36bf22 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_hash_lit.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_hash_lit.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 1)
- └── @ HashNode (location: (0...13))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(3,1))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (2...10))
+ │ └── @ AssocNode (location: (2,0)-(2,8))
│ ├── key:
- │ │ @ SymbolNode (location: (2...5))
- │ │ ├── opening_loc: (2...3) = ":"
- │ │ ├── value_loc: (3...5) = "s1"
+ │ │ @ SymbolNode (location: (2,0)-(2,3))
+ │ │ ├── opening_loc: (2,0)-(2,1) = ":"
+ │ │ ├── value_loc: (2,1)-(2,3) = "s1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "s1"
│ ├── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ └── flags: decimal
- │ └── operator_loc: (6...8) = "=>"
- └── closing_loc: (12...13) = "}"
+ │ └── operator_loc: (2,4)-(2,6) = "=>"
+ └── closing_loc: (3,0)-(3,1) = "}"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_heredoc.txt b/test/yarp/snapshots/seattlerb/parse_line_heredoc.txt
index f512820a23..47a4f82f16 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_heredoc.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_heredoc.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (6...88))
+@ ProgramNode (location: (1,6)-(4,17))
├── locals: [:string]
└── statements:
- @ StatementsNode (location: (6...88))
+ @ StatementsNode (location: (1,6)-(4,17))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (6...31))
+ ├── @ LocalVariableWriteNode (location: (1,6)-(1,31))
│ ├── name: :string
│ ├── depth: 0
- │ ├── name_loc: (6...12) = "string"
+ │ ├── name_loc: (1,6)-(1,12) = "string"
│ ├── value:
- │ │ @ CallNode (location: (15...31))
+ │ │ @ CallNode (location: (1,15)-(1,31))
│ │ ├── receiver:
- │ │ │ @ StringNode (location: (15...25))
+ │ │ │ @ StringNode (location: (1,15)-(1,25))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (15...25) = "<<-HEREDOC"
- │ │ │ ├── content_loc: (32...57) = " very long string\n"
- │ │ │ ├── closing_loc: (57...71) = " HEREDOC\n"
+ │ │ │ ├── opening_loc: (1,15)-(1,25) = "<<-HEREDOC"
+ │ │ │ ├── content_loc: (2,0)-(2,0) = " very long string\n"
+ │ │ │ ├── closing_loc: (3,0)-(3,0) = " HEREDOC\n"
│ │ │ └── unescaped: " very long string\n"
- │ │ ├── call_operator_loc: (25...26) = "."
- │ │ ├── message_loc: (26...31) = "strip"
+ │ │ ├── call_operator_loc: (1,25)-(1,26) = "."
+ │ │ ├── message_loc: (1,26)-(1,31) = "strip"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "strip"
- │ └── operator_loc: (13...14) = "="
- └── @ CallNode (location: (77...88))
+ │ └── operator_loc: (1,13)-(1,14) = "="
+ └── @ CallNode (location: (4,6)-(4,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (77...81) = "puts"
+ ├── message_loc: (4,6)-(4,10) = "puts"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (82...88))
+ │ @ ArgumentsNode (location: (4,11)-(4,17))
│ └── arguments: (length: 1)
- │ └── @ LocalVariableReadNode (location: (82...88))
+ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
│ ├── name: :string
│ └── depth: 0
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_heredoc_evstr.txt b/test/yarp/snapshots/seattlerb/parse_line_heredoc_evstr.txt
index aeb6fbbc8e..d32f4fa7a1 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_heredoc_evstr.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_heredoc_evstr.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...4))
- ├── opening_loc: (0...4) = "<<-A"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,4))
+ ├── opening_loc: (1,0)-(1,4) = "<<-A"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (5...7))
+ │ ├── @ StringNode (location: (2,0)-(2,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (5...7) = "a\n"
+ │ │ ├── content_loc: (2,0)-(2,0) = "a\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\n"
- │ ├── @ EmbeddedStatementsNode (location: (7...11))
- │ │ ├── opening_loc: (7...9) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (3,0)-(3,4))
+ │ │ ├── opening_loc: (3,0)-(3,2) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (9...10))
+ │ │ │ @ StatementsNode (location: (3,2)-(3,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (9...10))
+ │ │ │ └── @ CallNode (location: (3,2)-(3,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (9...10) = "b"
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── closing_loc: (10...11) = "}"
- │ └── @ StringNode (location: (11...12))
+ │ │ └── closing_loc: (3,3)-(3,4) = "}"
+ │ └── @ StringNode (location: (3,4)-(3,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (11...12) = "\n"
+ │ ├── content_loc: (3,4)-(3,0) = "\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n"
- └── closing_loc: (12...14) = "A\n"
+ └── closing_loc: (4,0)-(4,0) = "A\n"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt b/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
index 90a9408e49..230de59dd6 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...48))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...48))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 2)
- ├── @ StringNode (location: (0...8))
+ ├── @ StringNode (location: (1,0)-(1,8))
│ ├── flags: ∅
- │ ├── opening_loc: (0...8) = "<<-EOFOO"
- │ ├── content_loc: (9...28) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\n"
- │ ├── closing_loc: (28...34) = "EOFOO\n"
+ │ ├── opening_loc: (1,0)-(1,8) = "<<-EOFOO"
+ │ ├── content_loc: (2,0)-(2,0) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "EOFOO\n"
│ └── unescaped: "\n\n\n\n\n\n\n\n\n\n"
- └── @ ClassNode (location: (35...48))
+ └── @ ClassNode (location: (5,0)-(6,3))
├── locals: []
- ├── class_keyword_loc: (35...40) = "class"
+ ├── class_keyword_loc: (5,0)-(5,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (41...44))
+ │ @ ConstantReadNode (location: (5,6)-(5,9))
│ └── name: :Foo
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body: ∅
- ├── end_keyword_loc: (45...48) = "end"
+ ├── end_keyword_loc: (6,0)-(6,3) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt b/test/yarp/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
index cd43cf4065..f351c424f0 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (6...74))
+@ ProgramNode (location: (1,6)-(4,17))
├── locals: [:string]
└── statements:
- @ StatementsNode (location: (6...74))
+ @ StatementsNode (location: (1,6)-(4,17))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (6...22))
+ ├── @ LocalVariableWriteNode (location: (1,6)-(1,22))
│ ├── name: :string
│ ├── depth: 0
- │ ├── name_loc: (6...12) = "string"
+ │ ├── name_loc: (1,6)-(1,12) = "string"
│ ├── value:
- │ │ @ StringNode (location: (15...22))
+ │ │ @ StringNode (location: (1,15)-(1,22))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (15...22) = "<<-\"^D\""
- │ │ ├── content_loc: (23...48) = " very long string\n"
- │ │ ├── closing_loc: (48...57) = " ^D\n"
+ │ │ ├── opening_loc: (1,15)-(1,22) = "<<-\"^D\""
+ │ │ ├── content_loc: (2,0)-(2,0) = " very long string\n"
+ │ │ ├── closing_loc: (3,0)-(3,0) = " ^D\n"
│ │ └── unescaped: " very long string\n"
- │ └── operator_loc: (13...14) = "="
- └── @ CallNode (location: (63...74))
+ │ └── operator_loc: (1,13)-(1,14) = "="
+ └── @ CallNode (location: (4,6)-(4,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (63...67) = "puts"
+ ├── message_loc: (4,6)-(4,10) = "puts"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (68...74))
+ │ @ ArgumentsNode (location: (4,11)-(4,17))
│ └── arguments: (length: 1)
- │ └── @ LocalVariableReadNode (location: (68...74))
+ │ └── @ LocalVariableReadNode (location: (4,11)-(4,17))
│ ├── name: :string
│ └── depth: 0
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_iter_call_no_parens.txt b/test/yarp/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
index f12bc39338..f4c6adaf93 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_iter_call_no_parens.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...3))
+ │ @ ArgumentsNode (location: (1,2)-(1,3))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (2...3))
+ │ └── @ CallNode (location: (1,2)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (2...3) = "a"
+ │ ├── message_loc: (1,2)-(1,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -23,16 +23,16 @@
│ └── name: "a"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...25))
+ │ @ BlockNode (location: (1,4)-(3,3))
│ ├── locals: [:x, :y]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...13))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,13))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (8...12))
+ │ │ │ @ ParametersNode (location: (1,8)-(1,12))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (8...9))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (11...12))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12))
│ │ │ │ └── name: :y
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -41,30 +41,30 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (7...8) = "|"
- │ │ └── closing_loc: (12...13) = "|"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (16...21))
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...21))
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (16...17))
+ │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (18...19) = "+"
+ │ │ ├── message_loc: (2,4)-(2,5) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (20...21))
+ │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (20...21))
+ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
│ │ │ ├── name: :y
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (22...25) = "end"
+ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_iter_call_parens.txt b/test/yarp/snapshots/seattlerb/parse_line_iter_call_parens.txt
index b9d96554ce..f5240a5534 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_iter_call_parens.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_iter_call_parens.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...26))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "f"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...3))
+ │ @ ArgumentsNode (location: (1,2)-(1,3))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (2...3))
+ │ └── @ CallNode (location: (1,2)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (2...3) = "a"
+ │ ├── message_loc: (1,2)-(1,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── closing_loc: (3...4) = ")"
+ ├── closing_loc: (1,3)-(1,4) = ")"
├── block:
- │ @ BlockNode (location: (5...26))
+ │ @ BlockNode (location: (1,5)-(3,3))
│ ├── locals: [:x, :y]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (8...14))
+ │ │ @ BlockParametersNode (location: (1,8)-(1,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (9...13))
+ │ │ │ @ ParametersNode (location: (1,9)-(1,13))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ └── name: :x
- │ │ │ │ └── @ RequiredParameterNode (location: (12...13))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ └── name: :y
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -41,30 +41,30 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (8...9) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (17...22))
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (17...22))
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (17...18))
+ │ │ │ @ LocalVariableReadNode (location: (2,2)-(2,3))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (19...20) = "+"
+ │ │ ├── message_loc: (2,4)-(2,5) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (21...22))
+ │ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (21...22))
+ │ │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7))
│ │ │ ├── name: :y
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ ├── opening_loc: (5...7) = "do"
- │ └── closing_loc: (23...26) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_multiline_str.txt b/test/yarp/snapshots/seattlerb/parse_line_multiline_str.txt
index 591648d0a9..fa8c491047 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_multiline_str.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_multiline_str.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 2)
- ├── @ StringNode (location: (0...5))
+ ├── @ StringNode (location: (1,0)-(2,2))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...4) = "a\nb"
- │ ├── closing_loc: (4...5) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(2,1) = "a\nb"
+ │ ├── closing_loc: (2,1)-(2,2) = "\""
│ └── unescaped: "a\nb"
- └── @ IntegerNode (location: (6...7))
+ └── @ IntegerNode (location: (3,0)-(3,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt b/test/yarp/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt
index f9d77000a2..c72b516baa 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 2)
- ├── @ StringNode (location: (0...6))
+ ├── @ StringNode (location: (1,0)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...5) = "a\\nb"
- │ ├── closing_loc: (5...6) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(1,5) = "a\\nb"
+ │ ├── closing_loc: (1,5)-(1,6) = "\""
│ └── unescaped: "a\nb"
- └── @ IntegerNode (location: (7...8))
+ └── @ IntegerNode (location: (2,0)-(2,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/parse_line_newlines.txt b/test/yarp/snapshots/seattlerb/parse_line_newlines.txt
index 48711e2d48..3e1ceef586 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_newlines.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_newlines.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ TrueNode (location: (0...4))
+ └── @ TrueNode (location: (1,0)-(1,4))
diff --git a/test/yarp/snapshots/seattlerb/parse_line_op_asgn.txt b/test/yarp/snapshots/seattlerb/parse_line_op_asgn.txt
index 130fe8dbce..e10f376dac 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_op_asgn.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_op_asgn.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (6...34))
+@ ProgramNode (location: (1,6)-(3,9))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (6...34))
+ @ StatementsNode (location: (1,6)-(3,9))
└── body: (length: 2)
- ├── @ LocalVariableOperatorWriteNode (location: (6...24))
- │ ├── name_loc: (6...9) = "foo"
- │ ├── operator_loc: (10...12) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (1,6)-(2,11))
+ │ ├── name_loc: (1,6)-(1,9) = "foo"
+ │ ├── operator_loc: (1,10)-(1,12) = "+="
│ ├── value:
- │ │ @ CallNode (location: (21...24))
+ │ │ @ CallNode (location: (2,8)-(2,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "bar"
+ │ │ ├── message_loc: (2,8)-(2,11) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -20,10 +20,10 @@
│ ├── name: :foo
│ ├── operator: :+
│ └── depth: 0
- └── @ CallNode (location: (31...34))
+ └── @ CallNode (location: (3,6)-(3,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (31...34) = "baz"
+ ├── message_loc: (3,6)-(3,9) = "baz"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_postexe.txt b/test/yarp/snapshots/seattlerb/parse_line_postexe.txt
index 6ece89cbfb..507fba834b 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_postexe.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_postexe.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 1)
- └── @ PostExecutionNode (location: (0...11))
+ └── @ PostExecutionNode (location: (1,0)-(3,1))
├── statements:
- │ @ StatementsNode (location: (6...9))
+ │ @ StatementsNode (location: (2,0)-(2,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (6...9))
+ │ └── @ CallNode (location: (2,0)-(2,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "foo"
+ │ ├── message_loc: (2,0)-(2,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── keyword_loc: (0...3) = "END"
- ├── opening_loc: (4...5) = "{"
- └── closing_loc: (10...11) = "}"
+ ├── keyword_loc: (1,0)-(1,3) = "END"
+ ├── opening_loc: (1,4)-(1,5) = "{"
+ └── closing_loc: (3,0)-(3,1) = "}"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_preexe.txt b/test/yarp/snapshots/seattlerb/parse_line_preexe.txt
index 500cf46c7a..3b2f75fdd0 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_preexe.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_preexe.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 1)
- └── @ PreExecutionNode (location: (0...13))
+ └── @ PreExecutionNode (location: (1,0)-(3,1))
├── statements:
- │ @ StatementsNode (location: (8...11))
+ │ @ StatementsNode (location: (2,0)-(2,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (8...11))
+ │ └── @ CallNode (location: (2,0)-(2,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...11) = "foo"
+ │ ├── message_loc: (2,0)-(2,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── keyword_loc: (0...5) = "BEGIN"
- ├── opening_loc: (6...7) = "{"
- └── closing_loc: (12...13) = "}"
+ ├── keyword_loc: (1,0)-(1,5) = "BEGIN"
+ ├── opening_loc: (1,6)-(1,7) = "{"
+ └── closing_loc: (3,0)-(3,1) = "}"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_rescue.txt b/test/yarp/snapshots/seattlerb/parse_line_rescue.txt
index 57dd72a4b6..4b4de20405 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_rescue.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_rescue.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(7,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(7,3))
└── body: (length: 1)
- └── @ BeginNode (location: (0...35))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(7,3))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (8...9))
+ │ @ StatementsNode (location: (2,2)-(2,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (8...9))
+ │ └── @ CallNode (location: (2,2)-(2,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...9) = "a"
+ │ ├── message_loc: (2,2)-(2,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ ├── flags: variable_call
│ └── name: "a"
├── rescue_clause:
- │ @ RescueNode (location: (10...31))
- │ ├── keyword_loc: (10...16) = "rescue"
+ │ @ RescueNode (location: (3,0)-(6,3))
+ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (19...20))
+ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (19...20))
+ │ │ └── @ CallNode (location: (4,2)-(4,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (19...20) = "b"
+ │ │ ├── message_loc: (4,2)-(4,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -38,18 +38,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ └── consequent:
- │ @ RescueNode (location: (21...31))
- │ ├── keyword_loc: (21...27) = "rescue"
+ │ @ RescueNode (location: (5,0)-(6,3))
+ │ ├── keyword_loc: (5,0)-(5,6) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (30...31))
+ │ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (30...31))
+ │ │ └── @ CallNode (location: (6,2)-(6,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (30...31) = "c"
+ │ │ ├── message_loc: (6,2)-(6,3) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -59,4 +59,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (32...35) = "end"
+ └── end_keyword_loc: (7,0)-(7,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_return.txt b/test/yarp/snapshots/seattlerb/parse_line_return.txt
index b467bd4a60..129b96d837 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_return.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_return.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (6...77))
+@ ProgramNode (location: (1,6)-(5,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (6...77))
+ @ StatementsNode (location: (1,6)-(5,9))
└── body: (length: 1)
- └── @ DefNode (location: (6...77))
+ └── @ DefNode (location: (1,6)-(5,9))
├── name: :blah
- ├── name_loc: (10...14) = "blah"
+ ├── name_loc: (1,10)-(1,14) = "blah"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (23...67))
+ │ @ StatementsNode (location: (2,8)-(4,11))
│ └── body: (length: 1)
- │ └── @ IfNode (location: (23...67))
- │ ├── if_keyword_loc: (23...25) = "if"
+ │ └── @ IfNode (location: (2,8)-(4,11))
+ │ ├── if_keyword_loc: (2,8)-(2,10) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (26...30))
+ │ │ @ TrueNode (location: (2,11)-(2,15))
│ ├── statements:
- │ │ @ StatementsNode (location: (46...55))
+ │ │ @ StatementsNode (location: (3,10)-(3,19))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (46...55))
- │ │ ├── keyword_loc: (46...52) = "return"
+ │ │ └── @ ReturnNode (location: (3,10)-(3,19))
+ │ │ ├── keyword_loc: (3,10)-(3,16) = "return"
│ │ └── arguments:
- │ │ @ ArgumentsNode (location: (53...55))
+ │ │ @ ArgumentsNode (location: (3,17)-(3,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (53...55))
+ │ │ └── @ IntegerNode (location: (3,17)-(3,19))
│ │ └── flags: decimal
│ ├── consequent: ∅
- │ └── end_keyword_loc: (64...67) = "end"
+ │ └── end_keyword_loc: (4,8)-(4,11) = "end"
├── locals: []
- ├── def_keyword_loc: (6...9) = "def"
+ ├── def_keyword_loc: (1,6)-(1,9) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (74...77) = "end"
+ └── end_keyword_loc: (5,6)-(5,9) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_str_with_newline_escape.txt b/test/yarp/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
index 72d9c7f389..29f76ea9ba 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_str_with_newline_escape.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
- ├── opening_loc: (1...2) = "("
+ ├── message_loc: (1,0)-(1,1) = "a"
+ ├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (2...12))
+ │ @ ArgumentsNode (location: (1,2)-(1,12))
│ └── arguments: (length: 2)
- │ ├── @ StringNode (location: (2...6))
+ │ ├── @ StringNode (location: (1,2)-(1,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "\""
- │ │ ├── content_loc: (3...5) = "\\n"
- │ │ ├── closing_loc: (5...6) = "\""
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(1,5) = "\\n"
+ │ │ ├── closing_loc: (1,5)-(1,6) = "\""
│ │ └── unescaped: "\n"
- │ └── @ TrueNode (location: (8...12))
- ├── closing_loc: (12...13) = ")"
+ │ └── @ TrueNode (location: (1,8)-(1,12))
+ ├── closing_loc: (1,12)-(1,13) = ")"
├── block: ∅
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/seattlerb/parse_line_to_ary.txt b/test/yarp/snapshots/seattlerb/parse_line_to_ary.txt
index 2e0b8bca97..dffbdcbcd0 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_to_ary.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_to_ary.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(3,1))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(3,1))
└── body: (length: 2)
- ├── @ MultiWriteNode (location: (0...8))
+ ├── @ MultiWriteNode (location: (1,0)-(2,5))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (0...1))
+ │ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (3...4))
+ │ │ └── @ LocalVariableTargetNode (location: (2,0)-(2,1))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (5...6) = "="
+ │ ├── operator_loc: (2,2)-(2,3) = "="
│ └── value:
- │ @ CallNode (location: (7...8))
+ │ @ CallNode (location: (2,4)-(2,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...8) = "c"
+ │ ├── message_loc: (2,4)-(2,5) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "c"
- └── @ CallNode (location: (9...10))
+ └── @ CallNode (location: (3,0)-(3,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (9...10) = "d"
+ ├── message_loc: (3,0)-(3,1) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_line_trailing_newlines.txt b/test/yarp/snapshots/seattlerb/parse_line_trailing_newlines.txt
index 8754428165..cd019a3045 100644
--- a/test/yarp/snapshots/seattlerb/parse_line_trailing_newlines.txt
+++ b/test/yarp/snapshots/seattlerb/parse_line_trailing_newlines.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 2)
- ├── @ CallNode (location: (0...1))
+ ├── @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- └── @ CallNode (location: (3...4))
+ └── @ CallNode (location: (2,0)-(2,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (3...4) = "b"
+ ├── message_loc: (2,0)-(2,1) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt b/test/yarp/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
index f756b0a275..b831cc094a 100644
--- a/test/yarp/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
+++ b/test/yarp/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (1...8) = "[2=>3,]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,8) = "[2=>3,]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (2...6))
+ │ @ ArgumentsNode (location: (1,2)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (2...6))
+ │ └── @ KeywordHashNode (location: (1,2)-(1,6))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (2...6))
+ │ └── @ AssocNode (location: (1,2)-(1,6))
│ ├── key:
- │ │ @ IntegerNode (location: (2...3))
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ └── operator_loc: (3...5) = "=>"
- ├── closing_loc: (7...8) = "]"
+ │ └── operator_loc: (1,3)-(1,5) = "=>"
+ ├── closing_loc: (1,7)-(1,8) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt b/test/yarp/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
index e65901c63b..9e61b425fc 100644
--- a/test/yarp/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
+++ b/test/yarp/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── call_operator_loc: ∅
- ├── message_loc: (1...5) = "[2,]"
- ├── opening_loc: (1...2) = "["
+ ├── message_loc: (1,1)-(1,5) = "[2,]"
+ ├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
- │ @ ArgumentsNode (location: (2...3))
+ │ @ ArgumentsNode (location: (1,2)-(1,3))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (2...3))
+ │ └── @ IntegerNode (location: (1,2)-(1,3))
│ └── flags: decimal
- ├── closing_loc: (4...5) = "]"
+ ├── closing_loc: (1,4)-(1,5) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_019.txt b/test/yarp/snapshots/seattlerb/parse_pattern_019.txt
index 9f5bba5b25..e3bf981ded 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_019.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_019.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...26))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ IntegerNode (location: (5...6))
+ │ @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── conditions: (length: 1)
- │ └── @ InNode (location: (7...22))
+ │ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
- │ │ @ RangeNode (location: (10...15))
+ │ │ @ RangeNode (location: (2,3)-(2,8))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (10...12))
+ │ │ │ @ IntegerNode (location: (2,3)-(2,5))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ IntegerNode (location: (14...15))
+ │ │ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ │ └── flags: decimal
- │ │ ├── operator_loc: (12...14) = ".."
+ │ │ ├── operator_loc: (2,5)-(2,7) = ".."
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (18...22))
+ │ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (18...22))
- │ ├── in_loc: (7...9) = "in"
+ │ │ └── @ TrueNode (location: (3,2)-(3,6))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (23...26) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_044.txt b/test/yarp/snapshots/seattlerb/parse_pattern_044.txt
index fd4157edc2..6d4dee139c 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_044.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_044.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...31))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "obj"
+ │ ├── message_loc: (1,5)-(1,8) = "obj"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,23 +16,23 @@
│ ├── flags: variable_call
│ └── name: "obj"
├── conditions: (length: 1)
- │ └── @ InNode (location: (9...27))
+ │ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (12...20))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,11))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (12...18))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,9))
│ │ │ └── name: :Object
│ │ ├── requireds: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (18...19) = "["
- │ │ └── closing_loc: (19...20) = "]"
+ │ │ ├── opening_loc: (2,9)-(2,10) = "["
+ │ │ └── closing_loc: (2,10)-(2,11) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (23...27))
+ │ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (23...27))
- │ ├── in_loc: (9...11) = "in"
+ │ │ └── @ TrueNode (location: (3,2)-(3,6))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (28...31) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_051.txt b/test/yarp/snapshots/seattlerb/parse_pattern_051.txt
index d7d58a015c..5d95d71701 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_051.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_051.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...36))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...36))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...36))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ ArrayNode (location: (5...14))
+ │ @ ArrayNode (location: (1,5)-(1,14))
│ ├── elements: (length: 3)
- │ │ ├── @ IntegerNode (location: (6...7))
+ │ │ ├── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ ├── @ IntegerNode (location: (9...10))
+ │ │ ├── @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (12...13))
+ │ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
- │ ├── opening_loc: (5...6) = "["
- │ └── closing_loc: (13...14) = "]"
+ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ └── closing_loc: (1,13)-(1,14) = "]"
├── conditions: (length: 1)
- │ └── @ InNode (location: (15...32))
+ │ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (18...25))
+ │ │ @ ArrayPatternNode (location: (2,3)-(2,10))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (19...20))
+ │ │ │ ├── @ IntegerNode (location: (2,4)-(2,5))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (22...23))
+ │ │ │ └── @ IntegerNode (location: (2,7)-(2,8))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (18...19) = "["
- │ │ └── closing_loc: (24...25) = "]"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "["
+ │ │ └── closing_loc: (2,9)-(2,10) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (28...32))
+ │ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (28...32))
- │ ├── in_loc: (15...17) = "in"
+ │ │ └── @ TrueNode (location: (3,2)-(3,6))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (33...36) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_058.txt b/test/yarp/snapshots/seattlerb/parse_pattern_058.txt
index f376b0a2cf..15010ca250 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_058.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_058.txt
@@ -1,64 +1,64 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:a, :rest]
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...43))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ HashNode (location: (5...11))
- │ ├── opening_loc: (5...6) = "{"
+ │ @ HashNode (location: (1,5)-(1,11))
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (6...10))
+ │ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (6...8))
+ │ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (6...7) = "a"
- │ │ │ ├── closing_loc: (7...8) = ":"
+ │ │ │ ├── value_loc: (1,6)-(1,7) = "a"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (10...11) = "}"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── conditions: (length: 1)
- │ └── @ InNode (location: (12...39))
+ │ └── @ InNode (location: (2,0)-(3,11))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (15...27))
+ │ │ @ HashPatternNode (location: (2,3)-(2,15))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 2)
- │ │ │ ├── @ AssocNode (location: (16...18))
+ │ │ │ ├── @ AssocNode (location: (2,4)-(2,6))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (16...18))
+ │ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (16...17) = "a"
- │ │ │ │ │ ├── closing_loc: (17...18) = ":"
+ │ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
+ │ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value: ∅
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocSplatNode (location: (20...26))
+ │ │ │ └── @ AssocSplatNode (location: (2,8)-(2,14))
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableTargetNode (location: (22...26))
+ │ │ │ │ @ LocalVariableTargetNode (location: (2,10)-(2,14))
│ │ │ │ ├── name: :rest
│ │ │ │ └── depth: 0
- │ │ │ └── operator_loc: (20...22) = "**"
+ │ │ │ └── operator_loc: (2,8)-(2,10) = "**"
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (15...16) = "{"
- │ │ └── closing_loc: (26...27) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,14)-(2,15) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (30...39))
+ │ │ @ StatementsNode (location: (3,2)-(3,11))
│ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (30...39))
+ │ │ └── @ ArrayNode (location: (3,2)-(3,11))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (31...32))
+ │ │ │ ├── @ LocalVariableReadNode (location: (3,3)-(3,4))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableReadNode (location: (34...38))
+ │ │ │ └── @ LocalVariableReadNode (location: (3,6)-(3,10))
│ │ │ ├── name: :rest
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (30...31) = "["
- │ │ └── closing_loc: (38...39) = "]"
- │ ├── in_loc: (12...14) = "in"
+ │ │ ├── opening_loc: (3,2)-(3,3) = "["
+ │ │ └── closing_loc: (3,10)-(3,11) = "]"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (40...43) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_058_2.txt b/test/yarp/snapshots/seattlerb/parse_pattern_058_2.txt
index da4471d143..dc89fc3640 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_058_2.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_058_2.txt
@@ -1,58 +1,58 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...33))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ HashNode (location: (5...11))
- │ ├── opening_loc: (5...6) = "{"
+ │ @ HashNode (location: (1,5)-(1,11))
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (6...10))
+ │ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (6...8))
+ │ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (6...7) = "a"
- │ │ │ ├── closing_loc: (7...8) = ":"
+ │ │ │ ├── value_loc: (1,6)-(1,7) = "a"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (10...11) = "}"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── conditions: (length: 1)
- │ └── @ InNode (location: (12...29))
+ │ └── @ InNode (location: (2,0)-(3,5))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (15...23))
+ │ │ @ HashPatternNode (location: (2,3)-(2,11))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 2)
- │ │ │ ├── @ AssocNode (location: (16...18))
+ │ │ │ ├── @ AssocNode (location: (2,4)-(2,6))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (16...18))
+ │ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (16...17) = "a"
- │ │ │ │ │ ├── closing_loc: (17...18) = ":"
+ │ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
+ │ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value: ∅
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocSplatNode (location: (20...22))
+ │ │ │ └── @ AssocSplatNode (location: (2,8)-(2,10))
│ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (20...22) = "**"
+ │ │ │ └── operator_loc: (2,8)-(2,10) = "**"
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (15...16) = "{"
- │ │ └── closing_loc: (22...23) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,10)-(2,11) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (26...29))
+ │ │ @ StatementsNode (location: (3,2)-(3,5))
│ │ └── body: (length: 1)
- │ │ └── @ ArrayNode (location: (26...29))
+ │ │ └── @ ArrayNode (location: (3,2)-(3,5))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (27...28))
+ │ │ │ └── @ LocalVariableReadNode (location: (3,3)-(3,4))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (26...27) = "["
- │ │ └── closing_loc: (28...29) = "]"
- │ ├── in_loc: (12...14) = "in"
+ │ │ ├── opening_loc: (3,2)-(3,3) = "["
+ │ │ └── closing_loc: (3,4)-(3,5) = "]"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (30...33) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_069.txt b/test/yarp/snapshots/seattlerb/parse_pattern_069.txt
index 9edc3340d6..4d1e51e3f4 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_069.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_069.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...31))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ SymbolNode (location: (5...7))
- │ ├── opening_loc: (5...6) = ":"
- │ ├── value_loc: (6...7) = "a"
+ │ @ SymbolNode (location: (1,5)-(1,7))
+ │ ├── opening_loc: (1,5)-(1,6) = ":"
+ │ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...27))
+ │ └── @ InNode (location: (2,0)-(3,3))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (11...23))
+ │ │ @ HashPatternNode (location: (2,3)-(2,15))
│ │ ├── constant:
- │ │ │ @ ConstantReadNode (location: (11...17))
+ │ │ │ @ ConstantReadNode (location: (2,3)-(2,9))
│ │ │ └── name: :Object
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (18...22))
+ │ │ │ └── @ AssocNode (location: (2,10)-(2,14))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (18...20))
+ │ │ │ │ @ SymbolNode (location: (2,10)-(2,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (18...19) = "b"
- │ │ │ │ ├── closing_loc: (19...20) = ":"
+ │ │ │ │ ├── value_loc: (2,10)-(2,11) = "b"
+ │ │ │ │ ├── closing_loc: (2,11)-(2,12) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (21...22))
+ │ │ │ │ @ IntegerNode (location: (2,13)-(2,14))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (17...18) = "["
- │ │ └── closing_loc: (22...23) = "]"
+ │ │ ├── opening_loc: (2,9)-(2,10) = "["
+ │ │ └── closing_loc: (2,14)-(2,15) = "]"
│ ├── statements:
- │ │ @ StatementsNode (location: (26...27))
+ │ │ @ StatementsNode (location: (3,2)-(3,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (26...27))
+ │ │ └── @ IntegerNode (location: (3,2)-(3,3))
│ │ └── flags: decimal
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (28...31) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_pattern_076.txt b/test/yarp/snapshots/seattlerb/parse_pattern_076.txt
index 244e337948..bce1fdce96 100644
--- a/test/yarp/snapshots/seattlerb/parse_pattern_076.txt
+++ b/test/yarp/snapshots/seattlerb/parse_pattern_076.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CaseNode (location: (0...39))
+ └── @ CaseNode (location: (1,0)-(4,3))
├── predicate:
- │ @ HashNode (location: (5...11))
- │ ├── opening_loc: (5...6) = "{"
+ │ @ HashNode (location: (1,5)-(1,11))
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (6...10))
+ │ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (6...8))
+ │ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (6...7) = "a"
- │ │ │ ├── closing_loc: (7...8) = ":"
+ │ │ │ ├── value_loc: (1,6)-(1,7) = "a"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (9...10))
+ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (10...11) = "}"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── conditions: (length: 1)
- │ └── @ InNode (location: (12...35))
+ │ └── @ InNode (location: (2,0)-(3,6))
│ ├── pattern:
- │ │ @ HashPatternNode (location: (15...28))
+ │ │ @ HashPatternNode (location: (2,3)-(2,16))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 2)
- │ │ │ ├── @ AssocNode (location: (16...20))
+ │ │ │ ├── @ AssocNode (location: (2,4)-(2,8))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (16...18))
+ │ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (16...17) = "a"
- │ │ │ │ │ ├── closing_loc: (17...18) = ":"
+ │ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
+ │ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (19...20))
+ │ │ │ │ │ @ IntegerNode (location: (2,7)-(2,8))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ NoKeywordsParameterNode (location: (22...27))
- │ │ │ ├── operator_loc: (22...24) = "**"
- │ │ │ └── keyword_loc: (24...27) = "nil"
+ │ │ │ └── @ NoKeywordsParameterNode (location: (2,10)-(2,15))
+ │ │ │ ├── operator_loc: (2,10)-(2,12) = "**"
+ │ │ │ └── keyword_loc: (2,12)-(2,15) = "nil"
│ │ ├── kwrest: ∅
- │ │ ├── opening_loc: (15...16) = "{"
- │ │ └── closing_loc: (27...28) = "}"
+ │ │ ├── opening_loc: (2,3)-(2,4) = "{"
+ │ │ └── closing_loc: (2,15)-(2,16) = "}"
│ ├── statements:
- │ │ @ StatementsNode (location: (31...35))
+ │ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (31...35))
- │ ├── in_loc: (12...14) = "in"
+ │ │ └── @ TrueNode (location: (3,2)-(3,6))
+ │ ├── in_loc: (2,0)-(2,2) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (36...39) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/parse_until_not_canonical.txt b/test/yarp/snapshots/seattlerb/parse_until_not_canonical.txt
index bbb778e554..a6f6be9789 100644
--- a/test/yarp/snapshots/seattlerb/parse_until_not_canonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_until_not_canonical.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ UntilNode (location: (0...30))
- ├── keyword_loc: (0...5) = "until"
- ├── closing_loc: (27...30) = "end"
+ └── @ UntilNode (location: (1,0)-(3,3))
+ ├── keyword_loc: (1,0)-(1,5) = "until"
+ ├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
- │ @ CallNode (location: (6...18))
+ │ @ CallNode (location: (1,6)-(1,18))
│ ├── receiver:
- │ │ @ CallNode (location: (10...18))
+ │ │ @ CallNode (location: (1,10)-(1,18))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (10...13))
+ │ │ │ @ CallNode (location: (1,10)-(1,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...13) = "var"
+ │ │ │ ├── message_loc: (1,10)-(1,13) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (13...14) = "."
- │ │ ├── message_loc: (14...18) = "nil?"
+ │ │ ├── call_operator_loc: (1,13)-(1,14) = "."
+ │ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,7 +30,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "not"
+ │ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -38,12 +38,12 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (2,2)-(2,7))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (2,2)-(2,7))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (2,2)-(2,3) = "'"
+ │ ├── content_loc: (2,3)-(2,6) = "foo"
+ │ ├── closing_loc: (2,6)-(2,7) = "'"
│ └── unescaped: "foo"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_until_not_noncanonical.txt b/test/yarp/snapshots/seattlerb/parse_until_not_noncanonical.txt
index bbb778e554..a6f6be9789 100644
--- a/test/yarp/snapshots/seattlerb/parse_until_not_noncanonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_until_not_noncanonical.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ UntilNode (location: (0...30))
- ├── keyword_loc: (0...5) = "until"
- ├── closing_loc: (27...30) = "end"
+ └── @ UntilNode (location: (1,0)-(3,3))
+ ├── keyword_loc: (1,0)-(1,5) = "until"
+ ├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
- │ @ CallNode (location: (6...18))
+ │ @ CallNode (location: (1,6)-(1,18))
│ ├── receiver:
- │ │ @ CallNode (location: (10...18))
+ │ │ @ CallNode (location: (1,10)-(1,18))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (10...13))
+ │ │ │ @ CallNode (location: (1,10)-(1,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...13) = "var"
+ │ │ │ ├── message_loc: (1,10)-(1,13) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (13...14) = "."
- │ │ ├── message_loc: (14...18) = "nil?"
+ │ │ ├── call_operator_loc: (1,13)-(1,14) = "."
+ │ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,7 +30,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "not"
+ │ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -38,12 +38,12 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (2,2)-(2,7))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (2,2)-(2,7))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (2,2)-(2,3) = "'"
+ │ ├── content_loc: (2,3)-(2,6) = "foo"
+ │ ├── closing_loc: (2,6)-(2,7) = "'"
│ └── unescaped: "foo"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_while_not_canonical.txt b/test/yarp/snapshots/seattlerb/parse_while_not_canonical.txt
index da5395aee3..d96f4018d7 100644
--- a/test/yarp/snapshots/seattlerb/parse_while_not_canonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_while_not_canonical.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ WhileNode (location: (0...30))
- ├── keyword_loc: (0...5) = "while"
- ├── closing_loc: (27...30) = "end"
+ └── @ WhileNode (location: (1,0)-(3,3))
+ ├── keyword_loc: (1,0)-(1,5) = "while"
+ ├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
- │ @ CallNode (location: (6...18))
+ │ @ CallNode (location: (1,6)-(1,18))
│ ├── receiver:
- │ │ @ CallNode (location: (10...18))
+ │ │ @ CallNode (location: (1,10)-(1,18))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (10...13))
+ │ │ │ @ CallNode (location: (1,10)-(1,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...13) = "var"
+ │ │ │ ├── message_loc: (1,10)-(1,13) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (13...14) = "."
- │ │ ├── message_loc: (14...18) = "nil?"
+ │ │ ├── call_operator_loc: (1,13)-(1,14) = "."
+ │ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,7 +30,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "not"
+ │ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -38,12 +38,12 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (2,2)-(2,7))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (2,2)-(2,7))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (2,2)-(2,3) = "'"
+ │ ├── content_loc: (2,3)-(2,6) = "foo"
+ │ ├── closing_loc: (2,6)-(2,7) = "'"
│ └── unescaped: "foo"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/parse_while_not_noncanonical.txt b/test/yarp/snapshots/seattlerb/parse_while_not_noncanonical.txt
index da5395aee3..d96f4018d7 100644
--- a/test/yarp/snapshots/seattlerb/parse_while_not_noncanonical.txt
+++ b/test/yarp/snapshots/seattlerb/parse_while_not_noncanonical.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ WhileNode (location: (0...30))
- ├── keyword_loc: (0...5) = "while"
- ├── closing_loc: (27...30) = "end"
+ └── @ WhileNode (location: (1,0)-(3,3))
+ ├── keyword_loc: (1,0)-(1,5) = "while"
+ ├── closing_loc: (3,0)-(3,3) = "end"
├── predicate:
- │ @ CallNode (location: (6...18))
+ │ @ CallNode (location: (1,6)-(1,18))
│ ├── receiver:
- │ │ @ CallNode (location: (10...18))
+ │ │ @ CallNode (location: (1,10)-(1,18))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (10...13))
+ │ │ │ @ CallNode (location: (1,10)-(1,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...13) = "var"
+ │ │ │ ├── message_loc: (1,10)-(1,13) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ ├── call_operator_loc: (13...14) = "."
- │ │ ├── message_loc: (14...18) = "nil?"
+ │ │ ├── call_operator_loc: (1,13)-(1,14) = "."
+ │ │ ├── message_loc: (1,14)-(1,18) = "nil?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,7 +30,7 @@
│ │ ├── flags: ∅
│ │ └── name: "nil?"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "not"
+ │ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -38,12 +38,12 @@
│ ├── flags: ∅
│ └── name: "!"
├── statements:
- │ @ StatementsNode (location: (21...26))
+ │ @ StatementsNode (location: (2,2)-(2,7))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (21...26))
+ │ └── @ StringNode (location: (2,2)-(2,7))
│ ├── flags: ∅
- │ ├── opening_loc: (21...22) = "'"
- │ ├── content_loc: (22...25) = "foo"
- │ ├── closing_loc: (25...26) = "'"
+ │ ├── opening_loc: (2,2)-(2,3) = "'"
+ │ ├── content_loc: (2,3)-(2,6) = "foo"
+ │ ├── closing_loc: (2,6)-(2,7) = "'"
│ └── unescaped: "foo"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/pctW_lineno.txt b/test/yarp/snapshots/seattlerb/pctW_lineno.txt
index 6caa11856f..468150529d 100644
--- a/test/yarp/snapshots/seattlerb/pctW_lineno.txt
+++ b/test/yarp/snapshots/seattlerb/pctW_lineno.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(5,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(5,11))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...28))
+ └── @ ArrayNode (location: (1,0)-(5,11))
├── elements: (length: 7)
- │ ├── @ StringNode (location: (3...7))
+ │ ├── @ StringNode (location: (1,3)-(1,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (3...7) = "a\\nb"
+ │ │ ├── content_loc: (1,3)-(1,7) = "a\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
- │ ├── @ StringNode (location: (8...9))
+ │ ├── @ StringNode (location: (2,0)-(2,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (8...9) = "c"
+ │ │ ├── content_loc: (2,0)-(2,1) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── @ StringNode (location: (10...11))
+ │ ├── @ StringNode (location: (2,2)-(2,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (10...11) = "d"
+ │ │ ├── content_loc: (2,2)-(2,3) = "d"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d"
- │ ├── @ StringNode (location: (12...16))
+ │ ├── @ StringNode (location: (3,0)-(4,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (12...16) = "e\\\nf"
+ │ │ ├── content_loc: (3,0)-(4,1) = "e\\\nf"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ef"
- │ ├── @ StringNode (location: (17...19))
+ │ ├── @ StringNode (location: (5,0)-(5,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (17...19) = "gy"
+ │ │ ├── content_loc: (5,0)-(5,2) = "gy"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "gy"
- │ ├── @ StringNode (location: (20...23))
+ │ ├── @ StringNode (location: (5,3)-(5,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (20...23) = "h\\y"
+ │ │ ├── content_loc: (5,3)-(5,6) = "h\\y"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "hy"
- │ └── @ StringNode (location: (24...27))
+ │ └── @ StringNode (location: (5,7)-(5,10))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (24...27) = "i\\y"
+ │ ├── content_loc: (5,7)-(5,10) = "i\\y"
│ ├── closing_loc: ∅
│ └── unescaped: "iy"
- ├── opening_loc: (0...3) = "%W("
- └── closing_loc: (27...28) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%W("
+ └── closing_loc: (5,10)-(5,11) = ")"
diff --git a/test/yarp/snapshots/seattlerb/pct_Q_backslash_nl.txt b/test/yarp/snapshots/seattlerb/pct_Q_backslash_nl.txt
index 4034b00e15..02830644e3 100644
--- a/test/yarp/snapshots/seattlerb/pct_Q_backslash_nl.txt
+++ b/test/yarp/snapshots/seattlerb/pct_Q_backslash_nl.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
- └── @ StringNode (location: (0...7))
+ └── @ StringNode (location: (1,0)-(2,1))
├── flags: ∅
- ├── opening_loc: (0...3) = "%q{"
- ├── content_loc: (3...6) = " \\\n"
- ├── closing_loc: (6...7) = "}"
+ ├── opening_loc: (1,0)-(1,3) = "%q{"
+ ├── content_loc: (1,3)-(1,0) = " \\\n"
+ ├── closing_loc: (2,0)-(2,1) = "}"
└── unescaped: " \\\n"
diff --git a/test/yarp/snapshots/seattlerb/pct_nl.txt b/test/yarp/snapshots/seattlerb/pct_nl.txt
index eac3f1c97e..147f8d4ce8 100644
--- a/test/yarp/snapshots/seattlerb/pct_nl.txt
+++ b/test/yarp/snapshots/seattlerb/pct_nl.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(2,0))
├── locals: [:x]
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(2,0))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...7))
+ └── @ LocalVariableWriteNode (location: (1,0)-(2,0))
├── name: :x
├── depth: 0
- ├── name_loc: (0...1) = "x"
+ ├── name_loc: (1,0)-(1,1) = "x"
├── value:
- │ @ StringNode (location: (4...7))
+ │ @ StringNode (location: (1,4)-(2,0))
│ ├── flags: ∅
- │ ├── opening_loc: (4...6) = "%\n"
- │ ├── content_loc: (6...6) = ""
- │ ├── closing_loc: (6...7) = "\n"
+ │ ├── opening_loc: (1,4)-(1,0) = "%\n"
+ │ ├── content_loc: (2,0)-(1,0) = ""
+ │ ├── closing_loc: (2,0)-(2,0) = "\n"
│ └── unescaped: ""
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt b/test/yarp/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
index d25412e8f2..0b1fd48eca 100644
--- a/test/yarp/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
+++ b/test/yarp/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(4,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...30))
+ └── @ ArrayNode (location: (1,0)-(4,11))
├── elements: (length: 5)
- │ ├── @ StringNode (location: (4...5))
+ │ ├── @ StringNode (location: (1,4)-(1,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (4...5) = "1"
+ │ │ ├── content_loc: (1,4)-(1,5) = "1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "1"
- │ ├── @ InterpolatedStringNode (location: (6...12))
+ │ ├── @ InterpolatedStringNode (location: (1,6)-(1,12))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (6...12))
- │ │ │ ├── opening_loc: (6...8) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,12))
+ │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8...11))
+ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (8...11))
+ │ │ │ │ └── @ StringNode (location: (1,8)-(1,11))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (8...11) = "<<A"
- │ │ │ │ ├── content_loc: (15...17) = "2\n"
- │ │ │ │ ├── closing_loc: (17...19) = "A\n"
+ │ │ │ │ ├── opening_loc: (1,8)-(1,11) = "<<A"
+ │ │ │ │ ├── content_loc: (2,0)-(2,0) = "2\n"
+ │ │ │ │ ├── closing_loc: (3,0)-(3,0) = "A\n"
│ │ │ │ └── unescaped: "2\n"
- │ │ │ └── closing_loc: (11...12) = "}"
+ │ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ │ └── closing_loc: ∅
- │ ├── @ StringNode (location: (13...14))
+ │ ├── @ StringNode (location: (1,13)-(1,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (13...14) = "3"
+ │ │ ├── content_loc: (1,13)-(1,14) = "3"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "3"
- │ ├── @ StringNode (location: (25...26))
+ │ ├── @ StringNode (location: (4,6)-(4,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (25...26) = "4"
+ │ │ ├── content_loc: (4,6)-(4,7) = "4"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "4"
- │ └── @ StringNode (location: (27...28))
+ │ └── @ StringNode (location: (4,8)-(4,9))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (27...28) = "5"
+ │ ├── content_loc: (4,8)-(4,9) = "5"
│ ├── closing_loc: ∅
│ └── unescaped: "5"
- ├── opening_loc: (0...3) = "%W("
- └── closing_loc: (29...30) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%W("
+ └── closing_loc: (4,10)-(4,11) = ")"
diff --git a/test/yarp/snapshots/seattlerb/pipe_semicolon.txt b/test/yarp/snapshots/seattlerb/pipe_semicolon.txt
index bb9420be5e..a102fdd0a1 100644
--- a/test/yarp/snapshots/seattlerb/pipe_semicolon.txt
+++ b/test/yarp/snapshots/seattlerb/pipe_semicolon.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallNode (location: (0...18))
+ └── @ CallNode (location: (1,0)-(1,18))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "b"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...18))
+ │ @ BlockNode (location: (1,4)-(1,18))
│ ├── locals: [:c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...14))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,14))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (11...12))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12))
│ │ │ └── name: :c
- │ │ ├── opening_loc: (7...8) = "|"
- │ │ └── closing_loc: (13...14) = "|"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (15...18) = "end"
+ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ └── closing_loc: (1,15)-(1,18) = "end"
├── flags: ∅
└── name: "b"
diff --git a/test/yarp/snapshots/seattlerb/pipe_space.txt b/test/yarp/snapshots/seattlerb/pipe_space.txt
index cbf654b4df..7f3738fd5d 100644
--- a/test/yarp/snapshots/seattlerb/pipe_space.txt
+++ b/test/yarp/snapshots/seattlerb/pipe_space.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...2) = "."
- ├── message_loc: (2...3) = "b"
+ ├── call_operator_loc: (1,1)-(1,2) = "."
+ ├── message_loc: (1,2)-(1,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...14))
+ │ @ BlockNode (location: (1,4)-(1,14))
│ ├── locals: []
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...10))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,10))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (7...8) = "|"
- │ │ └── closing_loc: (9...10) = "|"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (11...14) = "end"
+ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ └── closing_loc: (1,11)-(1,14) = "end"
├── flags: ∅
└── name: "b"
diff --git a/test/yarp/snapshots/seattlerb/qWords_space.txt b/test/yarp/snapshots/seattlerb/qWords_space.txt
index dd74c8afc4..db2a56632f 100644
--- a/test/yarp/snapshots/seattlerb/qWords_space.txt
+++ b/test/yarp/snapshots/seattlerb/qWords_space.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...5))
+ └── @ ArrayNode (location: (1,0)-(1,5))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%W("
- └── closing_loc: (4...5) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%W("
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/yarp/snapshots/seattlerb/qsymbols.txt b/test/yarp/snapshots/seattlerb/qsymbols.txt
index 0b6e709d47..ba50680a43 100644
--- a/test/yarp/snapshots/seattlerb/qsymbols.txt
+++ b/test/yarp/snapshots/seattlerb/qsymbols.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...9))
+ └── @ ArrayNode (location: (1,0)-(1,9))
├── elements: (length: 3)
- │ ├── @ SymbolNode (location: (3...4))
+ │ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (3...4) = "a"
+ │ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ ├── @ SymbolNode (location: (5...6))
+ │ ├── @ SymbolNode (location: (1,5)-(1,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (5...6) = "b"
+ │ │ ├── value_loc: (1,5)-(1,6) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ └── @ SymbolNode (location: (7...8))
+ │ └── @ SymbolNode (location: (1,7)-(1,8))
│ ├── opening_loc: ∅
- │ ├── value_loc: (7...8) = "c"
+ │ ├── value_loc: (1,7)-(1,8) = "c"
│ ├── closing_loc: ∅
│ └── unescaped: "c"
- ├── opening_loc: (0...3) = "%I("
- └── closing_loc: (8...9) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%I("
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/yarp/snapshots/seattlerb/qsymbols_empty.txt b/test/yarp/snapshots/seattlerb/qsymbols_empty.txt
index c059c8e52f..dd94a36cc8 100644
--- a/test/yarp/snapshots/seattlerb/qsymbols_empty.txt
+++ b/test/yarp/snapshots/seattlerb/qsymbols_empty.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...4))
+ └── @ ArrayNode (location: (1,0)-(1,4))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%I("
- └── closing_loc: (3...4) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%I("
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/yarp/snapshots/seattlerb/qsymbols_empty_space.txt b/test/yarp/snapshots/seattlerb/qsymbols_empty_space.txt
index 9b013ce242..e851b377d9 100644
--- a/test/yarp/snapshots/seattlerb/qsymbols_empty_space.txt
+++ b/test/yarp/snapshots/seattlerb/qsymbols_empty_space.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...5))
+ └── @ ArrayNode (location: (1,0)-(1,5))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%I("
- └── closing_loc: (4...5) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%I("
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/yarp/snapshots/seattlerb/qsymbols_interp.txt b/test/yarp/snapshots/seattlerb/qsymbols_interp.txt
index 270919c353..4c2ffb3393 100644
--- a/test/yarp/snapshots/seattlerb/qsymbols_interp.txt
+++ b/test/yarp/snapshots/seattlerb/qsymbols_interp.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...15))
+ └── @ ArrayNode (location: (1,0)-(1,15))
├── elements: (length: 3)
- │ ├── @ SymbolNode (location: (3...4))
+ │ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (3...4) = "a"
+ │ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ ├── @ InterpolatedSymbolNode (location: (5...12))
+ │ ├── @ InterpolatedSymbolNode (location: (1,5)-(1,12))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (5...6))
+ │ │ │ ├── @ StringNode (location: (1,5)-(1,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (5...6) = "b"
+ │ │ │ │ ├── content_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ └── @ EmbeddedStatementsNode (location: (6...12))
- │ │ │ ├── opening_loc: (6...8) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,12))
+ │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (8...11))
+ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (8...11))
+ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (9...10) = "+"
+ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (10...11))
+ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (10...11))
+ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "+"
- │ │ │ └── closing_loc: (11...12) = "}"
+ │ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ │ └── closing_loc: ∅
- │ └── @ SymbolNode (location: (13...14))
+ │ └── @ SymbolNode (location: (1,13)-(1,14))
│ ├── opening_loc: ∅
- │ ├── value_loc: (13...14) = "c"
+ │ ├── value_loc: (1,13)-(1,14) = "c"
│ ├── closing_loc: ∅
│ └── unescaped: "c"
- ├── opening_loc: (0...3) = "%I("
- └── closing_loc: (14...15) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%I("
+ └── closing_loc: (1,14)-(1,15) = ")"
diff --git a/test/yarp/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/yarp/snapshots/seattlerb/quoted_symbol_hash_arg.txt
index b4aca9a642..a5877fac0c 100644
--- a/test/yarp/snapshots/seattlerb/quoted_symbol_hash_arg.txt
+++ b/test/yarp/snapshots/seattlerb/quoted_symbol_hash_arg.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "puts"
+ ├── message_loc: (1,0)-(1,4) = "puts"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...12))
+ │ @ ArgumentsNode (location: (1,5)-(1,12))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (5...12))
+ │ └── @ KeywordHashNode (location: (1,5)-(1,12))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (5...12))
+ │ └── @ AssocNode (location: (1,5)-(1,12))
│ ├── key:
- │ │ @ SymbolNode (location: (5...9))
- │ │ ├── opening_loc: (5...6) = "'"
- │ │ ├── value_loc: (6...7) = "a"
- │ │ ├── closing_loc: (7...9) = "':"
+ │ │ @ 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: (10...12))
- │ │ ├── opening_loc: (10...11) = "{"
+ │ │ @ HashNode (location: (1,10)-(1,12))
+ │ │ ├── opening_loc: (1,10)-(1,11) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (11...12) = "}"
+ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ └── operator_loc: ∅
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/quoted_symbol_keys.txt b/test/yarp/snapshots/seattlerb/quoted_symbol_keys.txt
index 54a8319116..f7dc2289f3 100644
--- a/test/yarp/snapshots/seattlerb/quoted_symbol_keys.txt
+++ b/test/yarp/snapshots/seattlerb/quoted_symbol_keys.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ HashNode (location: (0...11))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,11))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (2...9))
+ │ └── @ AssocNode (location: (1,2)-(1,9))
│ ├── key:
- │ │ @ SymbolNode (location: (2...6))
- │ │ ├── opening_loc: (2...3) = "'"
- │ │ ├── value_loc: (3...4) = "a"
- │ │ ├── closing_loc: (4...6) = "':"
+ │ │ @ SymbolNode (location: (1,2)-(1,6))
+ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ │ ├── value_loc: (1,3)-(1,4) = "a"
+ │ │ ├── closing_loc: (1,4)-(1,6) = "':"
│ │ └── unescaped: "a"
│ ├── value:
- │ │ @ SymbolNode (location: (7...9))
- │ │ ├── opening_loc: (7...8) = ":"
- │ │ ├── value_loc: (8...9) = "b"
+ │ │ @ SymbolNode (location: (1,7)-(1,9))
+ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
+ │ │ ├── value_loc: (1,8)-(1,9) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ └── operator_loc: ∅
- └── closing_loc: (10...11) = "}"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/yarp/snapshots/seattlerb/qw_escape.txt b/test/yarp/snapshots/seattlerb/qw_escape.txt
index b7f74b5f11..ef60ee32c4 100644
--- a/test/yarp/snapshots/seattlerb/qw_escape.txt
+++ b/test/yarp/snapshots/seattlerb/qw_escape.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ StringNode (location: (0...7))
+ └── @ StringNode (location: (1,0)-(1,7))
├── flags: ∅
- ├── opening_loc: (0...3) = "%q("
- ├── content_loc: (3...6) = "\u0001\\'"
- ├── closing_loc: (6...7) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%q("
+ ├── content_loc: (1,3)-(1,6) = "\u0001\\'"
+ ├── closing_loc: (1,6)-(1,7) = ")"
└── unescaped: "\u0001'"
diff --git a/test/yarp/snapshots/seattlerb/qw_escape_term.txt b/test/yarp/snapshots/seattlerb/qw_escape_term.txt
index 29af932c66..0677055ad6 100644
--- a/test/yarp/snapshots/seattlerb/qw_escape_term.txt
+++ b/test/yarp/snapshots/seattlerb/qw_escape_term.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ StringNode (location: (0...26))
+ └── @ StringNode (location: (1,0)-(1,26))
├── flags: ∅
- ├── opening_loc: (0...3) = "%q|"
- ├── content_loc: (3...25) = "blah blah \\| blah blah"
- ├── closing_loc: (25...26) = "|"
+ ├── opening_loc: (1,0)-(1,3) = "%q|"
+ ├── content_loc: (1,3)-(1,25) = "blah blah \\| blah blah"
+ ├── closing_loc: (1,25)-(1,26) = "|"
└── unescaped: "blah blah \\| blah blah"
diff --git a/test/yarp/snapshots/seattlerb/qwords_empty.txt b/test/yarp/snapshots/seattlerb/qwords_empty.txt
index f2f70c8e51..17ebaf21d9 100644
--- a/test/yarp/snapshots/seattlerb/qwords_empty.txt
+++ b/test/yarp/snapshots/seattlerb/qwords_empty.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...4))
+ └── @ ArrayNode (location: (1,0)-(1,4))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%w("
- └── closing_loc: (3...4) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%w("
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/yarp/snapshots/seattlerb/read_escape_unicode_curlies.txt b/test/yarp/snapshots/seattlerb/read_escape_unicode_curlies.txt
index 4c6f8b3adf..4c4b6b9528 100644
--- a/test/yarp/snapshots/seattlerb/read_escape_unicode_curlies.txt
+++ b/test/yarp/snapshots/seattlerb/read_escape_unicode_curlies.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ StringNode (location: (0...9))
+ └── @ StringNode (location: (1,0)-(1,9))
├── flags: ∅
- ├── opening_loc: (0...1) = "?"
- ├── content_loc: (1...9) = "\\u{00a0}"
+ ├── opening_loc: (1,0)-(1,1) = "?"
+ ├── content_loc: (1,1)-(1,9) = "\\u{00a0}"
├── closing_loc: ∅
└── unescaped: " "
diff --git a/test/yarp/snapshots/seattlerb/read_escape_unicode_h4.txt b/test/yarp/snapshots/seattlerb/read_escape_unicode_h4.txt
index 7ae3182dcf..4bdf2cd2f9 100644
--- a/test/yarp/snapshots/seattlerb/read_escape_unicode_h4.txt
+++ b/test/yarp/snapshots/seattlerb/read_escape_unicode_h4.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ StringNode (location: (0...7))
+ └── @ StringNode (location: (1,0)-(1,7))
├── flags: ∅
- ├── opening_loc: (0...1) = "?"
- ├── content_loc: (1...7) = "\\u00a0"
+ ├── opening_loc: (1,0)-(1,1) = "?"
+ ├── content_loc: (1,1)-(1,7) = "\\u00a0"
├── closing_loc: ∅
└── unescaped: " "
diff --git a/test/yarp/snapshots/seattlerb/regexp.txt b/test/yarp/snapshots/seattlerb/regexp.txt
index 5c81923188..fead46a8be 100644
--- a/test/yarp/snapshots/seattlerb/regexp.txt
+++ b/test/yarp/snapshots/seattlerb/regexp.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...45))
+@ ProgramNode (location: (1,0)-(9,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...45))
+ @ StatementsNode (location: (1,0)-(9,13))
└── body: (length: 5)
- ├── @ RegularExpressionNode (location: (0...5))
- │ ├── opening_loc: (0...1) = "/"
- │ ├── content_loc: (1...4) = "wtf"
- │ ├── closing_loc: (4...5) = "/"
+ ├── @ RegularExpressionNode (location: (1,0)-(1,5))
+ │ ├── opening_loc: (1,0)-(1,1) = "/"
+ │ ├── content_loc: (1,1)-(1,4) = "wtf"
+ │ ├── closing_loc: (1,4)-(1,5) = "/"
│ ├── unescaped: "wtf"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (7...13))
- │ ├── opening_loc: (7...8) = "/"
- │ ├── content_loc: (8...11) = "wtf"
- │ ├── closing_loc: (11...13) = "/m"
+ ├── @ RegularExpressionNode (location: (3,0)-(3,6))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (15...21))
- │ ├── opening_loc: (15...16) = "/"
- │ ├── content_loc: (16...19) = "wtf"
- │ ├── closing_loc: (19...21) = "/n"
+ ├── @ RegularExpressionNode (location: (5,0)-(5,6))
+ │ ├── 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
- ├── @ RegularExpressionNode (location: (23...30))
- │ ├── opening_loc: (23...24) = "/"
- │ ├── content_loc: (24...27) = "wtf"
- │ ├── closing_loc: (27...30) = "/nm"
+ ├── @ RegularExpressionNode (location: (7,0)-(7,7))
+ │ ├── 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
- └── @ RegularExpressionNode (location: (32...45))
- ├── opening_loc: (32...33) = "/"
- ├── content_loc: (33...36) = "wtf"
- ├── closing_loc: (36...45) = "/nmnmnmnm"
+ └── @ RegularExpressionNode (location: (9,0)-(9,13))
+ ├── 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
diff --git a/test/yarp/snapshots/seattlerb/regexp_esc_C_slash.txt b/test/yarp/snapshots/seattlerb/regexp_esc_C_slash.txt
index 0dea77a522..3bc991033c 100644
--- a/test/yarp/snapshots/seattlerb/regexp_esc_C_slash.txt
+++ b/test/yarp/snapshots/seattlerb/regexp_esc_C_slash.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...7))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...6) = "\\cC\\d"
- ├── closing_loc: (6...7) = "/"
+ └── @ RegularExpressionNode (location: (1,0)-(1,7))
+ ├── opening_loc: (1,0)-(1,1) = "/"
+ ├── content_loc: (1,1)-(1,6) = "\\cC\\d"
+ ├── closing_loc: (1,6)-(1,7) = "/"
├── unescaped: "\u0003d"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/regexp_esc_u.txt b/test/yarp/snapshots/seattlerb/regexp_esc_u.txt
index 469102389a..adbfe36880 100644
--- a/test/yarp/snapshots/seattlerb/regexp_esc_u.txt
+++ b/test/yarp/snapshots/seattlerb/regexp_esc_u.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...17))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...16) = "[\\u0021-\\u0027]"
- ├── closing_loc: (16...17) = "/"
+ └── @ RegularExpressionNode (location: (1,0)-(1,17))
+ ├── opening_loc: (1,0)-(1,1) = "/"
+ ├── content_loc: (1,1)-(1,16) = "[\\u0021-\\u0027]"
+ ├── closing_loc: (1,16)-(1,17) = "/"
├── unescaped: "[!-']"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/regexp_escape_extended.txt b/test/yarp/snapshots/seattlerb/regexp_escape_extended.txt
index ceaaa99b20..a8fb9a56f0 100644
--- a/test/yarp/snapshots/seattlerb/regexp_escape_extended.txt
+++ b/test/yarp/snapshots/seattlerb/regexp_escape_extended.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...6))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...5) = "\\“"
- ├── closing_loc: (5...6) = "/"
+ └── @ RegularExpressionNode (location: (1,0)-(1,6))
+ ├── opening_loc: (1,0)-(1,1) = "/"
+ ├── content_loc: (1,1)-(1,5) = "\\“"
+ ├── closing_loc: (1,5)-(1,6) = "/"
├── unescaped: "“"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/regexp_unicode_curlies.txt b/test/yarp/snapshots/seattlerb/regexp_unicode_curlies.txt
index e737533c1e..5e039bd16e 100644
--- a/test/yarp/snapshots/seattlerb/regexp_unicode_curlies.txt
+++ b/test/yarp/snapshots/seattlerb/regexp_unicode_curlies.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(3,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
- ├── @ RegularExpressionNode (location: (0...15))
- │ ├── opening_loc: (0...1) = "/"
- │ ├── content_loc: (1...14) = "\\u{c0de babe}"
- │ ├── closing_loc: (14...15) = "/"
+ ├── @ RegularExpressionNode (location: (1,0)-(1,15))
+ │ ├── opening_loc: (1,0)-(1,1) = "/"
+ │ ├── content_loc: (1,1)-(1,14) = "\\u{c0de babe}"
+ │ ├── closing_loc: (1,14)-(1,15) = "/"
│ ├── unescaped: "샞몾"
│ └── flags: ∅
- └── @ RegularExpressionNode (location: (17...25))
- ├── opening_loc: (17...18) = "/"
- ├── content_loc: (18...24) = "\\u{df}"
- ├── closing_loc: (24...25) = "/"
+ └── @ RegularExpressionNode (location: (3,0)-(3,8))
+ ├── opening_loc: (3,0)-(3,1) = "/"
+ ├── content_loc: (3,1)-(3,7) = "\\u{df}"
+ ├── closing_loc: (3,7)-(3,8) = "/"
├── unescaped: "ß"
└── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/required_kwarg_no_value.txt b/test/yarp/snapshots/seattlerb/required_kwarg_no_value.txt
index 706e51cb82..ccfdab2a14 100644
--- a/test/yarp/snapshots/seattlerb/required_kwarg_no_value.txt
+++ b/test/yarp/snapshots/seattlerb/required_kwarg_no_value.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...16))
+ └── @ DefNode (location: (1,0)-(2,3))
├── name: :x
- ├── name_loc: (4...5) = "x"
+ ├── name_loc: (1,4)-(1,5) = "x"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 2)
- │ │ ├── @ KeywordParameterNode (location: (6...8))
+ │ │ ├── @ KeywordParameterNode (location: (1,6)-(1,8))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (6...8) = "a:"
+ │ │ │ ├── name_loc: (1,6)-(1,8) = "a:"
│ │ │ └── value: ∅
- │ │ └── @ KeywordParameterNode (location: (10...12))
+ │ │ └── @ KeywordParameterNode (location: (1,10)-(1,12))
│ │ ├── name: :b
- │ │ ├── name_loc: (10...12) = "b:"
+ │ │ ├── name_loc: (1,10)-(1,12) = "b:"
│ │ └── value: ∅
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:a, :b]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (13...16) = "end"
+ └── end_keyword_loc: (2,0)-(2,3) = "end"
diff --git a/test/yarp/snapshots/seattlerb/rescue_do_end_ensure_result.txt b/test/yarp/snapshots/seattlerb/rescue_do_end_ensure_result.txt
index 3adabcda3a..e5f1a1e2ab 100644
--- a/test/yarp/snapshots/seattlerb/rescue_do_end_ensure_result.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_do_end_ensure_result.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(5,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...42))
+ └── @ CallNode (location: (1,0)-(5,8))
├── receiver:
- │ @ CallNode (location: (0...37))
+ │ @ CallNode (location: (1,0)-(5,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "proc"
+ │ ├── message_loc: (1,0)-(1,4) = "proc"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (5...37))
+ │ │ @ BlockNode (location: (1,5)-(5,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (10...37))
+ │ │ │ @ BeginNode (location: (2,2)-(5,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (10...16))
+ │ │ │ │ @ StatementsNode (location: (2,2)-(2,8))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (10...16))
- │ │ │ │ ├── opening_loc: (10...11) = ":"
- │ │ │ │ ├── value_loc: (11...16) = "begin"
+ │ │ │ │ └── @ 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: (17...37))
- │ │ │ │ ├── ensure_keyword_loc: (17...23) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (3,0)-(5,3))
+ │ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (26...33))
+ │ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ SymbolNode (location: (26...33))
- │ │ │ │ │ ├── opening_loc: (26...27) = ":"
- │ │ │ │ │ ├── value_loc: (27...33) = "ensure"
+ │ │ │ │ │ └── @ 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: (34...37) = "end"
- │ │ │ └── end_keyword_loc: (34...37) = "end"
- │ │ ├── opening_loc: (5...7) = "do"
- │ │ └── closing_loc: (34...37) = "end"
+ │ │ │ │ └── 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: ∅
│ └── name: "proc"
- ├── call_operator_loc: (37...38) = "."
- ├── message_loc: (38...42) = "call"
+ ├── call_operator_loc: (5,3)-(5,4) = "."
+ ├── message_loc: (5,4)-(5,8) = "call"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/rescue_do_end_no_raise.txt b/test/yarp/snapshots/seattlerb/rescue_do_end_no_raise.txt
index ea94b2d1c3..88907d510d 100644
--- a/test/yarp/snapshots/seattlerb/rescue_do_end_no_raise.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_do_end_no_raise.txt
@@ -1,71 +1,71 @@
-@ ProgramNode (location: (0...66))
+@ ProgramNode (location: (1,0)-(9,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...66))
+ @ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...66))
+ └── @ CallNode (location: (1,0)-(9,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "tap"
+ ├── message_loc: (1,0)-(1,3) = "tap"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...66))
+ │ @ BlockNode (location: (1,4)-(9,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (9...66))
+ │ │ @ BeginNode (location: (2,2)-(9,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (9...15))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (9...15))
- │ │ │ ├── opening_loc: (9...10) = ":"
- │ │ │ ├── value_loc: (10...15) = "begin"
+ │ │ │ └── @ 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: (16...32))
- │ │ │ ├── keyword_loc: (16...22) = "rescue"
+ │ │ │ @ RescueNode (location: (3,0)-(4,9))
+ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (25...32))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (25...32))
- │ │ │ │ ├── opening_loc: (25...26) = ":"
- │ │ │ │ ├── value_loc: (26...32) = "rescue"
+ │ │ │ │ └── @ 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: (33...52))
- │ │ │ ├── else_keyword_loc: (33...37) = "else"
+ │ │ │ @ ElseNode (location: (5,0)-(7,6))
+ │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (40...45))
+ │ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (40...45))
- │ │ │ │ ├── opening_loc: (40...41) = ":"
- │ │ │ │ ├── value_loc: (41...45) = "else"
+ │ │ │ │ └── @ 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: (46...52) = "ensure"
+ │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (46...66))
- │ │ │ ├── ensure_keyword_loc: (46...52) = "ensure"
+ │ │ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (55...62))
+ │ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (55...62))
- │ │ │ │ ├── opening_loc: (55...56) = ":"
- │ │ │ │ ├── value_loc: (56...62) = "ensure"
+ │ │ │ │ └── @ 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: (63...66) = "end"
- │ │ └── end_keyword_loc: (63...66) = "end"
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (63...66) = "end"
+ │ │ │ └── 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: ∅
└── name: "tap"
diff --git a/test/yarp/snapshots/seattlerb/rescue_do_end_raised.txt b/test/yarp/snapshots/seattlerb/rescue_do_end_raised.txt
index dd7d4c28b1..c0fd317c9e 100644
--- a/test/yarp/snapshots/seattlerb/rescue_do_end_raised.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_do_end_raised.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(5,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(5,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...35))
+ └── @ CallNode (location: (1,0)-(5,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "tap"
+ ├── message_loc: (1,0)-(1,3) = "tap"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...35))
+ │ @ BlockNode (location: (1,4)-(5,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (9...35))
+ │ │ @ BeginNode (location: (2,2)-(5,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (9...14))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (9...14))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (9...14) = "raise"
+ │ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -33,19 +33,19 @@
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (15...35))
- │ │ │ ├── ensure_keyword_loc: (15...21) = "ensure"
+ │ │ │ @ EnsureNode (location: (3,0)-(5,3))
+ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (24...31))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (24...31))
- │ │ │ │ ├── opening_loc: (24...25) = ":"
- │ │ │ │ ├── value_loc: (25...31) = "ensure"
+ │ │ │ │ └── @ 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: (32...35) = "end"
- │ │ └── end_keyword_loc: (32...35) = "end"
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (32...35) = "end"
+ │ │ │ └── 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: ∅
└── name: "tap"
diff --git a/test/yarp/snapshots/seattlerb/rescue_do_end_rescued.txt b/test/yarp/snapshots/seattlerb/rescue_do_end_rescued.txt
index a223f13225..91e8062ae3 100644
--- a/test/yarp/snapshots/seattlerb/rescue_do_end_rescued.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_do_end_rescued.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...65))
+@ ProgramNode (location: (1,0)-(9,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...65))
+ @ StatementsNode (location: (1,0)-(9,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...65))
+ └── @ CallNode (location: (1,0)-(9,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "tap"
+ ├── message_loc: (1,0)-(1,3) = "tap"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (4...65))
+ │ @ BlockNode (location: (1,4)-(9,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (9...65))
+ │ │ @ BeginNode (location: (2,2)-(9,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (9...14))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (9...14))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (9...14) = "raise"
+ │ │ │ ├── message_loc: (2,2)-(2,7) = "raise"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -31,46 +31,46 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "raise"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (15...31))
- │ │ │ ├── keyword_loc: (15...21) = "rescue"
+ │ │ │ @ RescueNode (location: (3,0)-(4,9))
+ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (24...31))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (24...31))
- │ │ │ │ ├── opening_loc: (24...25) = ":"
- │ │ │ │ ├── value_loc: (25...31) = "rescue"
+ │ │ │ │ └── @ 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: (32...51))
- │ │ │ ├── else_keyword_loc: (32...36) = "else"
+ │ │ │ @ ElseNode (location: (5,0)-(7,6))
+ │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (39...44))
+ │ │ │ │ @ StatementsNode (location: (6,2)-(6,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (39...44))
- │ │ │ │ ├── opening_loc: (39...40) = ":"
- │ │ │ │ ├── value_loc: (40...44) = "else"
+ │ │ │ │ └── @ 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: (45...51) = "ensure"
+ │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (45...65))
- │ │ │ ├── ensure_keyword_loc: (45...51) = "ensure"
+ │ │ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (54...61))
+ │ │ │ │ @ StatementsNode (location: (8,2)-(8,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (54...61))
- │ │ │ │ ├── opening_loc: (54...55) = ":"
- │ │ │ │ ├── value_loc: (55...61) = "ensure"
+ │ │ │ │ └── @ 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: (62...65) = "end"
- │ │ └── end_keyword_loc: (62...65) = "end"
- │ ├── opening_loc: (4...6) = "do"
- │ └── closing_loc: (62...65) = "end"
+ │ │ │ └── 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: ∅
└── name: "tap"
diff --git a/test/yarp/snapshots/seattlerb/rescue_in_block.txt b/test/yarp/snapshots/seattlerb/rescue_in_block.txt
index 262a21ad46..58f6282558 100644
--- a/test/yarp/snapshots/seattlerb/rescue_in_block.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_in_block.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...26))
+ └── @ CallNode (location: (1,0)-(4,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "blah"
+ ├── message_loc: (1,0)-(1,4) = "blah"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...26))
+ │ @ BlockNode (location: (1,5)-(4,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (8...26))
+ │ │ @ BeginNode (location: (2,0)-(4,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements: ∅
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (8...22))
- │ │ │ ├── keyword_loc: (8...14) = "rescue"
+ │ │ │ @ RescueNode (location: (2,0)-(3,7))
+ │ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (17...22))
+ │ │ │ │ @ StatementsNode (location: (3,2)-(3,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (17...22))
+ │ │ │ │ └── @ CallNode (location: (3,2)-(3,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (17...22) = "stuff"
+ │ │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -40,8 +40,8 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (23...26) = "end"
- │ ├── opening_loc: (5...7) = "do"
- │ └── closing_loc: (23...26) = "end"
+ │ │ └── end_keyword_loc: (4,0)-(4,3) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (4,0)-(4,3) = "end"
├── flags: ∅
└── name: "blah"
diff --git a/test/yarp/snapshots/seattlerb/rescue_parens.txt b/test/yarp/snapshots/seattlerb/rescue_parens.txt
index 4c4c5da6f8..e97a46a8ec 100644
--- a/test/yarp/snapshots/seattlerb/rescue_parens.txt
+++ b/test/yarp/snapshots/seattlerb/rescue_parens.txt
@@ -1,46 +1,46 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...14))
+ │ @ ArgumentsNode (location: (1,2)-(1,14))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (2...14))
+ │ └── @ ParenthesesNode (location: (1,2)-(1,14))
│ ├── body:
- │ │ @ StatementsNode (location: (3...13))
+ │ │ @ StatementsNode (location: (1,3)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (3...13))
+ │ │ └── @ RescueModifierNode (location: (1,3)-(1,13))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (3...4))
+ │ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3...4) = "b"
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── keyword_loc: (5...11) = "rescue"
+ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
│ │ └── rescue_expression:
- │ │ @ CallNode (location: (12...13))
+ │ │ @ CallNode (location: (1,12)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...13) = "c"
+ │ │ ├── message_loc: (1,12)-(1,13) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (13...14) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,13)-(1,14) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/seattlerb/return_call_assocs.txt b/test/yarp/snapshots/seattlerb/return_call_assocs.txt
index 983001a470..cfbf7fda5c 100644
--- a/test/yarp/snapshots/seattlerb/return_call_assocs.txt
+++ b/test/yarp/snapshots/seattlerb/return_call_assocs.txt
@@ -1,170 +1,170 @@
-@ ProgramNode (location: (0...106))
+@ ProgramNode (location: (1,0)-(11,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...106))
+ @ StatementsNode (location: (1,0)-(11,14))
└── body: (length: 6)
- ├── @ ReturnNode (location: (0...17))
- │ ├── keyword_loc: (0...6) = "return"
+ ├── @ ReturnNode (location: (1,0)-(1,17))
+ │ ├── keyword_loc: (1,0)-(1,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (7...17))
+ │ @ ArgumentsNode (location: (1,7)-(1,17))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (7...8))
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (10...17))
+ │ └── @ KeywordHashNode (location: (1,10)-(1,17))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (10...17))
+ │ └── @ AssocNode (location: (1,10)-(1,17))
│ ├── key:
- │ │ @ SymbolNode (location: (10...12))
- │ │ ├── opening_loc: (10...11) = ":"
- │ │ ├── value_loc: (11...12) = "z"
+ │ │ @ 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: (16...17))
+ │ │ @ IntegerNode (location: (1,16)-(1,17))
│ │ └── flags: decimal
- │ └── operator_loc: (13...15) = "=>"
- ├── @ ReturnNode (location: (19...45))
- │ ├── keyword_loc: (19...25) = "return"
+ │ └── operator_loc: (1,13)-(1,15) = "=>"
+ ├── @ ReturnNode (location: (3,0)-(3,26))
+ │ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (26...45))
+ │ @ ArgumentsNode (location: (3,7)-(3,26))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (26...27))
+ │ ├── @ IntegerNode (location: (3,7)-(3,8))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (29...45))
+ │ └── @ KeywordHashNode (location: (3,10)-(3,26))
│ └── elements: (length: 2)
- │ ├── @ AssocNode (location: (29...36))
+ │ ├── @ AssocNode (location: (3,10)-(3,17))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (29...31))
- │ │ │ ├── opening_loc: (29...30) = ":"
- │ │ │ ├── value_loc: (30...31) = "z"
+ │ │ │ @ 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: (35...36))
+ │ │ │ @ IntegerNode (location: (3,16)-(3,17))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (32...34) = "=>"
- │ └── @ AssocNode (location: (38...45))
+ │ │ └── operator_loc: (3,13)-(3,15) = "=>"
+ │ └── @ AssocNode (location: (3,19)-(3,26))
│ ├── key:
- │ │ @ SymbolNode (location: (38...40))
- │ │ ├── opening_loc: (38...39) = ":"
- │ │ ├── value_loc: (39...40) = "w"
+ │ │ @ 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: (44...45))
+ │ │ @ IntegerNode (location: (3,25)-(3,26))
│ │ └── flags: decimal
- │ └── operator_loc: (41...43) = "=>"
- ├── @ ReturnNode (location: (47...61))
- │ ├── keyword_loc: (47...53) = "return"
+ │ └── operator_loc: (3,22)-(3,24) = "=>"
+ ├── @ ReturnNode (location: (5,0)-(5,14))
+ │ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (54...61))
+ │ @ ArgumentsNode (location: (5,7)-(5,14))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (54...61))
+ │ └── @ CallNode (location: (5,7)-(5,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (54...55) = "y"
+ │ ├── message_loc: (5,7)-(5,8) = "y"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (56...61))
+ │ │ @ ArgumentsNode (location: (5,9)-(5,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (56...61))
+ │ │ └── @ KeywordHashNode (location: (5,9)-(5,14))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (56...61))
+ │ │ └── @ AssocNode (location: (5,9)-(5,14))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (56...58))
- │ │ │ ├── opening_loc: (56...57) = ":"
- │ │ │ ├── value_loc: (57...58) = "z"
+ │ │ │ @ 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: (60...61))
+ │ │ │ @ IntegerNode (location: (5,13)-(5,14))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (58...60) = "=>"
+ │ │ └── operator_loc: (5,11)-(5,13) = "=>"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "y"
- ├── @ ReturnNode (location: (63...75))
- │ ├── keyword_loc: (63...69) = "return"
+ ├── @ ReturnNode (location: (7,0)-(7,12))
+ │ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (70...75))
+ │ @ ArgumentsNode (location: (7,7)-(7,12))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (70...75))
+ │ └── @ CallNode (location: (7,7)-(7,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (70...71) = "y"
+ │ ├── message_loc: (7,7)-(7,8) = "y"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (72...75))
+ │ │ @ ArgumentsNode (location: (7,9)-(7,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (72...75))
+ │ │ └── @ KeywordHashNode (location: (7,9)-(7,12))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (72...75))
+ │ │ └── @ AssocNode (location: (7,9)-(7,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (72...74))
+ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (72...73) = "z"
- │ │ │ ├── closing_loc: (73...74) = ":"
+ │ │ │ ├── value_loc: (7,9)-(7,10) = "z"
+ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
│ │ │ └── unescaped: "z"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (74...75))
+ │ │ │ @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "y"
- ├── @ ReturnNode (location: (77...90))
- │ ├── keyword_loc: (77...83) = "return"
+ ├── @ ReturnNode (location: (9,0)-(9,13))
+ │ ├── keyword_loc: (9,0)-(9,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (84...90))
+ │ @ ArgumentsNode (location: (9,7)-(9,13))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (84...90))
+ │ └── @ CallNode (location: (9,7)-(9,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (84...85) = "y"
- │ ├── opening_loc: (85...86) = "("
+ │ ├── message_loc: (9,7)-(9,8) = "y"
+ │ ├── opening_loc: (9,8)-(9,9) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (86...89))
+ │ │ @ ArgumentsNode (location: (9,9)-(9,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (86...89))
+ │ │ └── @ KeywordHashNode (location: (9,9)-(9,12))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (86...89))
+ │ │ └── @ AssocNode (location: (9,9)-(9,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (86...88))
+ │ │ │ @ SymbolNode (location: (9,9)-(9,11))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (86...87) = "z"
- │ │ │ ├── closing_loc: (87...88) = ":"
+ │ │ │ ├── value_loc: (9,9)-(9,10) = "z"
+ │ │ │ ├── closing_loc: (9,10)-(9,11) = ":"
│ │ │ └── unescaped: "z"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (88...89))
+ │ │ │ @ IntegerNode (location: (9,11)-(9,12))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (89...90) = ")"
+ │ ├── closing_loc: (9,12)-(9,13) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "y"
- └── @ ReturnNode (location: (92...106))
- ├── keyword_loc: (92...98) = "return"
+ └── @ ReturnNode (location: (11,0)-(11,14))
+ ├── keyword_loc: (11,0)-(11,6) = "return"
└── arguments:
- @ ArgumentsNode (location: (99...106))
+ @ ArgumentsNode (location: (11,7)-(11,14))
└── arguments: (length: 1)
- └── @ CallNode (location: (99...106))
+ └── @ CallNode (location: (11,7)-(11,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (99...100) = "y"
- ├── opening_loc: (100...101) = "("
+ ├── message_loc: (11,7)-(11,8) = "y"
+ ├── opening_loc: (11,8)-(11,9) = "("
├── arguments:
- │ @ ArgumentsNode (location: (101...105))
+ │ @ ArgumentsNode (location: (11,9)-(11,13))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (101...105))
+ │ └── @ KeywordHashNode (location: (11,9)-(11,13))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (101...105))
+ │ └── @ AssocNode (location: (11,9)-(11,13))
│ ├── key:
- │ │ @ CallNode (location: (101...102))
+ │ │ @ CallNode (location: (11,9)-(11,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (101...102) = "z"
+ │ │ ├── message_loc: (11,9)-(11,10) = "z"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -172,10 +172,10 @@
│ │ ├── flags: variable_call
│ │ └── name: "z"
│ ├── value:
- │ │ @ IntegerNode (location: (104...105))
+ │ │ @ IntegerNode (location: (11,12)-(11,13))
│ │ └── flags: decimal
- │ └── operator_loc: (102...104) = "=>"
- ├── closing_loc: (105...106) = ")"
+ │ └── operator_loc: (11,10)-(11,12) = "=>"
+ ├── closing_loc: (11,13)-(11,14) = ")"
├── block: ∅
├── flags: ∅
└── name: "y"
diff --git a/test/yarp/snapshots/seattlerb/rhs_asgn.txt b/test/yarp/snapshots/seattlerb/rhs_asgn.txt
index 2fe0e3ad3e..61ed05f4e1 100644
--- a/test/yarp/snapshots/seattlerb/rhs_asgn.txt
+++ b/test/yarp/snapshots/seattlerb/rhs_asgn.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: [:n]
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ MatchRequiredNode (location: (0...7))
+ └── @ MatchRequiredNode (location: (1,0)-(1,7))
├── value:
- │ @ IntegerNode (location: (0...2))
+ │ @ IntegerNode (location: (1,0)-(1,2))
│ └── flags: decimal
├── pattern:
- │ @ LocalVariableTargetNode (location: (6...7))
+ │ @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ ├── name: :n
│ └── depth: 0
- └── operator_loc: (3...5) = "=>"
+ └── operator_loc: (1,3)-(1,5) = "=>"
diff --git a/test/yarp/snapshots/seattlerb/ruby21_numbers.txt b/test/yarp/snapshots/seattlerb/ruby21_numbers.txt
index c27184b1c7..d855195ca6 100644
--- a/test/yarp/snapshots/seattlerb/ruby21_numbers.txt
+++ b/test/yarp/snapshots/seattlerb/ruby21_numbers.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...13))
+ └── @ ArrayNode (location: (1,0)-(1,13))
├── elements: (length: 3)
- │ ├── @ ImaginaryNode (location: (1...3))
+ │ ├── @ ImaginaryNode (location: (1,1)-(1,3))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (1...2))
+ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
- │ ├── @ RationalNode (location: (5...7))
+ │ ├── @ RationalNode (location: (1,5)-(1,7))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ └── @ ImaginaryNode (location: (9...12))
+ │ └── @ ImaginaryNode (location: (1,9)-(1,12))
│ └── numeric:
- │ @ RationalNode (location: (9...11))
+ │ @ RationalNode (location: (1,9)-(1,11))
│ └── numeric:
- │ @ IntegerNode (location: (9...10))
+ │ @ IntegerNode (location: (1,9)-(1,10))
│ └── flags: decimal
- ├── opening_loc: (0...1) = "["
- └── closing_loc: (12...13) = "]"
+ ├── opening_loc: (1,0)-(1,1) = "["
+ └── closing_loc: (1,12)-(1,13) = "]"
diff --git a/test/yarp/snapshots/seattlerb/safe_attrasgn.txt b/test/yarp/snapshots/seattlerb/safe_attrasgn.txt
index 6624bb372b..e6ea102a26 100644
--- a/test/yarp/snapshots/seattlerb/safe_attrasgn.txt
+++ b/test/yarp/snapshots/seattlerb/safe_attrasgn.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (7...8))
+ │ @ ArgumentsNode (location: (1,7)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_attrasgn_constant.txt b/test/yarp/snapshots/seattlerb/safe_attrasgn_constant.txt
index 5ae570bf0d..3bf82ed234 100644
--- a/test/yarp/snapshots/seattlerb/safe_attrasgn_constant.txt
+++ b/test/yarp/snapshots/seattlerb/safe_attrasgn_constant.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "B"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "B"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (7...8))
+ │ @ ArgumentsNode (location: (1,7)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_call.txt b/test/yarp/snapshots/seattlerb/safe_call.txt
index 281a3e3df6..cf7412a9fa 100644
--- a/test/yarp/snapshots/seattlerb/safe_call.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_call_after_newline.txt b/test/yarp/snapshots/seattlerb/safe_call_after_newline.txt
index 530d8c3da9..ef16c63d2b 100644
--- a/test/yarp/snapshots/seattlerb/safe_call_after_newline.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call_after_newline.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(2,3))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (2...4) = "&."
- ├── message_loc: (4...5) = "b"
+ ├── call_operator_loc: (2,0)-(2,2) = "&."
+ ├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_call_dot_parens.txt b/test/yarp/snapshots/seattlerb/safe_call_dot_parens.txt
index be8bd5cc0e..b152d6230b 100644
--- a/test/yarp/snapshots/seattlerb/safe_call_dot_parens.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call_dot_parens.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ CallNode (location: (0...5))
+ └── @ CallNode (location: (1,0)-(1,5))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
├── message_loc: ∅
- ├── opening_loc: (3...4) = "("
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
- ├── closing_loc: (4...5) = ")"
+ ├── closing_loc: (1,4)-(1,5) = ")"
├── block: ∅
├── flags: safe_navigation
└── name: "call"
diff --git a/test/yarp/snapshots/seattlerb/safe_call_newline.txt b/test/yarp/snapshots/seattlerb/safe_call_newline.txt
index 281a3e3df6..cf7412a9fa 100644
--- a/test/yarp/snapshots/seattlerb/safe_call_newline.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call_newline.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_call_operator.txt b/test/yarp/snapshots/seattlerb/safe_call_operator.txt
index cbb19dd552..d24465ef89 100644
--- a/test/yarp/snapshots/seattlerb/safe_call_operator.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call_operator.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = ">"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = ">"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...6))
+ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (5...6))
+ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_call_rhs_newline.txt b/test/yarp/snapshots/seattlerb/safe_call_rhs_newline.txt
index a8580d80fd..779a26b9a4 100644
--- a/test/yarp/snapshots/seattlerb/safe_call_rhs_newline.txt
+++ b/test/yarp/snapshots/seattlerb/safe_call_rhs_newline.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: [:c]
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...8))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,8))
├── name: :c
├── depth: 0
- ├── name_loc: (0...1) = "c"
+ ├── name_loc: (1,0)-(1,1) = "c"
├── value:
- │ @ CallNode (location: (4...8))
+ │ @ CallNode (location: (1,4)-(1,8))
│ ├── receiver:
- │ │ @ CallNode (location: (4...5))
+ │ │ @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "a"
+ │ │ ├── message_loc: (1,4)-(1,5) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (5...7) = "&."
- │ ├── message_loc: (7...8) = "b"
+ │ ├── call_operator_loc: (1,5)-(1,7) = "&."
+ │ ├── message_loc: (1,7)-(1,8) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/seattlerb/safe_calls.txt b/test/yarp/snapshots/seattlerb/safe_calls.txt
index 54656340d1..f4f9644f12 100644
--- a/test/yarp/snapshots/seattlerb/safe_calls.txt
+++ b/test/yarp/snapshots/seattlerb/safe_calls.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(1,4))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (1...3) = "&."
- │ ├── message_loc: (3...4) = "b"
+ │ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ │ ├── message_loc: (1,3)-(1,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- ├── call_operator_loc: (4...6) = "&."
- ├── message_loc: (6...7) = "c"
- ├── opening_loc: (7...8) = "("
+ ├── call_operator_loc: (1,4)-(1,6) = "&."
+ ├── message_loc: (1,6)-(1,7) = "c"
+ ├── opening_loc: (1,7)-(1,8) = "("
├── arguments:
- │ @ ArgumentsNode (location: (8...9))
+ │ @ ArgumentsNode (location: (1,8)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (8...9))
+ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ └── flags: decimal
- ├── closing_loc: (9...10) = ")"
+ ├── closing_loc: (1,9)-(1,10) = ")"
├── block: ∅
├── flags: safe_navigation
└── name: "c"
diff --git a/test/yarp/snapshots/seattlerb/safe_op_asgn.txt b/test/yarp/snapshots/seattlerb/safe_op_asgn.txt
index 256b491802..eee4cd1b42 100644
--- a/test/yarp/snapshots/seattlerb/safe_op_asgn.txt
+++ b/test/yarp/snapshots/seattlerb/safe_op_asgn.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...11))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,11))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -24,17 +24,17 @@
├── read_name: "b"
├── write_name: "b="
├── operator: :+
- ├── operator_loc: (5...7) = "+="
+ ├── operator_loc: (1,5)-(1,7) = "+="
└── value:
- @ CallNode (location: (8...11))
+ @ CallNode (location: (1,8)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "x"
+ ├── message_loc: (1,8)-(1,9) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (10...11))
+ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (10...11))
+ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/safe_op_asgn2.txt b/test/yarp/snapshots/seattlerb/safe_op_asgn2.txt
index 3b6433287c..f7d02d3e55 100644
--- a/test/yarp/snapshots/seattlerb/safe_op_asgn2.txt
+++ b/test/yarp/snapshots/seattlerb/safe_op_asgn2.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
- └── @ CallOrWriteNode (location: (0...10))
+ └── @ CallOrWriteNode (location: (1,0)-(2,1))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── flags: safe_navigation
├── read_name: "b"
├── write_name: "b="
- ├── operator_loc: (5...8) = "||="
+ ├── operator_loc: (1,5)-(1,8) = "||="
└── value:
- @ CallNode (location: (9...10))
+ @ CallNode (location: (2,0)-(2,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (9...10) = "x"
+ ├── message_loc: (2,0)-(2,1) = "x"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/slashy_newlines_within_string.txt b/test/yarp/snapshots/seattlerb/slashy_newlines_within_string.txt
index d8dd1a35d6..49e5265871 100644
--- a/test/yarp/snapshots/seattlerb/slashy_newlines_within_string.txt
+++ b/test/yarp/snapshots/seattlerb/slashy_newlines_within_string.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(6,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(6,5))
└── body: (length: 2)
- ├── @ CallNode (location: (0...33))
+ ├── @ CallNode (location: (1,0)-(4,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "puts"
+ │ ├── message_loc: (1,0)-(1,4) = "puts"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (5...33))
+ │ │ @ ArgumentsNode (location: (1,5)-(4,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (5...33))
+ │ │ └── @ StringNode (location: (1,5)-(4,8))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (5...6) = "\""
- │ │ ├── content_loc: (6...32) = "hello\\\n my\\\n dear\\\n friend"
- │ │ ├── closing_loc: (32...33) = "\""
+ │ │ ├── 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: ∅
│ └── name: "puts"
- └── @ CallNode (location: (35...40))
+ └── @ CallNode (location: (6,0)-(6,5))
├── receiver:
- │ @ CallNode (location: (35...36))
+ │ @ CallNode (location: (6,0)-(6,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (35...36) = "a"
+ │ ├── message_loc: (6,0)-(6,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -34,15 +34,15 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (37...38) = "+"
+ ├── message_loc: (6,2)-(6,3) = "+"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (39...40))
+ │ @ ArgumentsNode (location: (6,4)-(6,5))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (39...40))
+ │ └── @ CallNode (location: (6,4)-(6,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (39...40) = "b"
+ │ ├── message_loc: (6,4)-(6,5) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_arg_no_paren.txt b/test/yarp/snapshots/seattlerb/stabby_arg_no_paren.txt
index 6086d83a62..7392e71525 100644
--- a/test/yarp/snapshots/seattlerb/stabby_arg_no_paren.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_arg_no_paren.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...5))
+ └── @ LambdaNode (location: (1,0)-(1,5))
├── locals: [:a]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (3...4) = "{"
- ├── closing_loc: (4...5) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,3)-(1,4) = "{"
+ ├── closing_loc: (1,4)-(1,5) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (2...3))
+ │ @ BlockParametersNode (location: (1,2)-(1,3))
│ ├── parameters:
- │ │ @ ParametersNode (location: (2...3))
+ │ │ @ ParametersNode (location: (1,2)-(1,3))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (2...3))
+ │ │ │ └── @ RequiredParameterNode (location: (1,2)-(1,3))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt b/test/yarp/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt
index 8966fde7cb..0661b2a2aa 100644
--- a/test/yarp/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...23))
+ └── @ LambdaNode (location: (1,0)-(1,23))
├── locals: [:b, :c, :d, :e, :f]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (21...22) = "{"
- ├── closing_loc: (22...23) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,21)-(1,22) = "{"
+ ├── closing_loc: (1,22)-(1,23) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (2...21))
+ │ @ BlockParametersNode (location: (1,2)-(1,21))
│ ├── parameters:
- │ │ @ ParametersNode (location: (3...20))
+ │ │ @ ParametersNode (location: (1,3)-(1,20))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (3...4))
+ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (6...9))
+ │ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,9))
│ │ │ ├── name: :c
- │ │ │ ├── name_loc: (6...7) = "c"
- │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ ├── name_loc: (1,6)-(1,7) = "c"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ └── flags: decimal
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (11...13))
+ │ │ │ @ RestParameterNode (location: (1,11)-(1,13))
│ │ │ ├── name: :d
- │ │ │ ├── name_loc: (12...13) = "d"
- │ │ │ └── operator_loc: (11...12) = "*"
+ │ │ │ ├── name_loc: (1,12)-(1,13) = "d"
+ │ │ │ └── operator_loc: (1,11)-(1,12) = "*"
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (15...16))
+ │ │ │ └── @ RequiredParameterNode (location: (1,15)-(1,16))
│ │ │ └── name: :e
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (18...20))
+ │ │ @ BlockParameterNode (location: (1,18)-(1,20))
│ │ ├── name: :f
- │ │ ├── name_loc: (19...20) = "f"
- │ │ └── operator_loc: (18...19) = "&"
+ │ │ ├── name_loc: (1,19)-(1,20) = "f"
+ │ │ └── operator_loc: (1,18)-(1,19) = "&"
│ ├── locals: (length: 0)
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (20...21) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,20)-(1,21) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_block_iter_call.txt b/test/yarp/snapshots/seattlerb/stabby_block_iter_call.txt
index caf9b64886..4cce284497 100644
--- a/test/yarp/snapshots/seattlerb/stabby_block_iter_call.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_block_iter_call.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(4,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "x"
+ ├── message_loc: (1,0)-(1,1) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...25))
+ │ @ ArgumentsNode (location: (1,2)-(4,3))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...25))
+ │ └── @ LambdaNode (location: (1,2)-(4,3))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (8...10) = "do"
- │ ├── closing_loc: (22...25) = "end"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ ├── closing_loc: (4,0)-(4,3) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (5...7))
+ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (5...6) = "("
- │ │ └── closing_loc: (6...7) = ")"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
│ └── body:
- │ @ StatementsNode (location: (11...21))
+ │ @ StatementsNode (location: (2,0)-(3,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (11...21))
+ │ └── @ CallNode (location: (2,0)-(3,3))
│ ├── receiver:
- │ │ @ CallNode (location: (11...12))
+ │ │ @ CallNode (location: (2,0)-(2,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "a"
+ │ │ ├── message_loc: (2,0)-(2,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (12...13) = "."
- │ ├── message_loc: (13...14) = "b"
+ │ ├── call_operator_loc: (2,1)-(2,2) = "."
+ │ ├── message_loc: (2,2)-(2,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (15...21))
+ │ │ @ BlockNode (location: (2,4)-(3,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (15...17) = "do"
- │ │ └── closing_loc: (18...21) = "end"
+ │ │ ├── opening_loc: (2,4)-(2,6) = "do"
+ │ │ └── closing_loc: (3,0)-(3,3) = "end"
│ ├── flags: ∅
│ └── name: "b"
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt b/test/yarp/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
index bb8b600630..46f401eb5a 100644
--- a/test/yarp/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...26))
+ └── @ CallNode (location: (1,0)-(4,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "x"
+ ├── message_loc: (1,0)-(1,1) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...26))
+ │ @ ArgumentsNode (location: (1,2)-(4,3))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...26))
+ │ └── @ LambdaNode (location: (1,2)-(4,3))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (8...10) = "do"
- │ ├── closing_loc: (23...26) = "end"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ ├── closing_loc: (4,0)-(4,3) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (5...7))
+ │ │ @ BlockParametersNode (location: (1,5)-(1,7))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (5...6) = "("
- │ │ └── closing_loc: (6...7) = ")"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
│ └── body:
- │ @ StatementsNode (location: (11...22))
+ │ @ StatementsNode (location: (2,0)-(3,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (11...22))
+ │ └── @ CallNode (location: (2,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...12) = "a"
- │ ├── opening_loc: (12...13) = "("
+ │ ├── message_loc: (2,0)-(2,1) = "a"
+ │ ├── opening_loc: (2,1)-(2,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...14))
+ │ │ @ ArgumentsNode (location: (2,2)-(2,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (13...14))
+ │ │ └── @ IntegerNode (location: (2,2)-(2,3))
│ │ └── flags: decimal
- │ ├── closing_loc: (14...15) = ")"
+ │ ├── closing_loc: (2,3)-(2,4) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (16...22))
+ │ │ @ BlockNode (location: (2,5)-(3,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (16...18) = "do"
- │ │ └── closing_loc: (19...22) = "end"
+ │ │ ├── opening_loc: (2,5)-(2,7) = "do"
+ │ │ └── closing_loc: (3,0)-(3,3) = "end"
│ ├── flags: ∅
│ └── name: "a"
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_block_kw.txt b/test/yarp/snapshots/seattlerb/stabby_block_kw.txt
index d45d4c04ef..e3613e4b36 100644
--- a/test/yarp/snapshots/seattlerb/stabby_block_kw.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_block_kw.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...13))
+ └── @ LambdaNode (location: (1,0)-(1,13))
├── locals: [:k]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (10...11) = "{"
- ├── closing_loc: (12...13) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,10)-(1,11) = "{"
+ ├── closing_loc: (1,12)-(1,13) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (3...9))
+ │ @ BlockParametersNode (location: (1,3)-(1,9))
│ ├── parameters:
- │ │ @ ParametersNode (location: (4...8))
+ │ │ @ ParametersNode (location: (1,4)-(1,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (4...8))
+ │ │ │ └── @ KeywordParameterNode (location: (1,4)-(1,8))
│ │ │ ├── name: :k
- │ │ │ ├── name_loc: (4...6) = "k:"
+ │ │ │ ├── name_loc: (1,4)-(1,6) = "k:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (6...8))
+ │ │ │ @ IntegerNode (location: (1,6)-(1,8))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (8...9) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,8)-(1,9) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_block_kw__required.txt b/test/yarp/snapshots/seattlerb/stabby_block_kw__required.txt
index 19d19d8e0d..0139100071 100644
--- a/test/yarp/snapshots/seattlerb/stabby_block_kw__required.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_block_kw__required.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...11))
+ └── @ LambdaNode (location: (1,0)-(1,11))
├── locals: [:k]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (8...9) = "{"
- ├── closing_loc: (10...11) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,8)-(1,9) = "{"
+ ├── closing_loc: (1,10)-(1,11) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (3...7))
+ │ @ BlockParametersNode (location: (1,3)-(1,7))
│ ├── parameters:
- │ │ @ ParametersNode (location: (4...6))
+ │ │ @ ParametersNode (location: (1,4)-(1,6))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (4...6))
+ │ │ │ └── @ KeywordParameterNode (location: (1,4)-(1,6))
│ │ │ ├── name: :k
- │ │ │ ├── name_loc: (4...6) = "k:"
+ │ │ │ ├── name_loc: (1,4)-(1,6) = "k:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (6...7) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,6)-(1,7) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/seattlerb/stabby_proc_scope.txt b/test/yarp/snapshots/seattlerb/stabby_proc_scope.txt
index 45702e5b35..059192d67f 100644
--- a/test/yarp/snapshots/seattlerb/stabby_proc_scope.txt
+++ b/test/yarp/snapshots/seattlerb/stabby_proc_scope.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...11))
+ └── @ LambdaNode (location: (1,0)-(1,11))
├── locals: [:a, :b]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (9...10) = "{"
- ├── closing_loc: (10...11) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,9)-(1,10) = "{"
+ ├── closing_loc: (1,10)-(1,11) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (2...8))
+ │ @ BlockParametersNode (location: (1,2)-(1,8))
│ ├── parameters:
- │ │ @ ParametersNode (location: (3...4))
+ │ │ @ ParametersNode (location: (1,3)-(1,4))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (3...4))
+ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -22,8 +22,8 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 1)
- │ │ └── @ BlockLocalVariableNode (location: (6...7))
+ │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7))
│ │ └── name: :b
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (7...8) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_backslashes.txt b/test/yarp/snapshots/seattlerb/str_backslashes.txt
index 42ed9c8b4d..09e8628e8b 100644
--- a/test/yarp/snapshots/seattlerb/str_backslashes.txt
+++ b/test/yarp/snapshots/seattlerb/str_backslashes.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...204))
+@ ProgramNode (location: (1,0)-(1,204))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...204))
+ @ StatementsNode (location: (1,0)-(1,204))
└── body: (length: 1)
- └── @ CallNode (location: (0...204))
+ └── @ CallNode (location: (1,0)-(1,204))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "x"
+ ├── message_loc: (1,0)-(1,1) = "x"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...204))
+ │ @ ArgumentsNode (location: (1,2)-(1,204))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (2...204))
+ │ └── @ StringNode (location: (1,2)-(1,204))
│ ├── flags: ∅
- │ ├── opening_loc: (2...3) = "'"
- │ ├── content_loc: (3...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: (203...204) = "'"
+ │ ├── 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: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_double_double_escaped_newline.txt b/test/yarp/snapshots/seattlerb/str_double_double_escaped_newline.txt
index 69d7a242ed..56fdd6cd7d 100644
--- a/test/yarp/snapshots/seattlerb/str_double_double_escaped_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_double_double_escaped_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 2)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...7))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...7))
+ │ │ └── @ StringNode (location: (1,2)-(1,7))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "\""
- │ │ ├── content_loc: (3...6) = "\\\\n"
- │ │ ├── closing_loc: (6...7) = "\""
+ │ │ ├── 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: ∅
│ └── name: "a"
- └── @ CallNode (location: (8...9))
+ └── @ CallNode (location: (1,8)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "b"
+ ├── message_loc: (1,8)-(1,9) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_double_escaped_newline.txt b/test/yarp/snapshots/seattlerb/str_double_escaped_newline.txt
index ef034ac8f7..906ef18d65 100644
--- a/test/yarp/snapshots/seattlerb/str_double_escaped_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_double_escaped_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 2)
- ├── @ CallNode (location: (0...6))
+ ├── @ CallNode (location: (1,0)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...6))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...6))
+ │ │ └── @ StringNode (location: (1,2)-(1,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "\""
- │ │ ├── content_loc: (3...5) = "\\n"
- │ │ ├── closing_loc: (5...6) = "\""
+ │ │ ├── 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: ∅
│ └── name: "a"
- └── @ CallNode (location: (7...8))
+ └── @ CallNode (location: (1,7)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...8) = "b"
+ ├── message_loc: (1,7)-(1,8) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_double_newline.txt b/test/yarp/snapshots/seattlerb/str_double_newline.txt
index 9bfb211c68..67953d770f 100644
--- a/test/yarp/snapshots/seattlerb/str_double_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_double_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
- ├── @ CallNode (location: (0...5))
+ ├── @ CallNode (location: (1,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...5))
+ │ │ @ ArgumentsNode (location: (1,2)-(2,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...5))
+ │ │ └── @ StringNode (location: (1,2)-(2,1))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "\""
- │ │ ├── content_loc: (3...4) = "\n"
- │ │ ├── closing_loc: (4...5) = "\""
+ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ ├── content_loc: (1,3)-(1,0) = "\n"
+ │ │ ├── closing_loc: (2,0)-(2,1) = "\""
│ │ └── unescaped: "\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (6...7))
+ └── @ CallNode (location: (2,2)-(2,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (6...7) = "b"
+ ├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_evstr.txt b/test/yarp/snapshots/seattlerb/str_evstr.txt
index 80a98bd8c3..8062024ed4 100644
--- a/test/yarp/snapshots/seattlerb/str_evstr.txt
+++ b/test/yarp/snapshots/seattlerb/str_evstr.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...8))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,8))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ StringNode (location: (1...3))
+ │ ├── @ StringNode (location: (1,1)-(1,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...3) = "a "
+ │ │ ├── content_loc: (1,1)-(1,3) = "a "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a "
- │ └── @ EmbeddedStatementsNode (location: (3...7))
- │ ├── opening_loc: (3...5) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (5...6))
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (5...6))
+ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...6) = "b"
+ │ │ ├── message_loc: (1,5)-(1,6) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── closing_loc: (6...7) = "}"
- └── closing_loc: (7...8) = "\""
+ │ └── closing_loc: (1,6)-(1,7) = "}"
+ └── closing_loc: (1,7)-(1,8) = "\""
diff --git a/test/yarp/snapshots/seattlerb/str_evstr_escape.txt b/test/yarp/snapshots/seattlerb/str_evstr_escape.txt
index 6c7ee7a4a9..9dd987d226 100644
--- a/test/yarp/snapshots/seattlerb/str_evstr_escape.txt
+++ b/test/yarp/snapshots/seattlerb/str_evstr_escape.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...16))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,16))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 3)
- │ ├── @ StringNode (location: (1...3))
+ │ ├── @ StringNode (location: (1,1)-(1,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...3) = "a "
+ │ │ ├── content_loc: (1,1)-(1,3) = "a "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a "
- │ ├── @ EmbeddedStatementsNode (location: (3...7))
- │ │ ├── opening_loc: (3...5) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5...6))
+ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (5...6) = "b"
+ │ │ │ ├── message_loc: (1,5)-(1,6) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── closing_loc: (6...7) = "}"
- │ └── @ StringNode (location: (7...15))
+ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ └── @ StringNode (location: (1,7)-(1,15))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (7...15) = "\\302\\275"
+ │ ├── content_loc: (1,7)-(1,15) = "\\302\\275"
│ ├── closing_loc: ∅
│ └── unescaped: "½"
- └── closing_loc: (15...16) = "\""
+ └── closing_loc: (1,15)-(1,16) = "\""
diff --git a/test/yarp/snapshots/seattlerb/str_heredoc_interp.txt b/test/yarp/snapshots/seattlerb/str_heredoc_interp.txt
index 0e2e6fd40a..465469430c 100644
--- a/test/yarp/snapshots/seattlerb/str_heredoc_interp.txt
+++ b/test/yarp/snapshots/seattlerb/str_heredoc_interp.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...4))
- ├── opening_loc: (0...4) = "<<\"\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,4))
+ ├── opening_loc: (1,0)-(1,4) = "<<\"\""
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (5...9))
- │ │ ├── opening_loc: (5...7) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (2,0)-(2,4))
+ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (7...8))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (7...8))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...8) = "x"
+ │ │ │ ├── message_loc: (2,2)-(2,3) = "x"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "x"
- │ │ └── closing_loc: (8...9) = "}"
- │ └── @ StringNode (location: (9...16))
+ │ │ └── closing_loc: (2,3)-(2,4) = "}"
+ │ └── @ StringNode (location: (2,4)-(3,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (9...16) = "\nblah2\n"
+ │ ├── content_loc: (2,4)-(3,0) = "\nblah2\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\nblah2\n"
- └── closing_loc: (16...17) = "\n"
+ └── closing_loc: (4,0)-(4,0) = "\n"
diff --git a/test/yarp/snapshots/seattlerb/str_interp_ternary_or_label.txt b/test/yarp/snapshots/seattlerb/str_interp_ternary_or_label.txt
index 937e4179fa..c168afca2d 100644
--- a/test/yarp/snapshots/seattlerb/str_interp_ternary_or_label.txt
+++ b/test/yarp/snapshots/seattlerb/str_interp_ternary_or_label.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...23))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,23))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (1...22))
- │ ├── opening_loc: (1...3) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,22))
+ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (3...21))
+ │ │ @ StatementsNode (location: (1,3)-(1,21))
│ │ └── body: (length: 1)
- │ │ └── @ IfNode (location: (3...21))
+ │ │ └── @ IfNode (location: (1,3)-(1,21))
│ │ ├── if_keyword_loc: ∅
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (3...7))
+ │ │ │ @ CallNode (location: (1,3)-(1,7))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (3...4))
+ │ │ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (3...4) = "a"
+ │ │ │ │ ├── message_loc: (1,3)-(1,4) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
- │ │ │ ├── call_operator_loc: (4...5) = "."
- │ │ │ ├── message_loc: (5...7) = "b?"
+ │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "."
+ │ │ │ ├── message_loc: (1,5)-(1,7) = "b?"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -35,28 +35,28 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "b?"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (10...17))
+ │ │ │ @ StatementsNode (location: (1,10)-(1,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (10...17))
+ │ │ │ └── @ CallNode (location: (1,10)-(1,17))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (10...14))
+ │ │ │ │ @ CallNode (location: (1,10)-(1,14))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ StringNode (location: (10...12))
+ │ │ │ │ │ @ StringNode (location: (1,10)-(1,12))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (10...11) = "\""
- │ │ │ │ │ ├── content_loc: (11...11) = ""
- │ │ │ │ │ ├── closing_loc: (11...12) = "\""
+ │ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = "\""
+ │ │ │ │ │ ├── content_loc: (1,11)-(1,11) = ""
+ │ │ │ │ │ ├── closing_loc: (1,11)-(1,12) = "\""
│ │ │ │ │ └── unescaped: ""
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (12...13) = "+"
+ │ │ │ │ ├── message_loc: (1,12)-(1,13) = "+"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (13...14))
+ │ │ │ │ │ @ ArgumentsNode (location: (1,13)-(1,14))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (13...14))
+ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (13...14) = "a"
+ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -68,34 +68,34 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "+"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (14...15) = "+"
+ │ │ │ ├── message_loc: (1,14)-(1,15) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (15...17))
+ │ │ │ │ @ ArgumentsNode (location: (1,15)-(1,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ StringNode (location: (15...17))
+ │ │ │ │ └── @ StringNode (location: (1,15)-(1,17))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (15...16) = "\""
- │ │ │ │ ├── content_loc: (16...16) = ""
- │ │ │ │ ├── closing_loc: (16...17) = "\""
+ │ │ │ │ ├── opening_loc: (1,15)-(1,16) = "\""
+ │ │ │ │ ├── content_loc: (1,16)-(1,16) = ""
+ │ │ │ │ ├── closing_loc: (1,16)-(1,17) = "\""
│ │ │ │ └── unescaped: ""
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
│ │ ├── consequent:
- │ │ │ @ ElseNode (location: (17...21))
- │ │ │ ├── else_keyword_loc: (17...18) = ":"
+ │ │ │ @ ElseNode (location: (1,17)-(1,21))
+ │ │ │ ├── else_keyword_loc: (1,17)-(1,18) = ":"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (19...21))
+ │ │ │ │ @ StatementsNode (location: (1,19)-(1,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ StringNode (location: (19...21))
+ │ │ │ │ └── @ StringNode (location: (1,19)-(1,21))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (19...20) = "\""
- │ │ │ │ ├── content_loc: (20...20) = ""
- │ │ │ │ ├── closing_loc: (20...21) = "\""
+ │ │ │ │ ├── opening_loc: (1,19)-(1,20) = "\""
+ │ │ │ │ ├── content_loc: (1,20)-(1,20) = ""
+ │ │ │ │ ├── closing_loc: (1,20)-(1,21) = "\""
│ │ │ │ └── unescaped: ""
│ │ │ └── end_keyword_loc: ∅
│ │ └── end_keyword_loc: ∅
- │ └── closing_loc: (21...22) = "}"
- └── closing_loc: (22...23) = "\""
+ │ └── closing_loc: (1,21)-(1,22) = "}"
+ └── closing_loc: (1,22)-(1,23) = "\""
diff --git a/test/yarp/snapshots/seattlerb/str_lit_concat_bad_encodings.txt b/test/yarp/snapshots/seattlerb/str_lit_concat_bad_encodings.txt
index c64a540f5d..7bf71b7858 100644
--- a/test/yarp/snapshots/seattlerb/str_lit_concat_bad_encodings.txt
+++ b/test/yarp/snapshots/seattlerb/str_lit_concat_bad_encodings.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...131))
+@ ProgramNode (location: (1,0)-(2,66))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...131))
+ @ StatementsNode (location: (1,0)-(2,66))
└── body: (length: 1)
- └── @ StringConcatNode (location: (0...131))
+ └── @ StringConcatNode (location: (1,0)-(2,66))
├── left:
- │ @ StringNode (location: (0...62))
+ │ @ StringNode (location: (1,0)-(1,62))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...61) = "\\xE3\\xD3\\x8B\\xE3\\x83\\xBC\\x83\\xE3\\x83\\xE3\\x82\\xB3\\xA3\\x82\\x99"
- │ ├── closing_loc: (61...62) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(1,61) = "\\xE3\\xD3\\x8B\\xE3\\x83\\xBC\\x83\\xE3\\x83\\xE3\\x82\\xB3\\xA3\\x82\\x99"
+ │ ├── closing_loc: (1,61)-(1,62) = "\""
│ └── unescaped: "\xE3Ӌー\x83\xE3\x83コ\xA3\x82\x99"
└── right:
- @ StringNode (location: (73...131))
+ @ StringNode (location: (2,8)-(2,66))
├── flags: ∅
- ├── opening_loc: (73...74) = "\""
- ├── content_loc: (74...130) = "\\xE3\\x83\\xB3\\xE3\\x83\\x8F\\xE3\\x82\\x9A\\xC3\\xBD;foo@bar.com"
- ├── closing_loc: (130...131) = "\""
+ ├── opening_loc: (2,8)-(2,9) = "\""
+ ├── content_loc: (2,9)-(2,65) = "\\xE3\\x83\\xB3\\xE3\\x83\\x8F\\xE3\\x82\\x9A\\xC3\\xBD;foo@bar.com"
+ ├── closing_loc: (2,65)-(2,66) = "\""
└── unescaped: "ンパý;foo@bar.com"
diff --git a/test/yarp/snapshots/seattlerb/str_newline_hash_line_number.txt b/test/yarp/snapshots/seattlerb/str_newline_hash_line_number.txt
index c970138c86..89f20da7b5 100644
--- a/test/yarp/snapshots/seattlerb/str_newline_hash_line_number.txt
+++ b/test/yarp/snapshots/seattlerb/str_newline_hash_line_number.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 2)
- ├── @ StringNode (location: (0...11))
+ ├── @ StringNode (location: (1,0)-(1,11))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...10) = "\\n\\n\\n\\n#"
- │ ├── closing_loc: (10...11) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(1,10) = "\\n\\n\\n\\n#"
+ │ ├── closing_loc: (1,10)-(1,11) = "\""
│ └── unescaped: "\n\n\n\n#"
- └── @ IntegerNode (location: (12...13))
+ └── @ IntegerNode (location: (2,0)-(2,1))
└── flags: decimal
diff --git a/test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt b/test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt
index dc733617f4..6651fcdde0 100644
--- a/test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt
+++ b/test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...26))
- ├── opening_loc: (0...3) = "%Q["
+ └── @ InterpolatedStringNode (location: (1,0)-(1,26))
+ ├── opening_loc: (1,0)-(1,3) = "%Q["
├── parts: (length: 3)
- │ ├── @ StringNode (location: (3...11))
+ │ ├── @ StringNode (location: (1,3)-(1,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (3...11) = "before ["
+ │ │ ├── content_loc: (1,3)-(1,11) = "before ["
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "before ["
- │ ├── @ EmbeddedStatementsNode (location: (11...18))
- │ │ ├── opening_loc: (11...13) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,11)-(1,18))
+ │ │ ├── opening_loc: (1,11)-(1,13) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (13...17))
+ │ │ │ @ StatementsNode (location: (1,13)-(1,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (13...17))
+ │ │ │ └── @ CallNode (location: (1,13)-(1,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...17) = "nest"
+ │ │ │ ├── message_loc: (1,13)-(1,17) = "nest"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "nest"
- │ │ └── closing_loc: (17...18) = "}"
- │ └── @ StringNode (location: (18...25))
+ │ │ └── closing_loc: (1,17)-(1,18) = "}"
+ │ └── @ StringNode (location: (1,18)-(1,25))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (18...25) = "] after"
+ │ ├── content_loc: (1,18)-(1,25) = "] after"
│ ├── closing_loc: ∅
│ └── unescaped: "] after"
- └── closing_loc: (25...26) = "]"
+ └── closing_loc: (1,25)-(1,26) = "]"
diff --git a/test/yarp/snapshots/seattlerb/str_pct_nested_nested.txt b/test/yarp/snapshots/seattlerb/str_pct_nested_nested.txt
index 935cef8cdc..85ad89bc60 100644
--- a/test/yarp/snapshots/seattlerb/str_pct_nested_nested.txt
+++ b/test/yarp/snapshots/seattlerb/str_pct_nested_nested.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...20))
- ├── opening_loc: (0...2) = "%{"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,20))
+ ├── opening_loc: (1,0)-(1,2) = "%{"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (2...5))
+ │ ├── @ StringNode (location: (1,2)-(1,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (2...5) = " { "
+ │ │ ├── content_loc: (1,2)-(1,5) = " { "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " { "
- │ ├── @ EmbeddedStatementsNode (location: (5...16))
- │ │ ├── opening_loc: (5...7) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,5)-(1,16))
+ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8...14))
+ │ │ │ @ StatementsNode (location: (1,8)-(1,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (8...14))
- │ │ │ ├── opening_loc: (8...9) = "\""
+ │ │ │ └── @ InterpolatedStringNode (location: (1,8)-(1,14))
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "\""
│ │ │ ├── parts: (length: 1)
- │ │ │ │ └── @ EmbeddedStatementsNode (location: (9...13))
- │ │ │ │ ├── opening_loc: (9...11) = "\#{"
+ │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,9)-(1,13))
+ │ │ │ │ ├── opening_loc: (1,9)-(1,11) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (11...12))
+ │ │ │ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (11...12))
+ │ │ │ │ │ └── @ IntegerNode (location: (1,11)-(1,12))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (12...13) = "}"
- │ │ │ └── closing_loc: (13...14) = "\""
- │ │ └── closing_loc: (15...16) = "}"
- │ └── @ StringNode (location: (16...19))
+ │ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
+ │ │ │ └── closing_loc: (1,13)-(1,14) = "\""
+ │ │ └── closing_loc: (1,15)-(1,16) = "}"
+ │ └── @ StringNode (location: (1,16)-(1,19))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (16...19) = " } "
+ │ ├── content_loc: (1,16)-(1,19) = " } "
│ ├── closing_loc: ∅
│ └── unescaped: " } "
- └── closing_loc: (19...20) = "}"
+ └── closing_loc: (1,19)-(1,20) = "}"
diff --git a/test/yarp/snapshots/seattlerb/str_pct_q.txt b/test/yarp/snapshots/seattlerb/str_pct_q.txt
index b80836d717..c4dd5bacae 100644
--- a/test/yarp/snapshots/seattlerb/str_pct_q.txt
+++ b/test/yarp/snapshots/seattlerb/str_pct_q.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ StringNode (location: (0...9))
+ └── @ StringNode (location: (1,0)-(1,9))
├── flags: ∅
- ├── opening_loc: (0...3) = "%q{"
- ├── content_loc: (3...8) = "a b c"
- ├── closing_loc: (8...9) = "}"
+ ├── opening_loc: (1,0)-(1,3) = "%q{"
+ ├── content_loc: (1,3)-(1,8) = "a b c"
+ ├── closing_loc: (1,8)-(1,9) = "}"
└── unescaped: "a b c"
diff --git a/test/yarp/snapshots/seattlerb/str_single_double_escaped_newline.txt b/test/yarp/snapshots/seattlerb/str_single_double_escaped_newline.txt
index d932533f80..6b155de886 100644
--- a/test/yarp/snapshots/seattlerb/str_single_double_escaped_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_single_double_escaped_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 2)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...7))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...7))
+ │ │ └── @ StringNode (location: (1,2)-(1,7))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "'"
- │ │ ├── content_loc: (3...6) = "\\\\n"
- │ │ ├── closing_loc: (6...7) = "'"
+ │ │ ├── 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: ∅
│ └── name: "a"
- └── @ CallNode (location: (8...9))
+ └── @ CallNode (location: (1,8)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (8...9) = "b"
+ ├── message_loc: (1,8)-(1,9) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_single_escaped_newline.txt b/test/yarp/snapshots/seattlerb/str_single_escaped_newline.txt
index 6fe186225e..ba2e204b68 100644
--- a/test/yarp/snapshots/seattlerb/str_single_escaped_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_single_escaped_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 2)
- ├── @ CallNode (location: (0...6))
+ ├── @ CallNode (location: (1,0)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...6))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...6))
+ │ │ └── @ StringNode (location: (1,2)-(1,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "'"
- │ │ ├── content_loc: (3...5) = "\\n"
- │ │ ├── closing_loc: (5...6) = "'"
+ │ │ ├── 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: ∅
│ └── name: "a"
- └── @ CallNode (location: (7...8))
+ └── @ CallNode (location: (1,7)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...8) = "b"
+ ├── message_loc: (1,7)-(1,8) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_single_newline.txt b/test/yarp/snapshots/seattlerb/str_single_newline.txt
index f9030cb937..18a96fbee6 100644
--- a/test/yarp/snapshots/seattlerb/str_single_newline.txt
+++ b/test/yarp/snapshots/seattlerb/str_single_newline.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 2)
- ├── @ CallNode (location: (0...5))
+ ├── @ CallNode (location: (1,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...5))
+ │ │ @ ArgumentsNode (location: (1,2)-(2,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (2...5))
+ │ │ └── @ StringNode (location: (1,2)-(2,1))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...3) = "'"
- │ │ ├── content_loc: (3...4) = "\n"
- │ │ ├── closing_loc: (4...5) = "'"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "'"
+ │ │ ├── content_loc: (1,3)-(1,0) = "\n"
+ │ │ ├── closing_loc: (2,0)-(2,1) = "'"
│ │ └── unescaped: "\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (6...7))
+ └── @ CallNode (location: (2,2)-(2,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (6...7) = "b"
+ ├── message_loc: (2,2)-(2,3) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/str_str.txt b/test/yarp/snapshots/seattlerb/str_str.txt
index e9df40f0c2..f183980f5e 100644
--- a/test/yarp/snapshots/seattlerb/str_str.txt
+++ b/test/yarp/snapshots/seattlerb/str_str.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...10))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,10))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 2)
- │ ├── @ StringNode (location: (1...3))
+ │ ├── @ StringNode (location: (1,1)-(1,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...3) = "a "
+ │ │ ├── content_loc: (1,1)-(1,3) = "a "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a "
- │ └── @ EmbeddedStatementsNode (location: (3...9))
- │ ├── opening_loc: (3...5) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,9))
+ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (5...8))
+ │ │ @ StatementsNode (location: (1,5)-(1,8))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (5...8))
+ │ │ └── @ StringNode (location: (1,5)-(1,8))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (5...6) = "'"
- │ │ ├── content_loc: (6...7) = "b"
- │ │ ├── closing_loc: (7...8) = "'"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "'"
+ │ │ ├── content_loc: (1,6)-(1,7) = "b"
+ │ │ ├── closing_loc: (1,7)-(1,8) = "'"
│ │ └── unescaped: "b"
- │ └── closing_loc: (8...9) = "}"
- └── closing_loc: (9...10) = "\""
+ │ └── closing_loc: (1,8)-(1,9) = "}"
+ └── closing_loc: (1,9)-(1,10) = "\""
diff --git a/test/yarp/snapshots/seattlerb/str_str_str.txt b/test/yarp/snapshots/seattlerb/str_str_str.txt
index 8045e26460..68873d8182 100644
--- a/test/yarp/snapshots/seattlerb/str_str_str.txt
+++ b/test/yarp/snapshots/seattlerb/str_str_str.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...12))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,12))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 3)
- │ ├── @ StringNode (location: (1...3))
+ │ ├── @ StringNode (location: (1,1)-(1,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...3) = "a "
+ │ │ ├── content_loc: (1,1)-(1,3) = "a "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a "
- │ ├── @ EmbeddedStatementsNode (location: (3...9))
- │ │ ├── opening_loc: (3...5) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,9))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (5...8))
+ │ │ │ @ StatementsNode (location: (1,5)-(1,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (5...8))
+ │ │ │ └── @ StringNode (location: (1,5)-(1,8))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (5...6) = "'"
- │ │ │ ├── content_loc: (6...7) = "b"
- │ │ │ ├── closing_loc: (7...8) = "'"
+ │ │ │ ├── opening_loc: (1,5)-(1,6) = "'"
+ │ │ │ ├── content_loc: (1,6)-(1,7) = "b"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = "'"
│ │ │ └── unescaped: "b"
- │ │ └── closing_loc: (8...9) = "}"
- │ └── @ StringNode (location: (9...11))
+ │ │ └── closing_loc: (1,8)-(1,9) = "}"
+ │ └── @ StringNode (location: (1,9)-(1,11))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (9...11) = " c"
+ │ ├── content_loc: (1,9)-(1,11) = " c"
│ ├── closing_loc: ∅
│ └── unescaped: " c"
- └── closing_loc: (11...12) = "\""
+ └── closing_loc: (1,11)-(1,12) = "\""
diff --git a/test/yarp/snapshots/seattlerb/super_arg.txt b/test/yarp/snapshots/seattlerb/super_arg.txt
index 7f95768cf1..41109adcc3 100644
--- a/test/yarp/snapshots/seattlerb/super_arg.txt
+++ b/test/yarp/snapshots/seattlerb/super_arg.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ SuperNode (location: (0...8))
- ├── keyword_loc: (0...5) = "super"
+ └── @ SuperNode (location: (1,0)-(1,8))
+ ├── keyword_loc: (1,0)-(1,5) = "super"
├── lparen_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...8))
+ │ @ ArgumentsNode (location: (1,6)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (6...8))
+ │ └── @ IntegerNode (location: (1,6)-(1,8))
│ └── flags: decimal
├── rparen_loc: ∅
└── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/symbol_empty.txt b/test/yarp/snapshots/seattlerb/symbol_empty.txt
index aef1e821a2..ab423959a0 100644
--- a/test/yarp/snapshots/seattlerb/symbol_empty.txt
+++ b/test/yarp/snapshots/seattlerb/symbol_empty.txt
@@ -1,10 +1,10 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ SymbolNode (location: (0...3))
- ├── opening_loc: (0...2) = ":'"
- ├── value_loc: (2...2) = ""
- ├── closing_loc: (2...3) = "'"
+ └── @ SymbolNode (location: (1,0)-(1,3))
+ ├── opening_loc: (1,0)-(1,2) = ":'"
+ ├── value_loc: (1,2)-(1,2) = ""
+ ├── closing_loc: (1,2)-(1,3) = "'"
└── unescaped: ""
diff --git a/test/yarp/snapshots/seattlerb/symbol_list.txt b/test/yarp/snapshots/seattlerb/symbol_list.txt
index 06739f6f9e..834543195d 100644
--- a/test/yarp/snapshots/seattlerb/symbol_list.txt
+++ b/test/yarp/snapshots/seattlerb/symbol_list.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...13))
+ └── @ ArrayNode (location: (1,0)-(1,13))
├── elements: (length: 2)
- │ ├── @ InterpolatedSymbolNode (location: (3...7))
+ │ ├── @ InterpolatedSymbolNode (location: (1,3)-(1,7))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (3...7))
- │ │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (5...6))
+ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (5...6) = "a"
+ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
- │ │ │ └── closing_loc: (6...7) = "}"
+ │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
│ │ └── closing_loc: ∅
- │ └── @ InterpolatedSymbolNode (location: (8...12))
+ │ └── @ InterpolatedSymbolNode (location: (1,8)-(1,12))
│ ├── opening_loc: ∅
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (8...12))
- │ │ ├── opening_loc: (8...10) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,8)-(1,12))
+ │ │ ├── opening_loc: (1,8)-(1,10) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (10...11))
+ │ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (10...11))
+ │ │ │ └── @ CallNode (location: (1,10)-(1,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...11) = "b"
+ │ │ │ ├── message_loc: (1,10)-(1,11) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── closing_loc: (11...12) = "}"
+ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ └── closing_loc: ∅
- ├── opening_loc: (0...3) = "%I["
- └── closing_loc: (12...13) = "]"
+ ├── opening_loc: (1,0)-(1,3) = "%I["
+ └── closing_loc: (1,12)-(1,13) = "]"
diff --git a/test/yarp/snapshots/seattlerb/symbols.txt b/test/yarp/snapshots/seattlerb/symbols.txt
index 9a246f0f89..1d4eae94aa 100644
--- a/test/yarp/snapshots/seattlerb/symbols.txt
+++ b/test/yarp/snapshots/seattlerb/symbols.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...9))
+ └── @ ArrayNode (location: (1,0)-(1,9))
├── elements: (length: 3)
- │ ├── @ SymbolNode (location: (3...4))
+ │ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (3...4) = "a"
+ │ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ ├── @ SymbolNode (location: (5...6))
+ │ ├── @ SymbolNode (location: (1,5)-(1,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (5...6) = "b"
+ │ │ ├── value_loc: (1,5)-(1,6) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ └── @ SymbolNode (location: (7...8))
+ │ └── @ SymbolNode (location: (1,7)-(1,8))
│ ├── opening_loc: ∅
- │ ├── value_loc: (7...8) = "c"
+ │ ├── value_loc: (1,7)-(1,8) = "c"
│ ├── closing_loc: ∅
│ └── unescaped: "c"
- ├── opening_loc: (0...3) = "%i("
- └── closing_loc: (8...9) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%i("
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/yarp/snapshots/seattlerb/symbols_empty.txt b/test/yarp/snapshots/seattlerb/symbols_empty.txt
index c6a1b95da1..74800d6bc6 100644
--- a/test/yarp/snapshots/seattlerb/symbols_empty.txt
+++ b/test/yarp/snapshots/seattlerb/symbols_empty.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...4))
+ └── @ ArrayNode (location: (1,0)-(1,4))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%i("
- └── closing_loc: (3...4) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%i("
+ └── closing_loc: (1,3)-(1,4) = ")"
diff --git a/test/yarp/snapshots/seattlerb/symbols_empty_space.txt b/test/yarp/snapshots/seattlerb/symbols_empty_space.txt
index 70b316e03c..bff515a6dc 100644
--- a/test/yarp/snapshots/seattlerb/symbols_empty_space.txt
+++ b/test/yarp/snapshots/seattlerb/symbols_empty_space.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...5))
+ └── @ ArrayNode (location: (1,0)-(1,5))
├── elements: (length: 0)
- ├── opening_loc: (0...3) = "%i("
- └── closing_loc: (4...5) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%i("
+ └── closing_loc: (1,4)-(1,5) = ")"
diff --git a/test/yarp/snapshots/seattlerb/symbols_interp.txt b/test/yarp/snapshots/seattlerb/symbols_interp.txt
index 424f4d2693..6d7f614211 100644
--- a/test/yarp/snapshots/seattlerb/symbols_interp.txt
+++ b/test/yarp/snapshots/seattlerb/symbols_interp.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...15))
+ └── @ ArrayNode (location: (1,0)-(1,15))
├── elements: (length: 3)
- │ ├── @ SymbolNode (location: (3...4))
+ │ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (3...4) = "a"
+ │ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ ├── @ SymbolNode (location: (5...12))
+ │ ├── @ SymbolNode (location: (1,5)-(1,12))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (5...12) = "b\#{1+1}"
+ │ │ ├── value_loc: (1,5)-(1,12) = "b\#{1+1}"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b\#{1+1}"
- │ └── @ SymbolNode (location: (13...14))
+ │ └── @ SymbolNode (location: (1,13)-(1,14))
│ ├── opening_loc: ∅
- │ ├── value_loc: (13...14) = "c"
+ │ ├── value_loc: (1,13)-(1,14) = "c"
│ ├── closing_loc: ∅
│ └── unescaped: "c"
- ├── opening_loc: (0...3) = "%i("
- └── closing_loc: (14...15) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%i("
+ └── closing_loc: (1,14)-(1,15) = ")"
diff --git a/test/yarp/snapshots/seattlerb/thingy.txt b/test/yarp/snapshots/seattlerb/thingy.txt
index 87605ba447..96c76e64b6 100644
--- a/test/yarp/snapshots/seattlerb/thingy.txt
+++ b/test/yarp/snapshots/seattlerb/thingy.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(3,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(3,7))
└── body: (length: 2)
- ├── @ CallNode (location: (0...6))
+ ├── @ CallNode (location: (1,0)-(1,6))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "f"
+ │ │ ├── message_loc: (1,0)-(1,1) = "f"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "f"
- │ ├── call_operator_loc: (1...2) = "."
+ │ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── message_loc: ∅
- │ ├── opening_loc: (2...3) = "("
+ │ ├── opening_loc: (1,2)-(1,3) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (3...5))
+ │ │ @ ArgumentsNode (location: (1,3)-(1,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (3...5))
+ │ │ └── @ IntegerNode (location: (1,3)-(1,5))
│ │ └── flags: decimal
- │ ├── closing_loc: (5...6) = ")"
+ │ ├── closing_loc: (1,5)-(1,6) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "call"
- └── @ CallNode (location: (8...15))
+ └── @ CallNode (location: (3,0)-(3,7))
├── receiver:
- │ @ CallNode (location: (8...9))
+ │ @ CallNode (location: (3,0)-(3,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...9) = "f"
+ │ ├── message_loc: (3,0)-(3,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "f"
- ├── call_operator_loc: (9...11) = "::"
+ ├── call_operator_loc: (3,1)-(3,3) = "::"
├── message_loc: ∅
- ├── opening_loc: (11...12) = "("
+ ├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (12...14))
+ │ @ ArgumentsNode (location: (3,4)-(3,6))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (12...14))
+ │ └── @ IntegerNode (location: (3,4)-(3,6))
│ └── flags: decimal
- ├── closing_loc: (14...15) = ")"
+ ├── closing_loc: (3,6)-(3,7) = ")"
├── block: ∅
├── flags: ∅
└── name: "call"
diff --git a/test/yarp/snapshots/seattlerb/uminus_float.txt b/test/yarp/snapshots/seattlerb/uminus_float.txt
index 0c02dd89b2..b509e2f7f3 100644
--- a/test/yarp/snapshots/seattlerb/uminus_float.txt
+++ b/test/yarp/snapshots/seattlerb/uminus_float.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ FloatNode (location: (0...4))
+ └── @ FloatNode (location: (1,0)-(1,4))
diff --git a/test/yarp/snapshots/seattlerb/unary_minus.txt b/test/yarp/snapshots/seattlerb/unary_minus.txt
index 606ec3852e..e69aaaadec 100644
--- a/test/yarp/snapshots/seattlerb/unary_minus.txt
+++ b/test/yarp/snapshots/seattlerb/unary_minus.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...2))
+ └── @ CallNode (location: (1,0)-(1,2))
├── receiver:
- │ @ CallNode (location: (1...2))
+ │ @ CallNode (location: (1,1)-(1,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1...2) = "a"
+ │ ├── message_loc: (1,1)-(1,2) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,7 +16,7 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "-"
+ ├── message_loc: (1,0)-(1,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/unary_plus.txt b/test/yarp/snapshots/seattlerb/unary_plus.txt
index 4b71d28f5a..4d6c27805a 100644
--- a/test/yarp/snapshots/seattlerb/unary_plus.txt
+++ b/test/yarp/snapshots/seattlerb/unary_plus.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...2))
+ └── @ CallNode (location: (1,0)-(1,2))
├── receiver:
- │ @ CallNode (location: (1...2))
+ │ @ CallNode (location: (1,1)-(1,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1...2) = "a"
+ │ ├── message_loc: (1,1)-(1,2) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,7 +16,7 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "+"
+ ├── message_loc: (1,0)-(1,1) = "+"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/unary_plus_on_literal.txt b/test/yarp/snapshots/seattlerb/unary_plus_on_literal.txt
index a94837e41a..9d1cb6a12c 100644
--- a/test/yarp/snapshots/seattlerb/unary_plus_on_literal.txt
+++ b/test/yarp/snapshots/seattlerb/unary_plus_on_literal.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...3))
+ └── @ CallNode (location: (1,0)-(1,3))
├── receiver:
- │ @ SymbolNode (location: (1...3))
- │ ├── opening_loc: (1...2) = ":"
- │ ├── value_loc: (2...3) = "a"
+ │ @ SymbolNode (location: (1,1)-(1,3))
+ │ ├── opening_loc: (1,1)-(1,2) = ":"
+ │ ├── value_loc: (1,2)-(1,3) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "+"
+ ├── message_loc: (1,0)-(1,1) = "+"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/unary_tilde.txt b/test/yarp/snapshots/seattlerb/unary_tilde.txt
index 90315af481..aa413484dc 100644
--- a/test/yarp/snapshots/seattlerb/unary_tilde.txt
+++ b/test/yarp/snapshots/seattlerb/unary_tilde.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ CallNode (location: (0...2))
+ └── @ CallNode (location: (1,0)-(1,2))
├── receiver:
- │ @ CallNode (location: (1...2))
+ │ @ CallNode (location: (1,1)-(1,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1...2) = "a"
+ │ ├── message_loc: (1,1)-(1,2) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,7 +16,7 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "~"
+ ├── message_loc: (1,0)-(1,1) = "~"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/utf8_bom.txt b/test/yarp/snapshots/seattlerb/utf8_bom.txt
index 8dfd3fbf77..6e56393521 100644
--- a/test/yarp/snapshots/seattlerb/utf8_bom.txt
+++ b/test/yarp/snapshots/seattlerb/utf8_bom.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (26...29))
+@ ProgramNode (location: (2,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (26...29))
+ @ StatementsNode (location: (2,0)-(2,3))
└── body: (length: 1)
- └── @ CallNode (location: (26...29))
+ └── @ CallNode (location: (2,0)-(2,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (26...27) = "p"
+ ├── message_loc: (2,0)-(2,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (28...29))
+ │ @ ArgumentsNode (location: (2,2)-(2,3))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (28...29))
+ │ └── @ IntegerNode (location: (2,2)-(2,3))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/seattlerb/when_splat.txt b/test/yarp/snapshots/seattlerb/when_splat.txt
index 330f3aa83d..bdeae40fba 100644
--- a/test/yarp/snapshots/seattlerb/when_splat.txt
+++ b/test/yarp/snapshots/seattlerb/when_splat.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ CaseNode (location: (0...25))
+ └── @ CaseNode (location: (1,0)-(1,25))
├── predicate:
- │ @ CallNode (location: (5...6))
+ │ @ CallNode (location: (1,5)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...6) = "a"
+ │ ├── message_loc: (1,5)-(1,6) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ ├── flags: variable_call
│ └── name: "a"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (8...15))
- │ ├── keyword_loc: (8...12) = "when"
+ │ └── @ WhenNode (location: (1,8)-(1,15))
+ │ ├── keyword_loc: (1,8)-(1,12) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ SplatNode (location: (13...15))
- │ │ ├── operator_loc: (13...14) = "*"
+ │ │ └── @ SplatNode (location: (1,13)-(1,15))
+ │ │ ├── operator_loc: (1,13)-(1,14) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (14...15))
+ │ │ @ CallNode (location: (1,14)-(1,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (14...15) = "b"
+ │ │ ├── message_loc: (1,14)-(1,15) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -34,5 +34,5 @@
│ │ └── name: "b"
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (22...25) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,22)-(1,25) = "end"
diff --git a/test/yarp/snapshots/seattlerb/words_interp.txt b/test/yarp/snapshots/seattlerb/words_interp.txt
index b874ae895d..eddc835f02 100644
--- a/test/yarp/snapshots/seattlerb/words_interp.txt
+++ b/test/yarp/snapshots/seattlerb/words_interp.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...9))
+ └── @ ArrayNode (location: (1,0)-(1,9))
├── elements: (length: 1)
- │ └── @ InterpolatedStringNode (location: (3...8))
+ │ └── @ InterpolatedStringNode (location: (1,3)-(1,8))
│ ├── opening_loc: ∅
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (3...7))
- │ │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
+ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (5...6))
+ │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (6...7) = "}"
- │ │ └── @ StringNode (location: (7...8))
+ │ │ │ └── closing_loc: (1,6)-(1,7) = "}"
+ │ │ └── @ StringNode (location: (1,7)-(1,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (7...8) = "b"
+ │ │ ├── content_loc: (1,7)-(1,8) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ └── closing_loc: ∅
- ├── opening_loc: (0...3) = "%W("
- └── closing_loc: (8...9) = ")"
+ ├── opening_loc: (1,0)-(1,3) = "%W("
+ └── closing_loc: (1,8)-(1,9) = ")"
diff --git a/test/yarp/snapshots/seattlerb/yield_arg.txt b/test/yarp/snapshots/seattlerb/yield_arg.txt
index 1e98a1aecf..ae6a5d2b0b 100644
--- a/test/yarp/snapshots/seattlerb/yield_arg.txt
+++ b/test/yarp/snapshots/seattlerb/yield_arg.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ YieldNode (location: (0...8))
- ├── keyword_loc: (0...5) = "yield"
+ └── @ YieldNode (location: (1,0)-(1,8))
+ ├── keyword_loc: (1,0)-(1,5) = "yield"
├── lparen_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (6...8))
+ │ @ ArgumentsNode (location: (1,6)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (6...8))
+ │ └── @ IntegerNode (location: (1,6)-(1,8))
│ └── flags: decimal
└── rparen_loc: ∅
diff --git a/test/yarp/snapshots/seattlerb/yield_call_assocs.txt b/test/yarp/snapshots/seattlerb/yield_call_assocs.txt
index 626b13775a..6964a034c4 100644
--- a/test/yarp/snapshots/seattlerb/yield_call_assocs.txt
+++ b/test/yarp/snapshots/seattlerb/yield_call_assocs.txt
@@ -1,120 +1,120 @@
-@ ProgramNode (location: (0...100))
+@ ProgramNode (location: (1,0)-(11,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...100))
+ @ StatementsNode (location: (1,0)-(11,13))
└── body: (length: 6)
- ├── @ YieldNode (location: (0...16))
- │ ├── keyword_loc: (0...5) = "yield"
+ ├── @ YieldNode (location: (1,0)-(1,16))
+ │ ├── keyword_loc: (1,0)-(1,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...16))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,16))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (6...7))
+ │ │ ├── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (9...16))
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,16))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (9...16))
+ │ │ └── @ AssocNode (location: (1,9)-(1,16))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (9...11))
- │ │ │ ├── opening_loc: (9...10) = ":"
- │ │ │ ├── value_loc: (10...11) = "z"
+ │ │ │ @ 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: (15...16))
+ │ │ │ @ IntegerNode (location: (1,15)-(1,16))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (12...14) = "=>"
+ │ │ └── operator_loc: (1,12)-(1,14) = "=>"
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (18...43))
- │ ├── keyword_loc: (18...23) = "yield"
+ ├── @ YieldNode (location: (3,0)-(3,25))
+ │ ├── keyword_loc: (3,0)-(3,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (24...43))
+ │ │ @ ArgumentsNode (location: (3,6)-(3,25))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (24...25))
+ │ │ ├── @ IntegerNode (location: (3,6)-(3,7))
│ │ │ └── flags: decimal
- │ │ └── @ KeywordHashNode (location: (27...43))
+ │ │ └── @ KeywordHashNode (location: (3,9)-(3,25))
│ │ └── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (27...34))
+ │ │ ├── @ AssocNode (location: (3,9)-(3,16))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (27...29))
- │ │ │ │ ├── opening_loc: (27...28) = ":"
- │ │ │ │ ├── value_loc: (28...29) = "z"
+ │ │ │ │ @ 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: (33...34))
+ │ │ │ │ @ IntegerNode (location: (3,15)-(3,16))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (30...32) = "=>"
- │ │ └── @ AssocNode (location: (36...43))
+ │ │ │ └── operator_loc: (3,12)-(3,14) = "=>"
+ │ │ └── @ AssocNode (location: (3,18)-(3,25))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (36...38))
- │ │ │ ├── opening_loc: (36...37) = ":"
- │ │ │ ├── value_loc: (37...38) = "w"
+ │ │ │ @ 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: (42...43))
+ │ │ │ @ IntegerNode (location: (3,24)-(3,25))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (39...41) = "=>"
+ │ │ └── operator_loc: (3,21)-(3,23) = "=>"
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (45...58))
- │ ├── keyword_loc: (45...50) = "yield"
+ ├── @ YieldNode (location: (5,0)-(5,13))
+ │ ├── keyword_loc: (5,0)-(5,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (51...58))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (51...58))
+ │ │ └── @ CallNode (location: (5,6)-(5,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (51...52) = "y"
+ │ │ ├── message_loc: (5,6)-(5,7) = "y"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (53...58))
+ │ │ │ @ ArgumentsNode (location: (5,8)-(5,13))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (53...58))
+ │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (53...58))
+ │ │ │ └── @ AssocNode (location: (5,8)-(5,13))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (53...55))
- │ │ │ │ ├── opening_loc: (53...54) = ":"
- │ │ │ │ ├── value_loc: (54...55) = "z"
+ │ │ │ │ @ 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: (57...58))
+ │ │ │ │ @ IntegerNode (location: (5,12)-(5,13))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (55...57) = "=>"
+ │ │ │ └── operator_loc: (5,10)-(5,12) = "=>"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "y"
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (60...71))
- │ ├── keyword_loc: (60...65) = "yield"
+ ├── @ YieldNode (location: (7,0)-(7,11))
+ │ ├── keyword_loc: (7,0)-(7,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (66...71))
+ │ │ @ ArgumentsNode (location: (7,6)-(7,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (66...71))
+ │ │ └── @ CallNode (location: (7,6)-(7,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (66...67) = "y"
+ │ │ ├── message_loc: (7,6)-(7,7) = "y"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (68...71))
+ │ │ │ @ ArgumentsNode (location: (7,8)-(7,11))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (68...71))
+ │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (68...71))
+ │ │ │ └── @ AssocNode (location: (7,8)-(7,11))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (68...70))
+ │ │ │ │ @ SymbolNode (location: (7,8)-(7,10))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (68...69) = "z"
- │ │ │ │ ├── closing_loc: (69...70) = ":"
+ │ │ │ │ ├── value_loc: (7,8)-(7,9) = "z"
+ │ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":"
│ │ │ │ └── unescaped: "z"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (70...71))
+ │ │ │ │ @ IntegerNode (location: (7,10)-(7,11))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
│ │ ├── closing_loc: ∅
@@ -122,60 +122,60 @@
│ │ ├── flags: ∅
│ │ └── name: "y"
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (73...85))
- │ ├── keyword_loc: (73...78) = "yield"
+ ├── @ YieldNode (location: (9,0)-(9,12))
+ │ ├── keyword_loc: (9,0)-(9,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (79...85))
+ │ │ @ ArgumentsNode (location: (9,6)-(9,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (79...85))
+ │ │ └── @ CallNode (location: (9,6)-(9,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (79...80) = "y"
- │ │ ├── opening_loc: (80...81) = "("
+ │ │ ├── message_loc: (9,6)-(9,7) = "y"
+ │ │ ├── opening_loc: (9,7)-(9,8) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (81...84))
+ │ │ │ @ ArgumentsNode (location: (9,8)-(9,11))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ KeywordHashNode (location: (81...84))
+ │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (81...84))
+ │ │ │ └── @ AssocNode (location: (9,8)-(9,11))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (81...83))
+ │ │ │ │ @ SymbolNode (location: (9,8)-(9,10))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (81...82) = "z"
- │ │ │ │ ├── closing_loc: (82...83) = ":"
+ │ │ │ │ ├── value_loc: (9,8)-(9,9) = "z"
+ │ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":"
│ │ │ │ └── unescaped: "z"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (83...84))
+ │ │ │ │ @ IntegerNode (location: (9,10)-(9,11))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ ├── closing_loc: (84...85) = ")"
+ │ │ ├── closing_loc: (9,11)-(9,12) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "y"
│ └── rparen_loc: ∅
- └── @ YieldNode (location: (87...100))
- ├── keyword_loc: (87...92) = "yield"
+ └── @ YieldNode (location: (11,0)-(11,13))
+ ├── keyword_loc: (11,0)-(11,5) = "yield"
├── lparen_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (93...100))
+ │ @ ArgumentsNode (location: (11,6)-(11,13))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (93...100))
+ │ └── @ CallNode (location: (11,6)-(11,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (93...94) = "y"
- │ ├── opening_loc: (94...95) = "("
+ │ ├── message_loc: (11,6)-(11,7) = "y"
+ │ ├── opening_loc: (11,7)-(11,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (95...99))
+ │ │ @ ArgumentsNode (location: (11,8)-(11,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (95...99))
+ │ │ └── @ KeywordHashNode (location: (11,8)-(11,12))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (95...99))
+ │ │ └── @ AssocNode (location: (11,8)-(11,12))
│ │ ├── key:
- │ │ │ @ CallNode (location: (95...96))
+ │ │ │ @ CallNode (location: (11,8)-(11,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (95...96) = "z"
+ │ │ │ ├── message_loc: (11,8)-(11,9) = "z"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -183,10 +183,10 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "z"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (98...99))
+ │ │ │ @ IntegerNode (location: (11,11)-(11,12))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (96...98) = "=>"
- │ ├── closing_loc: (99...100) = ")"
+ │ │ └── operator_loc: (11,9)-(11,11) = "=>"
+ │ ├── closing_loc: (11,12)-(11,13) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "y"
diff --git a/test/yarp/snapshots/seattlerb/yield_empty_parens.txt b/test/yarp/snapshots/seattlerb/yield_empty_parens.txt
index 94c15c2ffc..5ecd89823f 100644
--- a/test/yarp/snapshots/seattlerb/yield_empty_parens.txt
+++ b/test/yarp/snapshots/seattlerb/yield_empty_parens.txt
@@ -1,10 +1,10 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ YieldNode (location: (0...7))
- ├── keyword_loc: (0...5) = "yield"
- ├── lparen_loc: (5...6) = "("
+ └── @ YieldNode (location: (1,0)-(1,7))
+ ├── keyword_loc: (1,0)-(1,5) = "yield"
+ ├── lparen_loc: (1,5)-(1,6) = "("
├── arguments: ∅
- └── rparen_loc: (6...7) = ")"
+ └── rparen_loc: (1,6)-(1,7) = ")"
diff --git a/test/yarp/snapshots/single_quote_heredocs.txt b/test/yarp/snapshots/single_quote_heredocs.txt
index f488b17ea0..cea79aa6b7 100644
--- a/test/yarp/snapshots/single_quote_heredocs.txt
+++ b/test/yarp/snapshots/single_quote_heredocs.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ StringNode (location: (0...8))
+ └── @ StringNode (location: (1,0)-(1,8))
├── flags: ∅
- ├── opening_loc: (0...8) = "<<-'EOS'"
- ├── content_loc: (9...44) = " cd L:\\Work\\MG3710IQPro\\Develop\n"
- ├── closing_loc: (44...48) = "EOS\n"
+ ├── opening_loc: (1,0)-(1,8) = "<<-'EOS'"
+ ├── content_loc: (2,0)-(2,0) = " cd L:\\Work\\MG3710IQPro\\Develop\n"
+ ├── closing_loc: (3,0)-(3,0) = "EOS\n"
└── unescaped: " cd L:\\Work\\MG3710IQPro\\Develop\n"
diff --git a/test/yarp/snapshots/spanning_heredoc.txt b/test/yarp/snapshots/spanning_heredoc.txt
index 591f4bbf7e..9ebb067ecf 100644
--- a/test/yarp/snapshots/spanning_heredoc.txt
+++ b/test/yarp/snapshots/spanning_heredoc.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (164...964))
+@ ProgramNode (location: (4,0)-(51,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (164...964))
+ @ StatementsNode (location: (4,0)-(51,2))
└── body: (length: 8)
- ├── @ CallNode (location: (164...192))
+ ├── @ CallNode (location: (4,0)-(7,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (164...166) = "pp"
+ │ ├── message_loc: (4,0)-(4,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (167...192))
+ │ │ @ ArgumentsNode (location: (4,3)-(7,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (167...192))
+ │ │ └── @ CallNode (location: (4,3)-(7,7))
│ │ ├── receiver:
- │ │ │ @ StringNode (location: (167...171))
+ │ │ │ @ StringNode (location: (4,3)-(4,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (167...171) = "<<-A"
- │ │ │ ├── content_loc: (181...183) = "a\n"
- │ │ │ ├── closing_loc: (183...185) = "A\n"
+ │ │ │ ├── opening_loc: (4,3)-(4,7) = "<<-A"
+ │ │ │ ├── content_loc: (5,0)-(5,0) = "a\n"
+ │ │ │ ├── closing_loc: (6,0)-(6,0) = "A\n"
│ │ │ └── unescaped: "a\n"
- │ │ ├── call_operator_loc: (171...172) = "."
- │ │ ├── message_loc: (172...176) = "gsub"
- │ │ ├── opening_loc: (176...177) = "("
+ │ │ ├── call_operator_loc: (4,7)-(4,8) = "."
+ │ │ ├── message_loc: (4,8)-(4,12) = "gsub"
+ │ │ ├── opening_loc: (4,12)-(4,13) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (177...191))
+ │ │ │ @ ArgumentsNode (location: (4,13)-(7,6))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (177...187))
- │ │ │ │ ├── opening_loc: (177...178) = "/"
+ │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2))
+ │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/"
│ │ │ │ ├── parts: (length: 2)
- │ │ │ │ │ ├── @ StringNode (location: (178...181))
+ │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,0))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (178...181) = "b\\\n"
+ │ │ │ │ │ │ ├── content_loc: (4,14)-(4,0) = "b\\\n"
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: "b"
- │ │ │ │ │ └── @ StringNode (location: (185...186))
+ │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (185...186) = "b"
+ │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── closing_loc: (186...187) = "/"
+ │ │ │ │ ├── closing_loc: (7,1)-(7,2) = "/"
│ │ │ │ └── flags: ∅
- │ │ │ └── @ StringNode (location: (189...191))
+ │ │ │ └── @ StringNode (location: (7,4)-(7,6))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (189...190) = "\""
- │ │ │ ├── content_loc: (190...190) = ""
- │ │ │ ├── closing_loc: (190...191) = "\""
+ │ │ │ ├── opening_loc: (7,4)-(7,5) = "\""
+ │ │ │ ├── content_loc: (7,5)-(7,5) = ""
+ │ │ │ ├── closing_loc: (7,5)-(7,6) = "\""
│ │ │ └── unescaped: ""
- │ │ ├── closing_loc: (191...192) = ")"
+ │ │ ├── closing_loc: (7,6)-(7,7) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "gsub"
@@ -56,245 +56,245 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (276...295))
+ ├── @ CallNode (location: (10,0)-(13,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (276...278) = "pp"
+ │ ├── message_loc: (10,0)-(10,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (279...295))
+ │ │ @ ArgumentsNode (location: (10,3)-(13,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (279...283))
+ │ │ ├── @ StringNode (location: (10,3)-(10,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (279...283) = "<<-A"
- │ │ │ ├── content_loc: (289...291) = "c\n"
- │ │ │ ├── closing_loc: (291...293) = "A\n"
+ │ │ │ ├── opening_loc: (10,3)-(10,7) = "<<-A"
+ │ │ │ ├── content_loc: (11,0)-(11,0) = "c\n"
+ │ │ │ ├── closing_loc: (12,0)-(12,0) = "A\n"
│ │ │ └── unescaped: "c\n"
- │ │ └── @ InterpolatedStringNode (location: (285...295))
- │ │ ├── opening_loc: (285...286) = "\""
+ │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2))
+ │ │ ├── opening_loc: (10,9)-(10,10) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (286...289))
+ │ │ │ ├── @ StringNode (location: (10,10)-(10,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (286...289) = "d\\\n"
+ │ │ │ │ ├── content_loc: (10,10)-(10,0) = "d\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "d"
- │ │ │ └── @ StringNode (location: (293...294))
+ │ │ │ └── @ StringNode (location: (13,0)-(13,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (293...294) = "d"
+ │ │ │ ├── content_loc: (13,0)-(13,1) = "d"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "d"
- │ │ └── closing_loc: (294...295) = "\""
+ │ │ └── closing_loc: (13,1)-(13,2) = "\""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (322...343))
+ ├── @ CallNode (location: (16,0)-(19,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (322...324) = "pp"
+ │ ├── message_loc: (16,0)-(16,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (325...343))
+ │ │ @ ArgumentsNode (location: (16,3)-(19,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (325...329))
+ │ │ ├── @ StringNode (location: (16,3)-(16,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (325...329) = "<<-A"
- │ │ │ ├── content_loc: (337...339) = "e\n"
- │ │ │ ├── closing_loc: (339...341) = "A\n"
+ │ │ │ ├── opening_loc: (16,3)-(16,7) = "<<-A"
+ │ │ │ ├── content_loc: (17,0)-(17,0) = "e\n"
+ │ │ │ ├── closing_loc: (18,0)-(18,0) = "A\n"
│ │ │ └── unescaped: "e\n"
- │ │ └── @ InterpolatedStringNode (location: (331...343))
- │ │ ├── opening_loc: (331...334) = "%q["
+ │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2))
+ │ │ ├── opening_loc: (16,9)-(16,12) = "%q["
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (334...337))
+ │ │ │ ├── @ StringNode (location: (16,12)-(16,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (334...337) = "f\\\n"
+ │ │ │ │ ├── content_loc: (16,12)-(16,0) = "f\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "f\\\n"
- │ │ │ └── @ StringNode (location: (341...342))
+ │ │ │ └── @ StringNode (location: (19,0)-(19,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (341...342) = "f"
+ │ │ │ ├── content_loc: (19,0)-(19,1) = "f"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "f"
- │ │ └── closing_loc: (342...343) = "]"
+ │ │ └── closing_loc: (19,1)-(19,2) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (427...448))
+ ├── @ CallNode (location: (22,0)-(25,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (427...429) = "pp"
+ │ ├── message_loc: (22,0)-(22,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (430...448))
+ │ │ @ ArgumentsNode (location: (22,3)-(25,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (430...434))
+ │ │ ├── @ StringNode (location: (22,3)-(22,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (430...434) = "<<-A"
- │ │ │ ├── content_loc: (442...444) = "g\n"
- │ │ │ ├── closing_loc: (444...446) = "A\n"
+ │ │ │ ├── opening_loc: (22,3)-(22,7) = "<<-A"
+ │ │ │ ├── content_loc: (23,0)-(23,0) = "g\n"
+ │ │ │ ├── closing_loc: (24,0)-(24,0) = "A\n"
│ │ │ └── unescaped: "g\n"
- │ │ └── @ InterpolatedStringNode (location: (436...448))
- │ │ ├── opening_loc: (436...439) = "%Q["
+ │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2))
+ │ │ ├── opening_loc: (22,9)-(22,12) = "%Q["
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (439...442))
+ │ │ │ ├── @ StringNode (location: (22,12)-(22,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (439...442) = "h\\\n"
+ │ │ │ │ ├── content_loc: (22,12)-(22,0) = "h\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "h"
- │ │ │ └── @ StringNode (location: (446...447))
+ │ │ │ └── @ StringNode (location: (25,0)-(25,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (446...447) = "h"
+ │ │ │ ├── content_loc: (25,0)-(25,1) = "h"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "h"
- │ │ └── closing_loc: (447...448) = "]"
+ │ │ └── closing_loc: (25,1)-(25,2) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (520...541))
+ ├── @ CallNode (location: (28,0)-(31,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (520...522) = "pp"
+ │ ├── message_loc: (28,0)-(28,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (523...541))
+ │ │ @ ArgumentsNode (location: (28,3)-(31,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (523...527))
+ │ │ ├── @ StringNode (location: (28,3)-(28,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (523...527) = "<<-A"
- │ │ │ ├── content_loc: (535...537) = "i\n"
- │ │ │ ├── closing_loc: (537...539) = "A\n"
+ │ │ │ ├── opening_loc: (28,3)-(28,7) = "<<-A"
+ │ │ │ ├── content_loc: (29,0)-(29,0) = "i\n"
+ │ │ │ ├── closing_loc: (30,0)-(30,0) = "A\n"
│ │ │ └── unescaped: "i\n"
- │ │ └── @ ArrayNode (location: (529...541))
+ │ │ └── @ ArrayNode (location: (28,9)-(31,2))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ StringNode (location: (532...535))
+ │ │ │ ├── @ StringNode (location: (28,12)-(28,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (532...535) = "j\\\n"
+ │ │ │ │ ├── content_loc: (28,12)-(28,0) = "j\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "j\n"
- │ │ │ └── @ StringNode (location: (539...540))
+ │ │ │ └── @ StringNode (location: (31,0)-(31,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (539...540) = "j"
+ │ │ │ ├── content_loc: (31,0)-(31,1) = "j"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "j"
- │ │ ├── opening_loc: (529...532) = "%w["
- │ │ └── closing_loc: (540...541) = "]"
+ │ │ ├── opening_loc: (28,9)-(28,12) = "%w["
+ │ │ └── closing_loc: (31,1)-(31,2) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (688...709))
+ ├── @ CallNode (location: (35,0)-(38,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (688...690) = "pp"
+ │ ├── message_loc: (35,0)-(35,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (691...709))
+ │ │ @ ArgumentsNode (location: (35,3)-(38,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (691...695))
+ │ │ ├── @ StringNode (location: (35,3)-(35,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (691...695) = "<<-A"
- │ │ │ ├── content_loc: (703...705) = "k\n"
- │ │ │ ├── closing_loc: (705...707) = "A\n"
+ │ │ │ ├── opening_loc: (35,3)-(35,7) = "<<-A"
+ │ │ │ ├── content_loc: (36,0)-(36,0) = "k\n"
+ │ │ │ ├── closing_loc: (37,0)-(37,0) = "A\n"
│ │ │ └── unescaped: "k\n"
- │ │ └── @ ArrayNode (location: (697...709))
+ │ │ └── @ ArrayNode (location: (35,9)-(38,2))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (700...708))
+ │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (700...703))
+ │ │ │ │ ├── @ StringNode (location: (35,12)-(35,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (700...703) = "l\\\n"
+ │ │ │ │ │ ├── content_loc: (35,12)-(35,0) = "l\\\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "l"
- │ │ │ │ └── @ StringNode (location: (707...708))
+ │ │ │ │ └── @ StringNode (location: (38,0)-(38,1))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (707...708) = "l"
+ │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "l"
│ │ │ └── closing_loc: ∅
- │ │ ├── opening_loc: (697...700) = "%W["
- │ │ └── closing_loc: (708...709) = "]"
+ │ │ ├── opening_loc: (35,9)-(35,12) = "%W["
+ │ │ └── closing_loc: (38,1)-(38,2) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- ├── @ CallNode (location: (781...802))
+ ├── @ CallNode (location: (41,0)-(44,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (781...783) = "pp"
+ │ ├── message_loc: (41,0)-(41,2) = "pp"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (784...802))
+ │ │ @ ArgumentsNode (location: (41,3)-(44,2))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (784...788))
+ │ │ ├── @ StringNode (location: (41,3)-(41,7))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (784...788) = "<<-A"
- │ │ │ ├── content_loc: (796...798) = "m\n"
- │ │ │ ├── closing_loc: (798...800) = "A\n"
+ │ │ │ ├── opening_loc: (41,3)-(41,7) = "<<-A"
+ │ │ │ ├── content_loc: (42,0)-(42,0) = "m\n"
+ │ │ │ ├── closing_loc: (43,0)-(43,0) = "A\n"
│ │ │ └── unescaped: "m\n"
- │ │ └── @ ArrayNode (location: (790...802))
+ │ │ └── @ ArrayNode (location: (41,9)-(44,2))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (793...796))
+ │ │ │ ├── @ SymbolNode (location: (41,12)-(41,0))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (793...796) = "n\\\n"
+ │ │ │ │ ├── value_loc: (41,12)-(41,0) = "n\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "n\\\n"
- │ │ │ └── @ SymbolNode (location: (800...801))
+ │ │ │ └── @ SymbolNode (location: (44,0)-(44,1))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (800...801) = "n"
+ │ │ │ ├── value_loc: (44,0)-(44,1) = "n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "n"
- │ │ ├── opening_loc: (790...793) = "%i["
- │ │ └── closing_loc: (801...802) = "]"
+ │ │ ├── opening_loc: (41,9)-(41,12) = "%i["
+ │ │ └── closing_loc: (44,1)-(44,2) = "]"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "pp"
- └── @ CallNode (location: (943...964))
+ └── @ CallNode (location: (48,0)-(51,2))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (943...945) = "pp"
+ ├── message_loc: (48,0)-(48,2) = "pp"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (946...964))
+ │ @ ArgumentsNode (location: (48,3)-(51,2))
│ └── arguments: (length: 2)
- │ ├── @ StringNode (location: (946...950))
+ │ ├── @ StringNode (location: (48,3)-(48,7))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (946...950) = "<<-A"
- │ │ ├── content_loc: (958...960) = "o\n"
- │ │ ├── closing_loc: (960...962) = "A\n"
+ │ │ ├── opening_loc: (48,3)-(48,7) = "<<-A"
+ │ │ ├── content_loc: (49,0)-(49,0) = "o\n"
+ │ │ ├── closing_loc: (50,0)-(50,0) = "A\n"
│ │ └── unescaped: "o\n"
- │ └── @ ArrayNode (location: (952...964))
+ │ └── @ ArrayNode (location: (48,9)-(51,2))
│ ├── elements: (length: 1)
- │ │ └── @ InterpolatedSymbolNode (location: (955...963))
+ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(51,1))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (955...958))
+ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,0))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (955...958) = "p\\\n"
+ │ │ │ │ ├── value_loc: (48,12)-(48,0) = "p\\\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "p"
- │ │ │ └── @ StringNode (location: (962...963))
+ │ │ │ └── @ StringNode (location: (51,0)-(51,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (962...963) = "p"
+ │ │ │ ├── content_loc: (51,0)-(51,1) = "p"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "p"
│ │ └── closing_loc: ∅
- │ ├── opening_loc: (952...955) = "%I["
- │ └── closing_loc: (963...964) = "]"
+ │ ├── opening_loc: (48,9)-(48,12) = "%I["
+ │ └── closing_loc: (51,1)-(51,2) = "]"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/strings.txt b/test/yarp/snapshots/strings.txt
index 0040191d3e..e3a72eefdf 100644
--- a/test/yarp/snapshots/strings.txt
+++ b/test/yarp/snapshots/strings.txt
@@ -1,516 +1,516 @@
-@ ProgramNode (location: (0...520))
+@ ProgramNode (location: (1,0)-(105,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...520))
+ @ StatementsNode (location: (1,0)-(105,4))
└── body: (length: 50)
- ├── @ StringNode (location: (0...6))
+ ├── @ StringNode (location: (1,0)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (0...2) = "%%"
- │ ├── content_loc: (2...5) = "abc"
- │ ├── closing_loc: (5...6) = "%"
+ │ ├── opening_loc: (1,0)-(1,2) = "%%"
+ │ ├── content_loc: (1,2)-(1,5) = "abc"
+ │ ├── closing_loc: (1,5)-(1,6) = "%"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (8...14))
+ ├── @ StringNode (location: (3,0)-(3,6))
│ ├── flags: ∅
- │ ├── opening_loc: (8...10) = "%^"
- │ ├── content_loc: (10...13) = "abc"
- │ ├── closing_loc: (13...14) = "^"
+ │ ├── opening_loc: (3,0)-(3,2) = "%^"
+ │ ├── content_loc: (3,2)-(3,5) = "abc"
+ │ ├── closing_loc: (3,5)-(3,6) = "^"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (16...22))
+ ├── @ StringNode (location: (5,0)-(5,6))
│ ├── flags: ∅
- │ ├── opening_loc: (16...18) = "%&"
- │ ├── content_loc: (18...21) = "abc"
- │ ├── closing_loc: (21...22) = "&"
+ │ ├── opening_loc: (5,0)-(5,2) = "%&"
+ │ ├── content_loc: (5,2)-(5,5) = "abc"
+ │ ├── closing_loc: (5,5)-(5,6) = "&"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (24...30))
+ ├── @ StringNode (location: (7,0)-(7,6))
│ ├── flags: ∅
- │ ├── opening_loc: (24...26) = "%*"
- │ ├── content_loc: (26...29) = "abc"
- │ ├── closing_loc: (29...30) = "*"
+ │ ├── opening_loc: (7,0)-(7,2) = "%*"
+ │ ├── content_loc: (7,2)-(7,5) = "abc"
+ │ ├── closing_loc: (7,5)-(7,6) = "*"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (32...38))
+ ├── @ StringNode (location: (9,0)-(9,6))
│ ├── flags: ∅
- │ ├── opening_loc: (32...34) = "%_"
- │ ├── content_loc: (34...37) = "abc"
- │ ├── closing_loc: (37...38) = "_"
+ │ ├── opening_loc: (9,0)-(9,2) = "%_"
+ │ ├── content_loc: (9,2)-(9,5) = "abc"
+ │ ├── closing_loc: (9,5)-(9,6) = "_"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (40...46))
+ ├── @ StringNode (location: (11,0)-(11,6))
│ ├── flags: ∅
- │ ├── opening_loc: (40...42) = "%+"
- │ ├── content_loc: (42...45) = "abc"
- │ ├── closing_loc: (45...46) = "+"
+ │ ├── opening_loc: (11,0)-(11,2) = "%+"
+ │ ├── content_loc: (11,2)-(11,5) = "abc"
+ │ ├── closing_loc: (11,5)-(11,6) = "+"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (48...54))
+ ├── @ StringNode (location: (13,0)-(13,6))
│ ├── flags: ∅
- │ ├── opening_loc: (48...50) = "%-"
- │ ├── content_loc: (50...53) = "abc"
- │ ├── closing_loc: (53...54) = "-"
+ │ ├── opening_loc: (13,0)-(13,2) = "%-"
+ │ ├── content_loc: (13,2)-(13,5) = "abc"
+ │ ├── closing_loc: (13,5)-(13,6) = "-"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (56...62))
+ ├── @ StringNode (location: (15,0)-(15,6))
│ ├── flags: ∅
- │ ├── opening_loc: (56...58) = "%:"
- │ ├── content_loc: (58...61) = "abc"
- │ ├── closing_loc: (61...62) = ":"
+ │ ├── opening_loc: (15,0)-(15,2) = "%:"
+ │ ├── content_loc: (15,2)-(15,5) = "abc"
+ │ ├── closing_loc: (15,5)-(15,6) = ":"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (64...70))
+ ├── @ StringNode (location: (17,0)-(17,6))
│ ├── flags: ∅
- │ ├── opening_loc: (64...66) = "%;"
- │ ├── content_loc: (66...69) = "abc"
- │ ├── closing_loc: (69...70) = ";"
+ │ ├── opening_loc: (17,0)-(17,2) = "%;"
+ │ ├── content_loc: (17,2)-(17,5) = "abc"
+ │ ├── closing_loc: (17,5)-(17,6) = ";"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (72...78))
+ ├── @ StringNode (location: (19,0)-(19,6))
│ ├── flags: ∅
- │ ├── opening_loc: (72...74) = "%'"
- │ ├── content_loc: (74...77) = "abc"
- │ ├── closing_loc: (77...78) = "'"
+ │ ├── opening_loc: (19,0)-(19,2) = "%'"
+ │ ├── content_loc: (19,2)-(19,5) = "abc"
+ │ ├── closing_loc: (19,5)-(19,6) = "'"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (80...86))
+ ├── @ StringNode (location: (21,0)-(21,6))
│ ├── flags: ∅
- │ ├── opening_loc: (80...82) = "%~"
- │ ├── content_loc: (82...85) = "abc"
- │ ├── closing_loc: (85...86) = "~"
+ │ ├── opening_loc: (21,0)-(21,2) = "%~"
+ │ ├── content_loc: (21,2)-(21,5) = "abc"
+ │ ├── closing_loc: (21,5)-(21,6) = "~"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (88...94))
+ ├── @ StringNode (location: (23,0)-(23,6))
│ ├── flags: ∅
- │ ├── opening_loc: (88...90) = "%?"
- │ ├── content_loc: (90...93) = "abc"
- │ ├── closing_loc: (93...94) = "?"
+ │ ├── opening_loc: (23,0)-(23,2) = "%?"
+ │ ├── content_loc: (23,2)-(23,5) = "abc"
+ │ ├── closing_loc: (23,5)-(23,6) = "?"
│ └── unescaped: "abc"
- ├── @ ArrayNode (location: (96...104))
+ ├── @ ArrayNode (location: (25,0)-(25,8))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (96...99) = "%w{"
- │ └── closing_loc: (103...104) = "}"
- ├── @ StringNode (location: (106...112))
+ │ ├── opening_loc: (25,0)-(25,3) = "%w{"
+ │ └── closing_loc: (25,7)-(25,8) = "}"
+ ├── @ StringNode (location: (27,0)-(27,6))
│ ├── flags: ∅
- │ ├── opening_loc: (106...108) = "%/"
- │ ├── content_loc: (108...111) = "abc"
- │ ├── closing_loc: (111...112) = "/"
+ │ ├── opening_loc: (27,0)-(27,2) = "%/"
+ │ ├── content_loc: (27,2)-(27,5) = "abc"
+ │ ├── closing_loc: (27,5)-(27,6) = "/"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (114...120))
+ ├── @ StringNode (location: (29,0)-(29,6))
│ ├── flags: ∅
- │ ├── opening_loc: (114...116) = "%`"
- │ ├── content_loc: (116...119) = "abc"
- │ ├── closing_loc: (119...120) = "`"
+ │ ├── opening_loc: (29,0)-(29,2) = "%`"
+ │ ├── content_loc: (29,2)-(29,5) = "abc"
+ │ ├── closing_loc: (29,5)-(29,6) = "`"
│ └── unescaped: "abc"
- ├── @ InterpolatedStringNode (location: (122...130))
- │ ├── opening_loc: (122...123) = "\""
+ ├── @ InterpolatedStringNode (location: (31,0)-(31,8))
+ │ ├── opening_loc: (31,0)-(31,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedVariableNode (location: (123...129))
- │ │ ├── operator_loc: (123...124) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (31,1)-(31,7))
+ │ │ ├── operator_loc: (31,1)-(31,2) = "#"
│ │ └── variable:
- │ │ @ ClassVariableReadNode (location: (124...129))
+ │ │ @ ClassVariableReadNode (location: (31,2)-(31,7))
│ │ └── name: :@@foo
- │ └── closing_loc: (129...130) = "\""
- ├── @ StringNode (location: (132...138))
+ │ └── closing_loc: (31,7)-(31,8) = "\""
+ ├── @ StringNode (location: (33,0)-(33,6))
│ ├── flags: ∅
- │ ├── opening_loc: (132...134) = "%\\"
- │ ├── content_loc: (134...137) = "abc"
- │ ├── closing_loc: (137...138) = "\\"
+ │ ├── opening_loc: (33,0)-(33,2) = "%\\"
+ │ ├── content_loc: (33,2)-(33,5) = "abc"
+ │ ├── closing_loc: (33,5)-(33,6) = "\\"
│ └── unescaped: "abc"
- ├── @ InterpolatedStringNode (location: (140...157))
- │ ├── opening_loc: (140...142) = "%{"
+ ├── @ InterpolatedStringNode (location: (35,0)-(35,17))
+ │ ├── opening_loc: (35,0)-(35,2) = "%{"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (142...146))
+ │ │ ├── @ StringNode (location: (35,2)-(35,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (142...146) = "aaa "
+ │ │ │ ├── content_loc: (35,2)-(35,6) = "aaa "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "aaa "
- │ │ ├── @ EmbeddedStatementsNode (location: (146...152))
- │ │ │ ├── opening_loc: (146...148) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (35,6)-(35,12))
+ │ │ │ ├── opening_loc: (35,6)-(35,8) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (148...151))
+ │ │ │ │ @ StatementsNode (location: (35,8)-(35,11))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (148...151))
+ │ │ │ │ └── @ CallNode (location: (35,8)-(35,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (148...151) = "bbb"
+ │ │ │ │ ├── message_loc: (35,8)-(35,11) = "bbb"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bbb"
- │ │ │ └── closing_loc: (151...152) = "}"
- │ │ └── @ StringNode (location: (152...156))
+ │ │ │ └── closing_loc: (35,11)-(35,12) = "}"
+ │ │ └── @ StringNode (location: (35,12)-(35,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (152...156) = " ccc"
+ │ │ ├── content_loc: (35,12)-(35,16) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
- │ └── closing_loc: (156...157) = "}"
- ├── @ StringNode (location: (159...167))
+ │ └── closing_loc: (35,16)-(35,17) = "}"
+ ├── @ StringNode (location: (37,0)-(37,8))
│ ├── flags: ∅
- │ ├── opening_loc: (159...161) = "%["
- │ ├── content_loc: (161...166) = "foo[]"
- │ ├── closing_loc: (166...167) = "]"
+ │ ├── opening_loc: (37,0)-(37,2) = "%["
+ │ ├── content_loc: (37,2)-(37,7) = "foo[]"
+ │ ├── closing_loc: (37,7)-(37,8) = "]"
│ └── unescaped: "foo[]"
- ├── @ CallNode (location: (169...184))
+ ├── @ CallNode (location: (39,0)-(41,5))
│ ├── receiver:
- │ │ @ StringNode (location: (169...174))
+ │ │ @ StringNode (location: (39,0)-(39,5))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (169...170) = "\""
- │ │ ├── content_loc: (170...173) = "foo"
- │ │ ├── closing_loc: (173...174) = "\""
+ │ │ ├── opening_loc: (39,0)-(39,1) = "\""
+ │ │ ├── content_loc: (39,1)-(39,4) = "foo"
+ │ │ ├── closing_loc: (39,4)-(39,5) = "\""
│ │ └── unescaped: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (175...176) = "+"
+ │ ├── message_loc: (39,6)-(39,7) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (179...184))
+ │ │ @ ArgumentsNode (location: (41,0)-(41,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (179...184))
+ │ │ └── @ StringNode (location: (41,0)-(41,5))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (179...180) = "\""
- │ │ ├── content_loc: (180...183) = "bar"
- │ │ ├── closing_loc: (183...184) = "\""
+ │ │ ├── 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: ∅
│ └── name: "+"
- ├── @ StringNode (location: (186...193))
+ ├── @ StringNode (location: (43,0)-(43,7))
│ ├── flags: ∅
- │ ├── opening_loc: (186...189) = "%q{"
- │ ├── content_loc: (189...192) = "abc"
- │ ├── closing_loc: (192...193) = "}"
+ │ ├── opening_loc: (43,0)-(43,3) = "%q{"
+ │ ├── content_loc: (43,3)-(43,6) = "abc"
+ │ ├── closing_loc: (43,6)-(43,7) = "}"
│ └── unescaped: "abc"
- ├── @ SymbolNode (location: (195...202))
- │ ├── opening_loc: (195...198) = "%s["
- │ ├── value_loc: (198...201) = "abc"
- │ ├── closing_loc: (201...202) = "]"
+ ├── @ SymbolNode (location: (45,0)-(45,7))
+ │ ├── opening_loc: (45,0)-(45,3) = "%s["
+ │ ├── value_loc: (45,3)-(45,6) = "abc"
+ │ ├── closing_loc: (45,6)-(45,7) = "]"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (204...210))
+ ├── @ StringNode (location: (47,0)-(47,6))
│ ├── flags: ∅
- │ ├── opening_loc: (204...206) = "%{"
- │ ├── content_loc: (206...209) = "abc"
- │ ├── closing_loc: (209...210) = "}"
+ │ ├── opening_loc: (47,0)-(47,2) = "%{"
+ │ ├── content_loc: (47,2)-(47,5) = "abc"
+ │ ├── closing_loc: (47,5)-(47,6) = "}"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (212...214))
+ ├── @ StringNode (location: (49,0)-(49,2))
│ ├── flags: ∅
- │ ├── opening_loc: (212...213) = "'"
- │ ├── content_loc: (213...213) = ""
- │ ├── closing_loc: (213...214) = "'"
+ │ ├── opening_loc: (49,0)-(49,1) = "'"
+ │ ├── content_loc: (49,1)-(49,1) = ""
+ │ ├── closing_loc: (49,1)-(49,2) = "'"
│ └── unescaped: ""
- ├── @ StringNode (location: (216...221))
+ ├── @ StringNode (location: (51,0)-(51,5))
│ ├── flags: ∅
- │ ├── opening_loc: (216...217) = "\""
- │ ├── content_loc: (217...220) = "abc"
- │ ├── closing_loc: (220...221) = "\""
+ │ ├── opening_loc: (51,0)-(51,1) = "\""
+ │ ├── content_loc: (51,1)-(51,4) = "abc"
+ │ ├── closing_loc: (51,4)-(51,5) = "\""
│ └── unescaped: "abc"
- ├── @ StringNode (location: (223...230))
+ ├── @ StringNode (location: (53,0)-(53,7))
│ ├── flags: ∅
- │ ├── opening_loc: (223...224) = "\""
- │ ├── content_loc: (224...229) = "\#@---"
- │ ├── closing_loc: (229...230) = "\""
+ │ ├── opening_loc: (53,0)-(53,1) = "\""
+ │ ├── content_loc: (53,1)-(53,6) = "\#@---"
+ │ ├── closing_loc: (53,6)-(53,7) = "\""
│ └── unescaped: "\#@---"
- ├── @ InterpolatedStringNode (location: (232...248))
- │ ├── opening_loc: (232...233) = "\""
+ ├── @ InterpolatedStringNode (location: (55,0)-(55,16))
+ │ ├── opening_loc: (55,0)-(55,1) = "\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (233...237))
+ │ │ ├── @ StringNode (location: (55,1)-(55,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (233...237) = "aaa "
+ │ │ │ ├── content_loc: (55,1)-(55,5) = "aaa "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "aaa "
- │ │ ├── @ EmbeddedStatementsNode (location: (237...243))
- │ │ │ ├── opening_loc: (237...239) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (55,5)-(55,11))
+ │ │ │ ├── opening_loc: (55,5)-(55,7) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (239...242))
+ │ │ │ │ @ StatementsNode (location: (55,7)-(55,10))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (239...242))
+ │ │ │ │ └── @ CallNode (location: (55,7)-(55,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (239...242) = "bbb"
+ │ │ │ │ ├── message_loc: (55,7)-(55,10) = "bbb"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bbb"
- │ │ │ └── closing_loc: (242...243) = "}"
- │ │ └── @ StringNode (location: (243...247))
+ │ │ │ └── closing_loc: (55,10)-(55,11) = "}"
+ │ │ └── @ StringNode (location: (55,11)-(55,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (243...247) = " ccc"
+ │ │ ├── content_loc: (55,11)-(55,15) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
- │ └── closing_loc: (247...248) = "\""
- ├── @ StringNode (location: (250...255))
+ │ └── closing_loc: (55,15)-(55,16) = "\""
+ ├── @ StringNode (location: (57,0)-(57,5))
│ ├── flags: ∅
- │ ├── opening_loc: (250...251) = "'"
- │ ├── content_loc: (251...254) = "abc"
- │ ├── closing_loc: (254...255) = "'"
+ │ ├── opening_loc: (57,0)-(57,1) = "'"
+ │ ├── content_loc: (57,1)-(57,4) = "abc"
+ │ ├── closing_loc: (57,4)-(57,5) = "'"
│ └── unescaped: "abc"
- ├── @ ArrayNode (location: (257...266))
+ ├── @ ArrayNode (location: (59,0)-(59,9))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (260...261))
+ │ │ ├── @ StringNode (location: (59,3)-(59,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (260...261) = "a"
+ │ │ │ ├── content_loc: (59,3)-(59,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ StringNode (location: (262...263))
+ │ │ ├── @ StringNode (location: (59,5)-(59,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (262...263) = "b"
+ │ │ │ ├── content_loc: (59,5)-(59,6) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── @ StringNode (location: (264...265))
+ │ │ └── @ StringNode (location: (59,7)-(59,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (264...265) = "c"
+ │ │ ├── content_loc: (59,7)-(59,8) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── opening_loc: (257...260) = "%w["
- │ └── closing_loc: (265...266) = "]"
- ├── @ ArrayNode (location: (268...285))
+ │ ├── opening_loc: (59,0)-(59,3) = "%w["
+ │ └── closing_loc: (59,8)-(59,9) = "]"
+ ├── @ ArrayNode (location: (61,0)-(61,17))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (271...274))
+ │ │ ├── @ StringNode (location: (61,3)-(61,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (271...274) = "a[]"
+ │ │ │ ├── content_loc: (61,3)-(61,6) = "a[]"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a[]"
- │ │ ├── @ StringNode (location: (275...280))
+ │ │ ├── @ StringNode (location: (61,7)-(61,12))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (275...280) = "b[[]]"
+ │ │ │ ├── content_loc: (61,7)-(61,12) = "b[[]]"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b[[]]"
- │ │ └── @ StringNode (location: (281...284))
+ │ │ └── @ StringNode (location: (61,13)-(61,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (281...284) = "c[]"
+ │ │ ├── content_loc: (61,13)-(61,16) = "c[]"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c[]"
- │ ├── opening_loc: (268...271) = "%w["
- │ └── closing_loc: (284...285) = "]"
- ├── @ ArrayNode (location: (287...305))
+ │ ├── opening_loc: (61,0)-(61,3) = "%w["
+ │ └── closing_loc: (61,16)-(61,17) = "]"
+ ├── @ ArrayNode (location: (63,0)-(63,18))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (290...298))
+ │ │ ├── @ StringNode (location: (63,3)-(63,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (290...298) = "foo\\ bar"
+ │ │ │ ├── content_loc: (63,3)-(63,11) = "foo\\ bar"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo bar"
- │ │ └── @ StringNode (location: (299...304))
+ │ │ └── @ StringNode (location: (63,12)-(63,17))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (299...304) = "\\\#{1}"
+ │ │ ├── content_loc: (63,12)-(63,17) = "\\\#{1}"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\\\#{1}"
- │ ├── opening_loc: (287...290) = "%w["
- │ └── closing_loc: (304...305) = "]"
- ├── @ ArrayNode (location: (307...323))
+ │ ├── opening_loc: (63,0)-(63,3) = "%w["
+ │ └── closing_loc: (63,17)-(63,18) = "]"
+ ├── @ ArrayNode (location: (65,0)-(65,16))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (310...318))
+ │ │ ├── @ StringNode (location: (65,3)-(65,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (310...318) = "foo\\ bar"
+ │ │ │ ├── content_loc: (65,3)-(65,11) = "foo\\ bar"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo bar"
- │ │ └── @ StringNode (location: (319...322))
+ │ │ └── @ StringNode (location: (65,12)-(65,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (319...322) = "baz"
+ │ │ ├── content_loc: (65,12)-(65,15) = "baz"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "baz"
- │ ├── opening_loc: (307...310) = "%w["
- │ └── closing_loc: (322...323) = "]"
- ├── @ ArrayNode (location: (325...339))
+ │ ├── opening_loc: (65,0)-(65,3) = "%w["
+ │ └── closing_loc: (65,15)-(65,16) = "]"
+ ├── @ ArrayNode (location: (67,0)-(67,14))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (328...329))
+ │ │ ├── @ StringNode (location: (67,3)-(67,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (328...329) = "a"
+ │ │ │ ├── content_loc: (67,3)-(67,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ InterpolatedStringNode (location: (330...336))
+ │ │ ├── @ InterpolatedStringNode (location: (67,5)-(67,11))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (330...331))
+ │ │ │ │ ├── @ StringNode (location: (67,5)-(67,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (330...331) = "b"
+ │ │ │ │ │ ├── content_loc: (67,5)-(67,6) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (331...335))
- │ │ │ │ │ ├── opening_loc: (331...333) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (67,6)-(67,10))
+ │ │ │ │ │ ├── opening_loc: (67,6)-(67,8) = "\#{"
│ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (333...334))
+ │ │ │ │ │ │ @ StatementsNode (location: (67,8)-(67,9))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (333...334))
+ │ │ │ │ │ │ └── @ CallNode (location: (67,8)-(67,9))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (333...334) = "c"
+ │ │ │ │ │ │ ├── message_loc: (67,8)-(67,9) = "c"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "c"
- │ │ │ │ │ └── closing_loc: (334...335) = "}"
- │ │ │ │ └── @ StringNode (location: (335...336))
+ │ │ │ │ │ └── closing_loc: (67,9)-(67,10) = "}"
+ │ │ │ │ └── @ StringNode (location: (67,10)-(67,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (335...336) = "d"
+ │ │ │ │ ├── content_loc: (67,10)-(67,11) = "d"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "d"
│ │ │ └── closing_loc: ∅
- │ │ └── @ StringNode (location: (337...338))
+ │ │ └── @ StringNode (location: (67,12)-(67,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (337...338) = "e"
+ │ │ ├── content_loc: (67,12)-(67,13) = "e"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "e"
- │ ├── opening_loc: (325...328) = "%W["
- │ └── closing_loc: (338...339) = "]"
- ├── @ ArrayNode (location: (341...350))
+ │ ├── opening_loc: (67,0)-(67,3) = "%W["
+ │ └── closing_loc: (67,13)-(67,14) = "]"
+ ├── @ ArrayNode (location: (69,0)-(69,9))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (344...345))
+ │ │ ├── @ StringNode (location: (69,3)-(69,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (344...345) = "a"
+ │ │ │ ├── content_loc: (69,3)-(69,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ StringNode (location: (346...347))
+ │ │ ├── @ StringNode (location: (69,5)-(69,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (346...347) = "b"
+ │ │ │ ├── content_loc: (69,5)-(69,6) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── @ StringNode (location: (348...349))
+ │ │ └── @ StringNode (location: (69,7)-(69,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (348...349) = "c"
+ │ │ ├── content_loc: (69,7)-(69,8) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── opening_loc: (341...344) = "%W["
- │ └── closing_loc: (349...350) = "]"
- ├── @ ArrayNode (location: (352...369))
+ │ ├── opening_loc: (69,0)-(69,3) = "%W["
+ │ └── closing_loc: (69,8)-(69,9) = "]"
+ ├── @ ArrayNode (location: (71,0)-(75,1))
│ ├── elements: (length: 3)
- │ │ ├── @ StringNode (location: (358...359))
+ │ │ ├── @ StringNode (location: (72,2)-(72,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (358...359) = "a"
+ │ │ │ ├── content_loc: (72,2)-(72,3) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ StringNode (location: (362...363))
+ │ │ ├── @ StringNode (location: (73,2)-(73,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (362...363) = "b"
+ │ │ │ ├── content_loc: (73,2)-(73,3) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── @ StringNode (location: (366...367))
+ │ │ └── @ StringNode (location: (74,2)-(74,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (366...367) = "c"
+ │ │ ├── content_loc: (74,2)-(74,3) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── opening_loc: (352...355) = "%w["
- │ └── closing_loc: (368...369) = "]"
- ├── @ StringNode (location: (371...386))
+ │ ├── opening_loc: (71,0)-(71,3) = "%w["
+ │ └── closing_loc: (75,0)-(75,1) = "]"
+ ├── @ StringNode (location: (77,0)-(77,15))
│ ├── flags: ∅
- │ ├── opening_loc: (371...372) = "'"
- │ ├── content_loc: (372...385) = "\\' foo \\' bar"
- │ ├── closing_loc: (385...386) = "'"
+ │ ├── opening_loc: (77,0)-(77,1) = "'"
+ │ ├── content_loc: (77,1)-(77,14) = "\\' foo \\' bar"
+ │ ├── closing_loc: (77,14)-(77,15) = "'"
│ └── unescaped: "' foo ' bar"
- ├── @ StringNode (location: (388...403))
+ ├── @ StringNode (location: (79,0)-(79,15))
│ ├── flags: ∅
- │ ├── opening_loc: (388...389) = "'"
- │ ├── content_loc: (389...402) = "\\\\ foo \\\\ bar"
- │ ├── closing_loc: (402...403) = "'"
+ │ ├── opening_loc: (79,0)-(79,1) = "'"
+ │ ├── content_loc: (79,1)-(79,14) = "\\\\ foo \\\\ bar"
+ │ ├── closing_loc: (79,14)-(79,15) = "'"
│ └── unescaped: "\\ foo \\ bar"
- ├── @ InterpolatedStringNode (location: (405...412))
- │ ├── opening_loc: (405...406) = "\""
+ ├── @ InterpolatedStringNode (location: (81,0)-(81,7))
+ │ ├── opening_loc: (81,0)-(81,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedVariableNode (location: (406...411))
- │ │ ├── operator_loc: (406...407) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (81,1)-(81,6))
+ │ │ ├── operator_loc: (81,1)-(81,2) = "#"
│ │ └── variable:
- │ │ @ GlobalVariableReadNode (location: (407...411))
+ │ │ @ GlobalVariableReadNode (location: (81,2)-(81,6))
│ │ └── name: :$foo
- │ └── closing_loc: (411...412) = "\""
- ├── @ InterpolatedStringNode (location: (414...421))
- │ ├── opening_loc: (414...415) = "\""
+ │ └── closing_loc: (81,6)-(81,7) = "\""
+ ├── @ InterpolatedStringNode (location: (83,0)-(83,7))
+ │ ├── opening_loc: (83,0)-(83,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedVariableNode (location: (415...420))
- │ │ ├── operator_loc: (415...416) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (83,1)-(83,6))
+ │ │ ├── operator_loc: (83,1)-(83,2) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (416...420))
+ │ │ @ InstanceVariableReadNode (location: (83,2)-(83,6))
│ │ └── name: :@foo
- │ └── closing_loc: (420...421) = "\""
- ├── @ StringNode (location: (423...438))
+ │ └── closing_loc: (83,6)-(83,7) = "\""
+ ├── @ StringNode (location: (85,0)-(85,15))
│ ├── flags: ∅
- │ ├── opening_loc: (423...424) = "\""
- │ ├── content_loc: (424...437) = "\\x7 \\x23 \\x61"
- │ ├── closing_loc: (437...438) = "\""
+ │ ├── opening_loc: (85,0)-(85,1) = "\""
+ │ ├── content_loc: (85,1)-(85,14) = "\\x7 \\x23 \\x61"
+ │ ├── closing_loc: (85,14)-(85,15) = "\""
│ └── unescaped: "\a # a"
- ├── @ StringNode (location: (440...453))
+ ├── @ StringNode (location: (87,0)-(87,13))
│ ├── flags: ∅
- │ ├── opening_loc: (440...441) = "\""
- │ ├── content_loc: (441...452) = "\\7 \\43 \\141"
- │ ├── closing_loc: (452...453) = "\""
+ │ ├── opening_loc: (87,0)-(87,1) = "\""
+ │ ├── content_loc: (87,1)-(87,12) = "\\7 \\43 \\141"
+ │ ├── closing_loc: (87,12)-(87,13) = "\""
│ └── unescaped: "\a # a"
- ├── @ StringNode (location: (455...461))
+ ├── @ StringNode (location: (89,0)-(89,6))
│ ├── flags: ∅
- │ ├── opening_loc: (455...457) = "%["
- │ ├── content_loc: (457...460) = "abc"
- │ ├── closing_loc: (460...461) = "]"
+ │ ├── opening_loc: (89,0)-(89,2) = "%["
+ │ ├── content_loc: (89,2)-(89,5) = "abc"
+ │ ├── closing_loc: (89,5)-(89,6) = "]"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (463...469))
+ ├── @ StringNode (location: (91,0)-(91,6))
│ ├── flags: ∅
- │ ├── opening_loc: (463...465) = "%("
- │ ├── content_loc: (465...468) = "abc"
- │ ├── closing_loc: (468...469) = ")"
+ │ ├── opening_loc: (91,0)-(91,2) = "%("
+ │ ├── content_loc: (91,2)-(91,5) = "abc"
+ │ ├── closing_loc: (91,5)-(91,6) = ")"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (471...477))
+ ├── @ StringNode (location: (93,0)-(93,6))
│ ├── flags: ∅
- │ ├── opening_loc: (471...473) = "%@"
- │ ├── content_loc: (473...476) = "abc"
- │ ├── closing_loc: (476...477) = "@"
+ │ ├── opening_loc: (93,0)-(93,2) = "%@"
+ │ ├── content_loc: (93,2)-(93,5) = "abc"
+ │ ├── closing_loc: (93,5)-(93,6) = "@"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (479...485))
+ ├── @ StringNode (location: (95,0)-(95,6))
│ ├── flags: ∅
- │ ├── opening_loc: (479...481) = "%$"
- │ ├── content_loc: (481...484) = "abc"
- │ ├── closing_loc: (484...485) = "$"
+ │ ├── opening_loc: (95,0)-(95,2) = "%$"
+ │ ├── content_loc: (95,2)-(95,5) = "abc"
+ │ ├── closing_loc: (95,5)-(95,6) = "$"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (487...489))
+ ├── @ StringNode (location: (97,0)-(97,2))
│ ├── flags: ∅
- │ ├── opening_loc: (487...488) = "?"
- │ ├── content_loc: (488...489) = "a"
+ │ ├── opening_loc: (97,0)-(97,1) = "?"
+ │ ├── content_loc: (97,1)-(97,2) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
- ├── @ StringConcatNode (location: (491...497))
+ ├── @ StringConcatNode (location: (99,0)-(99,6))
│ ├── left:
- │ │ @ StringNode (location: (491...493))
+ │ │ @ StringNode (location: (99,0)-(99,2))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (491...492) = "?"
- │ │ ├── content_loc: (492...493) = "a"
+ │ │ ├── opening_loc: (99,0)-(99,1) = "?"
+ │ │ ├── content_loc: (99,1)-(99,2) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ └── right:
- │ @ StringNode (location: (494...497))
+ │ @ StringNode (location: (99,3)-(99,6))
│ ├── flags: ∅
- │ ├── opening_loc: (494...495) = "\""
- │ ├── content_loc: (495...496) = "a"
- │ ├── closing_loc: (496...497) = "\""
+ │ ├── opening_loc: (99,3)-(99,4) = "\""
+ │ ├── content_loc: (99,4)-(99,5) = "a"
+ │ ├── closing_loc: (99,5)-(99,6) = "\""
│ └── unescaped: "a"
- ├── @ StringNode (location: (499...506))
+ ├── @ StringNode (location: (101,0)-(101,7))
│ ├── flags: ∅
- │ ├── opening_loc: (499...502) = "%Q{"
- │ ├── content_loc: (502...505) = "abc"
- │ ├── closing_loc: (505...506) = "}"
+ │ ├── opening_loc: (101,0)-(101,3) = "%Q{"
+ │ ├── content_loc: (101,3)-(101,6) = "abc"
+ │ ├── closing_loc: (101,6)-(101,7) = "}"
│ └── unescaped: "abc"
- ├── @ StringNode (location: (508...513))
+ ├── @ StringNode (location: (103,0)-(103,5))
│ ├── flags: ∅
- │ ├── opening_loc: (508...510) = "%^"
- │ ├── content_loc: (510...512) = "\#$"
- │ ├── closing_loc: (512...513) = "^"
+ │ ├── opening_loc: (103,0)-(103,2) = "%^"
+ │ ├── content_loc: (103,2)-(103,4) = "\#$"
+ │ ├── closing_loc: (103,4)-(103,5) = "^"
│ └── unescaped: "\#$"
- └── @ StringNode (location: (516...520))
+ └── @ StringNode (location: (105,0)-(105,4))
├── flags: ∅
- ├── opening_loc: (516...518) = "%@"
- ├── content_loc: (518...519) = "#"
- ├── closing_loc: (519...520) = "@"
+ ├── opening_loc: (105,0)-(105,2) = "%@"
+ ├── content_loc: (105,2)-(105,3) = "#"
+ ├── closing_loc: (105,3)-(105,4) = "@"
└── unescaped: "#"
diff --git a/test/yarp/snapshots/super.txt b/test/yarp/snapshots/super.txt
index 5fd1147a6e..24a7ae81a9 100644
--- a/test/yarp/snapshots/super.txt
+++ b/test/yarp/snapshots/super.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(7,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(7,14))
└── body: (length: 4)
- ├── @ ForwardingSuperNode (location: (0...5))
+ ├── @ ForwardingSuperNode (location: (1,0)-(1,5))
│ └── block: ∅
- ├── @ SuperNode (location: (7...14))
- │ ├── keyword_loc: (7...12) = "super"
- │ ├── lparen_loc: (12...13) = "("
+ ├── @ SuperNode (location: (3,0)-(3,7))
+ │ ├── keyword_loc: (3,0)-(3,5) = "super"
+ │ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments: ∅
- │ ├── rparen_loc: (13...14) = ")"
+ │ ├── rparen_loc: (3,6)-(3,7) = ")"
│ └── block: ∅
- ├── @ SuperNode (location: (16...24))
- │ ├── keyword_loc: (16...21) = "super"
- │ ├── lparen_loc: (21...22) = "("
+ ├── @ SuperNode (location: (5,0)-(5,8))
+ │ ├── keyword_loc: (5,0)-(5,5) = "super"
+ │ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (22...23))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (22...23))
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ └── flags: decimal
- │ ├── rparen_loc: (23...24) = ")"
+ │ ├── rparen_loc: (5,7)-(5,8) = ")"
│ └── block: ∅
- └── @ SuperNode (location: (26...40))
- ├── keyword_loc: (26...31) = "super"
- ├── lparen_loc: (31...32) = "("
+ └── @ SuperNode (location: (7,0)-(7,14))
+ ├── keyword_loc: (7,0)-(7,5) = "super"
+ ├── lparen_loc: (7,5)-(7,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (32...39))
+ │ @ ArgumentsNode (location: (7,6)-(7,13))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (32...33))
+ │ ├── @ IntegerNode (location: (7,6)-(7,7))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (35...36))
+ │ ├── @ IntegerNode (location: (7,9)-(7,10))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (38...39))
+ │ └── @ IntegerNode (location: (7,12)-(7,13))
│ └── flags: decimal
- ├── rparen_loc: (39...40) = ")"
+ ├── rparen_loc: (7,13)-(7,14) = ")"
└── block: ∅
diff --git a/test/yarp/snapshots/symbols.txt b/test/yarp/snapshots/symbols.txt
index d162bbcb6c..d445d8a90f 100644
--- a/test/yarp/snapshots/symbols.txt
+++ b/test/yarp/snapshots/symbols.txt
@@ -1,398 +1,398 @@
-@ ProgramNode (location: (0...345))
+@ ProgramNode (location: (1,0)-(93,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...345))
+ @ StatementsNode (location: (1,0)-(93,13))
└── body: (length: 47)
- ├── @ SymbolNode (location: (0...6))
- │ ├── opening_loc: (0...2) = ":'"
- │ ├── value_loc: (2...5) = "abc"
- │ ├── closing_loc: (5...6) = "'"
+ ├── @ SymbolNode (location: (1,0)-(1,6))
+ │ ├── opening_loc: (1,0)-(1,2) = ":'"
+ │ ├── value_loc: (1,2)-(1,5) = "abc"
+ │ ├── closing_loc: (1,5)-(1,6) = "'"
│ └── unescaped: "abc"
- ├── @ InterpolatedSymbolNode (location: (8...17))
- │ ├── opening_loc: (8...10) = ":\""
+ ├── @ InterpolatedSymbolNode (location: (3,0)-(3,9))
+ │ ├── opening_loc: (3,0)-(3,2) = ":\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (10...16))
- │ │ ├── opening_loc: (10...12) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (3,2)-(3,8))
+ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (12...15))
+ │ │ │ @ StatementsNode (location: (3,4)-(3,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (12...15))
+ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (12...15) = "var"
+ │ │ │ ├── message_loc: (3,4)-(3,7) = "var"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "var"
- │ │ └── closing_loc: (15...16) = "}"
- │ └── closing_loc: (16...17) = "\""
- ├── @ InterpolatedSymbolNode (location: (19...29))
- │ ├── opening_loc: (19...21) = ":\""
+ │ │ └── closing_loc: (3,7)-(3,8) = "}"
+ │ └── closing_loc: (3,8)-(3,9) = "\""
+ ├── @ InterpolatedSymbolNode (location: (5,0)-(5,10))
+ │ ├── opening_loc: (5,0)-(5,2) = ":\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (21...24))
+ │ │ ├── @ StringNode (location: (5,2)-(5,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (21...24) = "abc"
+ │ │ │ ├── content_loc: (5,2)-(5,5) = "abc"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "abc"
- │ │ └── @ EmbeddedStatementsNode (location: (24...28))
- │ │ ├── opening_loc: (24...26) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (5,5)-(5,9))
+ │ │ ├── opening_loc: (5,5)-(5,7) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (26...27))
+ │ │ │ @ StatementsNode (location: (5,7)-(5,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (26...27))
+ │ │ │ └── @ IntegerNode (location: (5,7)-(5,8))
│ │ │ └── flags: decimal
- │ │ └── closing_loc: (27...28) = "}"
- │ └── closing_loc: (28...29) = "\""
- ├── @ ArrayNode (location: (31...51))
+ │ │ └── closing_loc: (5,8)-(5,9) = "}"
+ │ └── closing_loc: (5,9)-(5,10) = "\""
+ ├── @ ArrayNode (location: (7,0)-(7,20))
│ ├── elements: (length: 4)
- │ │ ├── @ SymbolNode (location: (32...35))
- │ │ │ ├── opening_loc: (32...33) = ":"
- │ │ │ ├── value_loc: (33...35) = "Υ"
+ │ │ ├── @ SymbolNode (location: (7,1)-(7,4))
+ │ │ │ ├── opening_loc: (7,1)-(7,2) = ":"
+ │ │ │ ├── value_loc: (7,2)-(7,4) = "Υ"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "Υ"
- │ │ ├── @ SymbolNode (location: (37...40))
- │ │ │ ├── opening_loc: (37...38) = ":"
- │ │ │ ├── value_loc: (38...40) = "ά"
+ │ │ ├── @ SymbolNode (location: (7,6)-(7,9))
+ │ │ │ ├── opening_loc: (7,6)-(7,7) = ":"
+ │ │ │ ├── value_loc: (7,7)-(7,9) = "ά"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "ά"
- │ │ ├── @ SymbolNode (location: (42...45))
- │ │ │ ├── opening_loc: (42...43) = ":"
- │ │ │ ├── value_loc: (43...45) = "ŗ"
+ │ │ ├── @ SymbolNode (location: (7,11)-(7,14))
+ │ │ │ ├── opening_loc: (7,11)-(7,12) = ":"
+ │ │ │ ├── value_loc: (7,12)-(7,14) = "ŗ"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "ŗ"
- │ │ └── @ SymbolNode (location: (47...50))
- │ │ ├── opening_loc: (47...48) = ":"
- │ │ ├── value_loc: (48...50) = "ρ"
+ │ │ └── @ SymbolNode (location: (7,16)-(7,19))
+ │ │ ├── opening_loc: (7,16)-(7,17) = ":"
+ │ │ ├── value_loc: (7,17)-(7,19) = "ρ"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ρ"
- │ ├── opening_loc: (31...32) = "["
- │ └── closing_loc: (50...51) = "]"
- ├── @ SymbolNode (location: (53...56))
- │ ├── opening_loc: (53...54) = ":"
- │ ├── value_loc: (54...56) = "-@"
+ │ ├── opening_loc: (7,0)-(7,1) = "["
+ │ └── closing_loc: (7,19)-(7,20) = "]"
+ ├── @ SymbolNode (location: (9,0)-(9,3))
+ │ ├── opening_loc: (9,0)-(9,1) = ":"
+ │ ├── value_loc: (9,1)-(9,3) = "-@"
│ ├── closing_loc: ∅
│ └── unescaped: "-@"
- ├── @ SymbolNode (location: (58...60))
- │ ├── opening_loc: (58...59) = ":"
- │ ├── value_loc: (59...60) = "-"
+ ├── @ SymbolNode (location: (11,0)-(11,2))
+ │ ├── opening_loc: (11,0)-(11,1) = ":"
+ │ ├── value_loc: (11,1)-(11,2) = "-"
│ ├── closing_loc: ∅
│ └── unescaped: "-"
- ├── @ SymbolNode (location: (62...64))
- │ ├── opening_loc: (62...63) = ":"
- │ ├── value_loc: (63...64) = "%"
+ ├── @ SymbolNode (location: (13,0)-(13,2))
+ │ ├── opening_loc: (13,0)-(13,1) = ":"
+ │ ├── value_loc: (13,1)-(13,2) = "%"
│ ├── closing_loc: ∅
│ └── unescaped: "%"
- ├── @ SymbolNode (location: (66...68))
- │ ├── opening_loc: (66...67) = ":"
- │ ├── value_loc: (67...68) = "|"
+ ├── @ SymbolNode (location: (15,0)-(15,2))
+ │ ├── opening_loc: (15,0)-(15,1) = ":"
+ │ ├── value_loc: (15,1)-(15,2) = "|"
│ ├── closing_loc: ∅
│ └── unescaped: "|"
- ├── @ SymbolNode (location: (70...73))
- │ ├── opening_loc: (70...71) = ":"
- │ ├── value_loc: (71...73) = "+@"
+ ├── @ SymbolNode (location: (17,0)-(17,3))
+ │ ├── opening_loc: (17,0)-(17,1) = ":"
+ │ ├── value_loc: (17,1)-(17,3) = "+@"
│ ├── closing_loc: ∅
│ └── unescaped: "+@"
- ├── @ SymbolNode (location: (75...77))
- │ ├── opening_loc: (75...76) = ":"
- │ ├── value_loc: (76...77) = "+"
+ ├── @ SymbolNode (location: (19,0)-(19,2))
+ │ ├── opening_loc: (19,0)-(19,1) = ":"
+ │ ├── value_loc: (19,1)-(19,2) = "+"
│ ├── closing_loc: ∅
│ └── unescaped: "+"
- ├── @ SymbolNode (location: (79...81))
- │ ├── opening_loc: (79...80) = ":"
- │ ├── value_loc: (80...81) = "/"
+ ├── @ SymbolNode (location: (21,0)-(21,2))
+ │ ├── opening_loc: (21,0)-(21,1) = ":"
+ │ ├── value_loc: (21,1)-(21,2) = "/"
│ ├── closing_loc: ∅
│ └── unescaped: "/"
- ├── @ SymbolNode (location: (83...86))
- │ ├── opening_loc: (83...84) = ":"
- │ ├── value_loc: (84...86) = "**"
+ ├── @ SymbolNode (location: (23,0)-(23,3))
+ │ ├── opening_loc: (23,0)-(23,1) = ":"
+ │ ├── value_loc: (23,1)-(23,3) = "**"
│ ├── closing_loc: ∅
│ └── unescaped: "**"
- ├── @ SymbolNode (location: (88...90))
- │ ├── opening_loc: (88...89) = ":"
- │ ├── value_loc: (89...90) = "*"
+ ├── @ SymbolNode (location: (25,0)-(25,2))
+ │ ├── opening_loc: (25,0)-(25,1) = ":"
+ │ ├── value_loc: (25,1)-(25,2) = "*"
│ ├── closing_loc: ∅
│ └── unescaped: "*"
- ├── @ SymbolNode (location: (92...95))
- │ ├── opening_loc: (92...93) = ":"
- │ ├── value_loc: (93...95) = "~@"
+ ├── @ SymbolNode (location: (27,0)-(27,3))
+ │ ├── opening_loc: (27,0)-(27,1) = ":"
+ │ ├── value_loc: (27,1)-(27,3) = "~@"
│ ├── closing_loc: ∅
│ └── unescaped: "~@"
- ├── @ ArrayNode (location: (97...113))
+ ├── @ ArrayNode (location: (29,0)-(29,16))
│ ├── elements: (length: 4)
- │ │ ├── @ IntegerNode (location: (98...99))
+ │ │ ├── @ IntegerNode (location: (29,1)-(29,2))
│ │ │ └── flags: decimal
- │ │ ├── @ FloatNode (location: (101...104))
- │ │ ├── @ RationalNode (location: (106...108))
+ │ │ ├── @ FloatNode (location: (29,4)-(29,7))
+ │ │ ├── @ RationalNode (location: (29,9)-(29,11))
│ │ │ └── numeric:
- │ │ │ @ IntegerNode (location: (106...107))
+ │ │ │ @ IntegerNode (location: (29,9)-(29,10))
│ │ │ └── flags: decimal
- │ │ └── @ ImaginaryNode (location: (110...112))
+ │ │ └── @ ImaginaryNode (location: (29,13)-(29,15))
│ │ └── numeric:
- │ │ @ IntegerNode (location: (110...111))
+ │ │ @ IntegerNode (location: (29,13)-(29,14))
│ │ └── flags: decimal
- │ ├── opening_loc: (97...98) = "["
- │ └── closing_loc: (112...113) = "]"
- ├── @ SymbolNode (location: (115...117))
- │ ├── opening_loc: (115...116) = ":"
- │ ├── value_loc: (116...117) = "~"
+ │ ├── opening_loc: (29,0)-(29,1) = "["
+ │ └── closing_loc: (29,15)-(29,16) = "]"
+ ├── @ SymbolNode (location: (31,0)-(31,2))
+ │ ├── opening_loc: (31,0)-(31,1) = ":"
+ │ ├── value_loc: (31,1)-(31,2) = "~"
│ ├── closing_loc: ∅
│ └── unescaped: "~"
- ├── @ SymbolNode (location: (119...121))
- │ ├── opening_loc: (119...120) = ":"
- │ ├── value_loc: (120...121) = "a"
+ ├── @ SymbolNode (location: (33,0)-(33,2))
+ │ ├── opening_loc: (33,0)-(33,1) = ":"
+ │ ├── value_loc: (33,1)-(33,2) = "a"
│ ├── closing_loc: ∅
│ └── unescaped: "a"
- ├── @ ArrayNode (location: (123...132))
+ ├── @ ArrayNode (location: (35,0)-(35,9))
│ ├── elements: (length: 3)
- │ │ ├── @ SymbolNode (location: (126...127))
+ │ │ ├── @ SymbolNode (location: (35,3)-(35,4))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (126...127) = "a"
+ │ │ │ ├── value_loc: (35,3)-(35,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ SymbolNode (location: (128...129))
+ │ │ ├── @ SymbolNode (location: (35,5)-(35,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (128...129) = "b"
+ │ │ │ ├── value_loc: (35,5)-(35,6) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── @ SymbolNode (location: (130...131))
+ │ │ └── @ SymbolNode (location: (35,7)-(35,8))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (130...131) = "c"
+ │ │ ├── value_loc: (35,7)-(35,8) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ ├── opening_loc: (123...126) = "%i["
- │ └── closing_loc: (131...132) = "]"
- ├── @ ArrayNode (location: (134...158))
+ │ ├── opening_loc: (35,0)-(35,3) = "%i["
+ │ └── closing_loc: (35,8)-(35,9) = "]"
+ ├── @ ArrayNode (location: (37,0)-(37,24))
│ ├── elements: (length: 4)
- │ │ ├── @ SymbolNode (location: (137...138))
+ │ │ ├── @ SymbolNode (location: (37,3)-(37,4))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (137...138) = "a"
+ │ │ │ ├── value_loc: (37,3)-(37,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ SymbolNode (location: (139...144))
+ │ │ ├── @ SymbolNode (location: (37,5)-(37,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (139...144) = "b\#{1}"
+ │ │ │ ├── value_loc: (37,5)-(37,10) = "b\#{1}"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b\#{1}"
- │ │ ├── @ SymbolNode (location: (145...150))
+ │ │ ├── @ SymbolNode (location: (37,11)-(37,16))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (145...150) = "\#{2}c"
+ │ │ │ ├── value_loc: (37,11)-(37,16) = "\#{2}c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\#{2}c"
- │ │ └── @ SymbolNode (location: (151...157))
+ │ │ └── @ SymbolNode (location: (37,17)-(37,23))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (151...157) = "d\#{3}f"
+ │ │ ├── value_loc: (37,17)-(37,23) = "d\#{3}f"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "d\#{3}f"
- │ ├── opening_loc: (134...137) = "%i["
- │ └── closing_loc: (157...158) = "]"
- ├── @ ArrayNode (location: (160...184))
+ │ ├── opening_loc: (37,0)-(37,3) = "%i["
+ │ └── closing_loc: (37,23)-(37,24) = "]"
+ ├── @ ArrayNode (location: (39,0)-(39,24))
│ ├── elements: (length: 4)
- │ │ ├── @ SymbolNode (location: (163...164))
+ │ │ ├── @ SymbolNode (location: (39,3)-(39,4))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (163...164) = "a"
+ │ │ │ ├── value_loc: (39,3)-(39,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ InterpolatedSymbolNode (location: (165...170))
+ │ │ ├── @ InterpolatedSymbolNode (location: (39,5)-(39,10))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (165...166))
+ │ │ │ │ ├── @ StringNode (location: (39,5)-(39,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (165...166) = "b"
+ │ │ │ │ │ ├── content_loc: (39,5)-(39,6) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
- │ │ │ │ └── @ EmbeddedStatementsNode (location: (166...170))
- │ │ │ │ ├── opening_loc: (166...168) = "\#{"
+ │ │ │ │ └── @ EmbeddedStatementsNode (location: (39,6)-(39,10))
+ │ │ │ │ ├── opening_loc: (39,6)-(39,8) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (168...169))
+ │ │ │ │ │ @ StatementsNode (location: (39,8)-(39,9))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (168...169))
+ │ │ │ │ │ └── @ IntegerNode (location: (39,8)-(39,9))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (169...170) = "}"
+ │ │ │ │ └── closing_loc: (39,9)-(39,10) = "}"
│ │ │ └── closing_loc: ∅
- │ │ ├── @ InterpolatedSymbolNode (location: (171...176))
+ │ │ ├── @ InterpolatedSymbolNode (location: (39,11)-(39,16))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (171...175))
- │ │ │ │ │ ├── opening_loc: (171...173) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (39,11)-(39,15))
+ │ │ │ │ │ ├── opening_loc: (39,11)-(39,13) = "\#{"
│ │ │ │ │ ├── statements:
- │ │ │ │ │ │ @ StatementsNode (location: (173...174))
+ │ │ │ │ │ │ @ StatementsNode (location: (39,13)-(39,14))
│ │ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (173...174))
+ │ │ │ │ │ │ └── @ IntegerNode (location: (39,13)-(39,14))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── closing_loc: (174...175) = "}"
- │ │ │ │ └── @ StringNode (location: (175...176))
+ │ │ │ │ │ └── closing_loc: (39,14)-(39,15) = "}"
+ │ │ │ │ └── @ StringNode (location: (39,15)-(39,16))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (175...176) = "c"
+ │ │ │ │ ├── content_loc: (39,15)-(39,16) = "c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
│ │ │ └── closing_loc: ∅
- │ │ └── @ InterpolatedSymbolNode (location: (177...183))
+ │ │ └── @ InterpolatedSymbolNode (location: (39,17)-(39,23))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (177...178))
+ │ │ │ ├── @ StringNode (location: (39,17)-(39,18))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (177...178) = "d"
+ │ │ │ │ ├── content_loc: (39,17)-(39,18) = "d"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "d"
- │ │ │ ├── @ EmbeddedStatementsNode (location: (178...182))
- │ │ │ │ ├── opening_loc: (178...180) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (39,18)-(39,22))
+ │ │ │ │ ├── opening_loc: (39,18)-(39,20) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (180...181))
+ │ │ │ │ │ @ StatementsNode (location: (39,20)-(39,21))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (180...181))
+ │ │ │ │ │ └── @ IntegerNode (location: (39,20)-(39,21))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (181...182) = "}"
- │ │ │ └── @ StringNode (location: (182...183))
+ │ │ │ │ └── closing_loc: (39,21)-(39,22) = "}"
+ │ │ │ └── @ StringNode (location: (39,22)-(39,23))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (182...183) = "f"
+ │ │ │ ├── content_loc: (39,22)-(39,23) = "f"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "f"
│ │ └── closing_loc: ∅
- │ ├── opening_loc: (160...163) = "%I["
- │ └── closing_loc: (183...184) = "]"
- ├── @ SymbolNode (location: (186...190))
- │ ├── opening_loc: (186...187) = ":"
- │ ├── value_loc: (187...190) = "@@a"
+ │ ├── opening_loc: (39,0)-(39,3) = "%I["
+ │ └── 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"
│ ├── closing_loc: ∅
│ └── unescaped: "@@a"
- ├── @ SymbolNode (location: (192...197))
- │ ├── opening_loc: (192...193) = ":"
- │ ├── value_loc: (193...197) = "👍"
+ ├── @ SymbolNode (location: (43,0)-(43,5))
+ │ ├── opening_loc: (43,0)-(43,1) = ":"
+ │ ├── value_loc: (43,1)-(43,5) = "👍"
│ ├── closing_loc: ∅
│ └── unescaped: "👍"
- ├── @ ArrayNode (location: (199...206))
+ ├── @ ArrayNode (location: (45,0)-(45,7))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (202...205))
+ │ │ └── @ SymbolNode (location: (45,3)-(45,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (202...205) = "a\\b"
+ │ │ ├── value_loc: (45,3)-(45,6) = "a\\b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\\b"
- │ ├── opening_loc: (199...202) = "%i["
- │ └── closing_loc: (205...206) = "]"
- ├── @ SymbolNode (location: (208...211))
- │ ├── opening_loc: (208...209) = ":"
- │ ├── value_loc: (209...211) = "$a"
+ │ ├── opening_loc: (45,0)-(45,3) = "%i["
+ │ └── 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"
│ ├── closing_loc: ∅
│ └── unescaped: "$a"
- ├── @ SymbolNode (location: (213...216))
- │ ├── opening_loc: (213...214) = ":"
- │ ├── value_loc: (214...216) = "@a"
+ ├── @ SymbolNode (location: (49,0)-(49,3))
+ │ ├── opening_loc: (49,0)-(49,1) = ":"
+ │ ├── value_loc: (49,1)-(49,3) = "@a"
│ ├── closing_loc: ∅
│ └── unescaped: "@a"
- ├── @ SymbolNode (location: (218...221))
- │ ├── opening_loc: (218...219) = ":"
- │ ├── value_loc: (219...221) = "do"
+ ├── @ SymbolNode (location: (51,0)-(51,3))
+ │ ├── opening_loc: (51,0)-(51,1) = ":"
+ │ ├── value_loc: (51,1)-(51,3) = "do"
│ ├── closing_loc: ∅
│ └── unescaped: "do"
- ├── @ SymbolNode (location: (223...225))
- │ ├── opening_loc: (223...224) = ":"
- │ ├── value_loc: (224...225) = "&"
+ ├── @ SymbolNode (location: (53,0)-(53,2))
+ │ ├── opening_loc: (53,0)-(53,1) = ":"
+ │ ├── value_loc: (53,1)-(53,2) = "&"
│ ├── closing_loc: ∅
│ └── unescaped: "&"
- ├── @ SymbolNode (location: (227...229))
- │ ├── opening_loc: (227...228) = ":"
- │ ├── value_loc: (228...229) = "`"
+ ├── @ SymbolNode (location: (55,0)-(55,2))
+ │ ├── opening_loc: (55,0)-(55,1) = ":"
+ │ ├── value_loc: (55,1)-(55,2) = "`"
│ ├── closing_loc: ∅
│ └── unescaped: "`"
- ├── @ SymbolNode (location: (231...234))
- │ ├── opening_loc: (231...232) = ":"
- │ ├── value_loc: (232...234) = "!@"
+ ├── @ SymbolNode (location: (57,0)-(57,3))
+ │ ├── opening_loc: (57,0)-(57,1) = ":"
+ │ ├── value_loc: (57,1)-(57,3) = "!@"
│ ├── closing_loc: ∅
│ └── unescaped: "!@"
- ├── @ SymbolNode (location: (236...239))
- │ ├── opening_loc: (236...237) = ":"
- │ ├── value_loc: (237...239) = "!~"
+ ├── @ SymbolNode (location: (59,0)-(59,3))
+ │ ├── opening_loc: (59,0)-(59,1) = ":"
+ │ ├── value_loc: (59,1)-(59,3) = "!~"
│ ├── closing_loc: ∅
│ └── unescaped: "!~"
- ├── @ SymbolNode (location: (241...243))
- │ ├── opening_loc: (241...242) = ":"
- │ ├── value_loc: (242...243) = "!"
+ ├── @ SymbolNode (location: (61,0)-(61,2))
+ │ ├── opening_loc: (61,0)-(61,1) = ":"
+ │ ├── value_loc: (61,1)-(61,2) = "!"
│ ├── closing_loc: ∅
│ └── unescaped: "!"
- ├── @ SymbolNode (location: (245...248))
- │ ├── opening_loc: (245...246) = ":"
- │ ├── value_loc: (246...248) = "[]"
+ ├── @ SymbolNode (location: (63,0)-(63,3))
+ │ ├── opening_loc: (63,0)-(63,1) = ":"
+ │ ├── value_loc: (63,1)-(63,3) = "[]"
│ ├── closing_loc: ∅
│ └── unescaped: "[]"
- ├── @ SymbolNode (location: (250...254))
- │ ├── opening_loc: (250...251) = ":"
- │ ├── value_loc: (251...254) = "[]="
+ ├── @ SymbolNode (location: (65,0)-(65,4))
+ │ ├── opening_loc: (65,0)-(65,1) = ":"
+ │ ├── value_loc: (65,1)-(65,4) = "[]="
│ ├── closing_loc: ∅
│ └── unescaped: "[]="
- ├── @ SymbolNode (location: (256...258))
- │ ├── opening_loc: (256...257) = ":"
- │ ├── value_loc: (257...258) = "^"
+ ├── @ SymbolNode (location: (67,0)-(67,2))
+ │ ├── opening_loc: (67,0)-(67,1) = ":"
+ │ ├── value_loc: (67,1)-(67,2) = "^"
│ ├── closing_loc: ∅
│ └── unescaped: "^"
- ├── @ SymbolNode (location: (260...263))
- │ ├── opening_loc: (260...261) = ":"
- │ ├── value_loc: (261...263) = "=="
+ ├── @ SymbolNode (location: (69,0)-(69,3))
+ │ ├── opening_loc: (69,0)-(69,1) = ":"
+ │ ├── value_loc: (69,1)-(69,3) = "=="
│ ├── closing_loc: ∅
│ └── unescaped: "=="
- ├── @ SymbolNode (location: (265...269))
- │ ├── opening_loc: (265...266) = ":"
- │ ├── value_loc: (266...269) = "==="
+ ├── @ SymbolNode (location: (71,0)-(71,4))
+ │ ├── opening_loc: (71,0)-(71,1) = ":"
+ │ ├── value_loc: (71,1)-(71,4) = "==="
│ ├── closing_loc: ∅
│ └── unescaped: "==="
- ├── @ SymbolNode (location: (271...274))
- │ ├── opening_loc: (271...272) = ":"
- │ ├── value_loc: (272...274) = "=~"
+ ├── @ SymbolNode (location: (73,0)-(73,3))
+ │ ├── opening_loc: (73,0)-(73,1) = ":"
+ │ ├── value_loc: (73,1)-(73,3) = "=~"
│ ├── closing_loc: ∅
│ └── unescaped: "=~"
- ├── @ SymbolNode (location: (276...279))
- │ ├── opening_loc: (276...277) = ":"
- │ ├── value_loc: (277...279) = ">="
+ ├── @ SymbolNode (location: (75,0)-(75,3))
+ │ ├── opening_loc: (75,0)-(75,1) = ":"
+ │ ├── value_loc: (75,1)-(75,3) = ">="
│ ├── closing_loc: ∅
│ └── unescaped: ">="
- ├── @ SymbolNode (location: (281...284))
- │ ├── opening_loc: (281...282) = ":"
- │ ├── value_loc: (282...284) = ">>"
+ ├── @ SymbolNode (location: (77,0)-(77,3))
+ │ ├── opening_loc: (77,0)-(77,1) = ":"
+ │ ├── value_loc: (77,1)-(77,3) = ">>"
│ ├── closing_loc: ∅
│ └── unescaped: ">>"
- ├── @ SymbolNode (location: (286...288))
- │ ├── opening_loc: (286...287) = ":"
- │ ├── value_loc: (287...288) = ">"
+ ├── @ SymbolNode (location: (79,0)-(79,2))
+ │ ├── opening_loc: (79,0)-(79,1) = ":"
+ │ ├── value_loc: (79,1)-(79,2) = ">"
│ ├── closing_loc: ∅
│ └── unescaped: ">"
- ├── @ SymbolNode (location: (290...294))
- │ ├── opening_loc: (290...291) = ":"
- │ ├── value_loc: (291...294) = "<=>"
+ ├── @ SymbolNode (location: (81,0)-(81,4))
+ │ ├── opening_loc: (81,0)-(81,1) = ":"
+ │ ├── value_loc: (81,1)-(81,4) = "<=>"
│ ├── closing_loc: ∅
│ └── unescaped: "<=>"
- ├── @ SymbolNode (location: (296...299))
- │ ├── opening_loc: (296...297) = ":"
- │ ├── value_loc: (297...299) = "<="
+ ├── @ SymbolNode (location: (83,0)-(83,3))
+ │ ├── opening_loc: (83,0)-(83,1) = ":"
+ │ ├── value_loc: (83,1)-(83,3) = "<="
│ ├── closing_loc: ∅
│ └── unescaped: "<="
- ├── @ SymbolNode (location: (301...304))
- │ ├── opening_loc: (301...302) = ":"
- │ ├── value_loc: (302...304) = "<<"
+ ├── @ SymbolNode (location: (85,0)-(85,3))
+ │ ├── opening_loc: (85,0)-(85,1) = ":"
+ │ ├── value_loc: (85,1)-(85,3) = "<<"
│ ├── closing_loc: ∅
│ └── unescaped: "<<"
- ├── @ SymbolNode (location: (306...308))
- │ ├── opening_loc: (306...307) = ":"
- │ ├── value_loc: (307...308) = "<"
+ ├── @ SymbolNode (location: (87,0)-(87,2))
+ │ ├── opening_loc: (87,0)-(87,1) = ":"
+ │ ├── value_loc: (87,1)-(87,2) = "<"
│ ├── closing_loc: ∅
│ └── unescaped: "<"
- ├── @ SymbolNode (location: (310...319))
- │ ├── opening_loc: (310...311) = ":"
- │ ├── value_loc: (311...319) = "__LINE__"
+ ├── @ SymbolNode (location: (89,0)-(89,9))
+ │ ├── opening_loc: (89,0)-(89,1) = ":"
+ │ ├── value_loc: (89,1)-(89,9) = "__LINE__"
│ ├── closing_loc: ∅
│ └── unescaped: "__LINE__"
- ├── @ SymbolNode (location: (321...330))
- │ ├── opening_loc: (321...322) = ":"
- │ ├── value_loc: (322...330) = "__FILE__"
+ ├── @ SymbolNode (location: (91,0)-(91,9))
+ │ ├── opening_loc: (91,0)-(91,1) = ":"
+ │ ├── value_loc: (91,1)-(91,9) = "__FILE__"
│ ├── closing_loc: ∅
│ └── unescaped: "__FILE__"
- └── @ SymbolNode (location: (332...345))
- ├── opening_loc: (332...333) = ":"
- ├── value_loc: (333...345) = "__ENCODING__"
+ └── @ SymbolNode (location: (93,0)-(93,13))
+ ├── opening_loc: (93,0)-(93,1) = ":"
+ ├── value_loc: (93,1)-(93,13) = "__ENCODING__"
├── closing_loc: ∅
└── unescaped: "__ENCODING__"
diff --git a/test/yarp/snapshots/ternary_operator.txt b/test/yarp/snapshots/ternary_operator.txt
index 2a55373511..13aa17e81a 100644
--- a/test/yarp/snapshots/ternary_operator.txt
+++ b/test/yarp/snapshots/ternary_operator.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...131))
+@ ProgramNode (location: (1,0)-(15,12))
├── locals: [:_a]
└── statements:
- @ StatementsNode (location: (0...131))
+ @ StatementsNode (location: (1,0)-(15,12))
└── body: (length: 8)
- ├── @ IfNode (location: (0...9))
+ ├── @ IfNode (location: (1,0)-(1,9))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── statements:
- │ │ @ StatementsNode (location: (4...5))
+ │ │ @ StatementsNode (location: (1,4)-(1,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (4...5))
+ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,15 +30,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── consequent:
- │ │ @ ElseNode (location: (6...9))
- │ │ ├── else_keyword_loc: (6...7) = ":"
+ │ │ @ ElseNode (location: (1,6)-(1,9))
+ │ │ ├── else_keyword_loc: (1,6)-(1,7) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8...9))
+ │ │ │ @ StatementsNode (location: (1,8)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (8...9))
+ │ │ │ └── @ CallNode (location: (1,8)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (8...9) = "c"
+ │ │ │ ├── message_loc: (1,8)-(1,9) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -47,13 +47,13 @@
│ │ │ └── name: "c"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (11...38))
+ ├── @ IfNode (location: (3,0)-(3,27))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (11...12))
+ │ │ @ CallNode (location: (3,0)-(3,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "a"
+ │ │ ├── message_loc: (3,0)-(3,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -61,15 +61,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── statements:
- │ │ @ StatementsNode (location: (15...25))
+ │ │ @ StatementsNode (location: (3,4)-(3,14))
│ │ └── body: (length: 1)
- │ │ └── @ DefinedNode (location: (15...25))
+ │ │ └── @ DefinedNode (location: (3,4)-(3,14))
│ │ ├── lparen_loc: ∅
│ │ ├── value:
- │ │ │ @ CallNode (location: (24...25))
+ │ │ │ @ CallNode (location: (3,13)-(3,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (24...25) = "b"
+ │ │ │ ├── message_loc: (3,13)-(3,14) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -77,20 +77,20 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ ├── rparen_loc: ∅
- │ │ └── keyword_loc: (15...23) = "defined?"
+ │ │ └── keyword_loc: (3,4)-(3,12) = "defined?"
│ ├── consequent:
- │ │ @ ElseNode (location: (26...38))
- │ │ ├── else_keyword_loc: (26...27) = ":"
+ │ │ @ ElseNode (location: (3,15)-(3,27))
+ │ │ ├── else_keyword_loc: (3,15)-(3,16) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (28...38))
+ │ │ │ @ StatementsNode (location: (3,17)-(3,27))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ DefinedNode (location: (28...38))
+ │ │ │ └── @ DefinedNode (location: (3,17)-(3,27))
│ │ │ ├── lparen_loc: ∅
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (37...38))
+ │ │ │ │ @ CallNode (location: (3,26)-(3,27))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (37...38) = "c"
+ │ │ │ │ ├── message_loc: (3,26)-(3,27) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -98,16 +98,16 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
│ │ │ ├── rparen_loc: ∅
- │ │ │ └── keyword_loc: (28...36) = "defined?"
+ │ │ │ └── keyword_loc: (3,17)-(3,25) = "defined?"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (40...55))
+ ├── @ IfNode (location: (5,0)-(5,15))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (40...46))
+ │ │ @ CallNode (location: (5,0)-(5,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (40...46) = "empty?"
+ │ │ ├── message_loc: (5,0)-(5,6) = "empty?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -115,25 +115,25 @@
│ │ ├── flags: ∅
│ │ └── name: "empty?"
│ ├── statements:
- │ │ @ StatementsNode (location: (47...51))
+ │ │ @ StatementsNode (location: (5,7)-(5,11))
│ │ └── body: (length: 1)
- │ │ └── @ TrueNode (location: (47...51))
+ │ │ └── @ TrueNode (location: (5,7)-(5,11))
│ ├── consequent:
- │ │ @ ElseNode (location: (51...55))
- │ │ ├── else_keyword_loc: (51...52) = ":"
+ │ │ @ ElseNode (location: (5,11)-(5,15))
+ │ │ ├── else_keyword_loc: (5,11)-(5,12) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (52...55))
+ │ │ │ @ StatementsNode (location: (5,12)-(5,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (52...55))
+ │ │ │ └── @ NilNode (location: (5,12)-(5,15))
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (57...73))
+ ├── @ IfNode (location: (7,0)-(7,16))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (57...63))
+ │ │ @ CallNode (location: (7,0)-(7,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (57...63) = "empty?"
+ │ │ ├── message_loc: (7,0)-(7,6) = "empty?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -141,25 +141,25 @@
│ │ ├── flags: ∅
│ │ └── name: "empty?"
│ ├── statements:
- │ │ @ StatementsNode (location: (64...69))
+ │ │ @ StatementsNode (location: (7,7)-(7,12))
│ │ └── body: (length: 1)
- │ │ └── @ FalseNode (location: (64...69))
+ │ │ └── @ FalseNode (location: (7,7)-(7,12))
│ ├── consequent:
- │ │ @ ElseNode (location: (69...73))
- │ │ ├── else_keyword_loc: (69...70) = ":"
+ │ │ @ ElseNode (location: (7,12)-(7,16))
+ │ │ ├── else_keyword_loc: (7,12)-(7,13) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (70...73))
+ │ │ │ @ StatementsNode (location: (7,13)-(7,16))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (70...73))
+ │ │ │ └── @ NilNode (location: (7,13)-(7,16))
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (75...89))
+ ├── @ IfNode (location: (9,0)-(9,14))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (75...81))
+ │ │ @ CallNode (location: (9,0)-(9,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (75...81) = "empty?"
+ │ │ ├── message_loc: (9,0)-(9,6) = "empty?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -167,25 +167,25 @@
│ │ ├── flags: ∅
│ │ └── name: "empty?"
│ ├── statements:
- │ │ @ StatementsNode (location: (82...85))
+ │ │ @ StatementsNode (location: (9,7)-(9,10))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (82...85))
+ │ │ └── @ NilNode (location: (9,7)-(9,10))
│ ├── consequent:
- │ │ @ ElseNode (location: (85...89))
- │ │ ├── else_keyword_loc: (85...86) = ":"
+ │ │ @ ElseNode (location: (9,10)-(9,14))
+ │ │ ├── else_keyword_loc: (9,10)-(9,11) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (86...89))
+ │ │ │ @ StatementsNode (location: (9,11)-(9,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (86...89))
+ │ │ │ └── @ NilNode (location: (9,11)-(9,14))
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (91...101))
+ ├── @ IfNode (location: (11,0)-(11,10))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (91...93))
+ │ │ @ CallNode (location: (11,0)-(11,2))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (91...93) = "a?"
+ │ │ ├── message_loc: (11,0)-(11,2) = "a?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -193,25 +193,25 @@
│ │ ├── flags: ∅
│ │ └── name: "a?"
│ ├── statements:
- │ │ @ StatementsNode (location: (94...97))
+ │ │ @ StatementsNode (location: (11,3)-(11,6))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (94...97))
+ │ │ └── @ NilNode (location: (11,3)-(11,6))
│ ├── consequent:
- │ │ @ ElseNode (location: (97...101))
- │ │ ├── else_keyword_loc: (97...98) = ":"
+ │ │ @ ElseNode (location: (11,6)-(11,10))
+ │ │ ├── else_keyword_loc: (11,6)-(11,7) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (98...101))
+ │ │ │ @ StatementsNode (location: (11,7)-(11,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (98...101))
+ │ │ │ └── @ NilNode (location: (11,7)-(11,10))
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (103...117))
+ ├── @ IfNode (location: (13,0)-(13,14))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (103...104))
+ │ │ @ CallNode (location: (13,0)-(13,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (103...104) = "a"
+ │ │ ├── message_loc: (13,0)-(13,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -219,12 +219,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── statements:
- │ │ @ StatementsNode (location: (106...110))
+ │ │ @ StatementsNode (location: (13,3)-(13,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (106...110))
+ │ │ └── @ CallNode (location: (13,3)-(13,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (106...110) = "var1"
+ │ │ ├── message_loc: (13,3)-(13,7) = "var1"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -232,15 +232,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "var1"
│ ├── consequent:
- │ │ @ ElseNode (location: (111...117))
- │ │ ├── else_keyword_loc: (111...112) = ":"
+ │ │ @ ElseNode (location: (13,8)-(13,14))
+ │ │ ├── else_keyword_loc: (13,8)-(13,9) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (113...117))
+ │ │ │ @ StatementsNode (location: (13,10)-(13,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (113...117))
+ │ │ │ └── @ CallNode (location: (13,10)-(13,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (113...117) = "var2"
+ │ │ │ ├── message_loc: (13,10)-(13,14) = "var2"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -249,13 +249,13 @@
│ │ │ └── name: "var2"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- └── @ IfNode (location: (119...131))
+ └── @ IfNode (location: (15,0)-(15,12))
├── if_keyword_loc: ∅
├── predicate:
- │ @ CallNode (location: (119...123))
+ │ @ CallNode (location: (15,0)-(15,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (119...123) = "nil?"
+ │ ├── message_loc: (15,0)-(15,4) = "nil?"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -263,23 +263,23 @@
│ ├── flags: ∅
│ └── name: "nil?"
├── statements:
- │ @ StatementsNode (location: (124...129))
+ │ @ StatementsNode (location: (15,5)-(15,10))
│ └── body: (length: 1)
- │ └── @ LocalVariableWriteNode (location: (124...129))
+ │ └── @ LocalVariableWriteNode (location: (15,5)-(15,10))
│ ├── name: :_a
│ ├── depth: 0
- │ ├── name_loc: (124...126) = "_a"
+ │ ├── name_loc: (15,5)-(15,7) = "_a"
│ ├── value:
- │ │ @ IntegerNode (location: (128...129))
+ │ │ @ IntegerNode (location: (15,9)-(15,10))
│ │ └── flags: decimal
- │ └── operator_loc: (127...128) = "="
+ │ └── operator_loc: (15,8)-(15,9) = "="
├── consequent:
- │ @ ElseNode (location: (129...131))
- │ ├── else_keyword_loc: (129...130) = ":"
+ │ @ ElseNode (location: (15,10)-(15,12))
+ │ ├── else_keyword_loc: (15,10)-(15,11) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (130...131))
+ │ │ @ StatementsNode (location: (15,11)-(15,12))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (130...131))
+ │ │ └── @ IntegerNode (location: (15,11)-(15,12))
│ │ └── flags: decimal
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/tilde_heredocs.txt b/test/yarp/snapshots/tilde_heredocs.txt
index d0056ff7d5..b0b060255c 100644
--- a/test/yarp/snapshots/tilde_heredocs.txt
+++ b/test/yarp/snapshots/tilde_heredocs.txt
@@ -1,209 +1,209 @@
-@ ProgramNode (location: (0...372))
+@ ProgramNode (location: (1,0)-(88,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...372))
+ @ StatementsNode (location: (1,0)-(88,6))
└── body: (length: 18)
- ├── @ StringNode (location: (0...6))
+ ├── @ StringNode (location: (1,0)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (0...6) = "<<~EOF"
- │ ├── content_loc: (7...11) = " a\n"
- │ ├── closing_loc: (11...15) = "EOF\n"
+ │ ├── opening_loc: (1,0)-(1,6) = "<<~EOF"
+ │ ├── content_loc: (2,0)-(2,0) = " a\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "EOF\n"
│ └── unescaped: "a\n"
- ├── @ StringNode (location: (16...22))
+ ├── @ StringNode (location: (5,0)-(5,6))
│ ├── flags: ∅
- │ ├── opening_loc: (16...22) = "<<~EOF"
- │ ├── content_loc: (23...34) = "\ta\n b\n\t\tc\n"
- │ ├── closing_loc: (34...38) = "EOF\n"
+ │ ├── opening_loc: (5,0)-(5,6) = "<<~EOF"
+ │ ├── content_loc: (6,0)-(8,0) = "\ta\n b\n\t\tc\n"
+ │ ├── closing_loc: (9,0)-(9,0) = "EOF\n"
│ └── unescaped: "\ta\nb\n\t\tc\n"
- ├── @ InterpolatedStringNode (location: (39...45))
- │ ├── opening_loc: (39...45) = "<<~EOF"
+ ├── @ InterpolatedStringNode (location: (11,0)-(11,6))
+ │ ├── opening_loc: (11,0)-(11,6) = "<<~EOF"
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (48...52))
- │ │ │ ├── opening_loc: (48...50) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (12,2)-(12,6))
+ │ │ │ ├── opening_loc: (12,2)-(12,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (50...51))
+ │ │ │ │ @ StatementsNode (location: (12,4)-(12,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (50...51))
+ │ │ │ │ └── @ IntegerNode (location: (12,4)-(12,5))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (51...52) = "}"
- │ │ └── @ StringNode (location: (52...55))
+ │ │ │ └── closing_loc: (12,5)-(12,6) = "}"
+ │ │ └── @ StringNode (location: (12,6)-(12,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (52...55) = " a\n"
+ │ │ ├── content_loc: (12,6)-(12,0) = " a\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " a\n"
- │ └── closing_loc: (55...59) = "EOF\n"
- ├── @ InterpolatedStringNode (location: (60...66))
- │ ├── opening_loc: (60...66) = "<<~EOF"
+ │ └── closing_loc: (13,0)-(13,0) = "EOF\n"
+ ├── @ InterpolatedStringNode (location: (15,0)-(15,6))
+ │ ├── opening_loc: (15,0)-(15,6) = "<<~EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (67...71))
+ │ │ ├── @ StringNode (location: (16,0)-(16,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (67...71) = " a "
+ │ │ │ ├── content_loc: (16,0)-(16,4) = " a "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a "
- │ │ ├── @ EmbeddedStatementsNode (location: (71...75))
- │ │ │ ├── opening_loc: (71...73) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (16,4)-(16,8))
+ │ │ │ ├── opening_loc: (16,4)-(16,6) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (73...74))
+ │ │ │ │ @ StatementsNode (location: (16,6)-(16,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (73...74))
+ │ │ │ │ └── @ IntegerNode (location: (16,6)-(16,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (74...75) = "}"
- │ │ └── @ StringNode (location: (75...76))
+ │ │ │ └── closing_loc: (16,7)-(16,8) = "}"
+ │ │ └── @ StringNode (location: (16,8)-(16,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (75...76) = "\n"
+ │ │ ├── content_loc: (16,8)-(16,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (76...80) = "EOF\n"
- ├── @ InterpolatedStringNode (location: (81...87))
- │ ├── opening_loc: (81...87) = "<<~EOF"
+ │ └── closing_loc: (17,0)-(17,0) = "EOF\n"
+ ├── @ InterpolatedStringNode (location: (19,0)-(19,6))
+ │ ├── opening_loc: (19,0)-(19,6) = "<<~EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (88...93))
+ │ │ ├── @ StringNode (location: (20,0)-(21,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (88...93) = " a\n "
+ │ │ │ ├── content_loc: (20,0)-(21,1) = " a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (93...97))
- │ │ │ ├── opening_loc: (93...95) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (21,1)-(21,5))
+ │ │ │ ├── opening_loc: (21,1)-(21,3) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (95...96))
+ │ │ │ │ @ StatementsNode (location: (21,3)-(21,4))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (95...96))
+ │ │ │ │ └── @ IntegerNode (location: (21,3)-(21,4))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (96...97) = "}"
- │ │ └── @ StringNode (location: (97...98))
+ │ │ │ └── closing_loc: (21,4)-(21,5) = "}"
+ │ │ └── @ StringNode (location: (21,5)-(21,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (97...98) = "\n"
+ │ │ ├── content_loc: (21,5)-(21,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (98...102) = "EOF\n"
- ├── @ InterpolatedStringNode (location: (103...109))
- │ ├── opening_loc: (103...109) = "<<~EOF"
+ │ └── closing_loc: (22,0)-(22,0) = "EOF\n"
+ ├── @ InterpolatedStringNode (location: (24,0)-(24,6))
+ │ ├── opening_loc: (24,0)-(24,6) = "<<~EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (110...116))
+ │ │ ├── @ StringNode (location: (25,0)-(26,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (110...116) = " a\n "
+ │ │ │ ├── content_loc: (25,0)-(26,2) = " a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (116...120))
- │ │ │ ├── opening_loc: (116...118) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (26,2)-(26,6))
+ │ │ │ ├── opening_loc: (26,2)-(26,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (118...119))
+ │ │ │ │ @ StatementsNode (location: (26,4)-(26,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (118...119))
+ │ │ │ │ └── @ IntegerNode (location: (26,4)-(26,5))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (119...120) = "}"
- │ │ └── @ StringNode (location: (120...121))
+ │ │ │ └── closing_loc: (26,5)-(26,6) = "}"
+ │ │ └── @ StringNode (location: (26,6)-(26,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (120...121) = "\n"
+ │ │ ├── content_loc: (26,6)-(26,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (121...125) = "EOF\n"
- ├── @ StringNode (location: (126...132))
+ │ └── closing_loc: (27,0)-(27,0) = "EOF\n"
+ ├── @ StringNode (location: (29,0)-(29,6))
│ ├── flags: ∅
- │ ├── opening_loc: (126...132) = "<<~EOF"
- │ ├── content_loc: (133...141) = " a\n b\n"
- │ ├── closing_loc: (141...145) = "EOF\n"
+ │ ├── opening_loc: (29,0)-(29,6) = "<<~EOF"
+ │ ├── content_loc: (30,0)-(31,0) = " a\n b\n"
+ │ ├── closing_loc: (32,0)-(32,0) = "EOF\n"
│ └── unescaped: "a\nb\n"
- ├── @ StringNode (location: (146...152))
+ ├── @ StringNode (location: (34,0)-(34,6))
│ ├── flags: ∅
- │ ├── opening_loc: (146...152) = "<<~EOF"
- │ ├── content_loc: (153...162) = " a\n b\n"
- │ ├── closing_loc: (162...166) = "EOF\n"
+ │ ├── opening_loc: (34,0)-(34,6) = "<<~EOF"
+ │ ├── content_loc: (35,0)-(36,0) = " a\n b\n"
+ │ ├── closing_loc: (37,0)-(37,0) = "EOF\n"
│ └── unescaped: "a\n b\n"
- ├── @ StringNode (location: (167...173))
+ ├── @ StringNode (location: (39,0)-(39,6))
│ ├── flags: ∅
- │ ├── opening_loc: (167...173) = "<<~EOF"
- │ ├── content_loc: (174...183) = "\t\t\ta\n\t\tb\n"
- │ ├── closing_loc: (183...187) = "EOF\n"
+ │ ├── opening_loc: (39,0)-(39,6) = "<<~EOF"
+ │ ├── content_loc: (40,0)-(41,0) = "\t\t\ta\n\t\tb\n"
+ │ ├── closing_loc: (42,0)-(42,0) = "EOF\n"
│ └── unescaped: "\ta\nb\n"
- ├── @ StringNode (location: (188...196))
+ ├── @ StringNode (location: (44,0)-(44,8))
│ ├── flags: ∅
- │ ├── opening_loc: (188...196) = "<<~'EOF'"
- │ ├── content_loc: (197...206) = " a \#{1}\n"
- │ ├── closing_loc: (206...210) = "EOF\n"
+ │ ├── opening_loc: (44,0)-(44,8) = "<<~'EOF'"
+ │ ├── content_loc: (45,0)-(45,0) = " a \#{1}\n"
+ │ ├── closing_loc: (46,0)-(46,0) = "EOF\n"
│ └── unescaped: "a \#{1}\n"
- ├── @ StringNode (location: (211...217))
+ ├── @ StringNode (location: (48,0)-(48,6))
│ ├── flags: ∅
- │ ├── opening_loc: (211...217) = "<<~EOF"
- │ ├── content_loc: (218...225) = "\ta\n\t b\n"
- │ ├── closing_loc: (225...229) = "EOF\n"
+ │ ├── opening_loc: (48,0)-(48,6) = "<<~EOF"
+ │ ├── content_loc: (49,0)-(50,0) = "\ta\n\t b\n"
+ │ ├── closing_loc: (51,0)-(51,0) = "EOF\n"
│ └── unescaped: "a\n b\n"
- ├── @ StringNode (location: (230...236))
+ ├── @ StringNode (location: (53,0)-(53,6))
│ ├── flags: ∅
- │ ├── opening_loc: (230...236) = "<<~EOF"
- │ ├── content_loc: (237...244) = "\t a\n\tb\n"
- │ ├── closing_loc: (244...248) = "EOF\n"
+ │ ├── opening_loc: (53,0)-(53,6) = "<<~EOF"
+ │ ├── content_loc: (54,0)-(55,0) = "\t a\n\tb\n"
+ │ ├── closing_loc: (56,0)-(56,0) = "EOF\n"
│ └── unescaped: " a\nb\n"
- ├── @ StringNode (location: (249...255))
+ ├── @ StringNode (location: (58,0)-(58,6))
│ ├── flags: ∅
- │ ├── opening_loc: (249...255) = "<<~EOF"
- │ ├── content_loc: (256...271) = " \ta\n b\n"
- │ ├── closing_loc: (271...275) = "EOF\n"
+ │ ├── opening_loc: (58,0)-(58,6) = "<<~EOF"
+ │ ├── content_loc: (59,0)-(60,0) = " \ta\n b\n"
+ │ ├── closing_loc: (61,0)-(61,0) = "EOF\n"
│ └── unescaped: "a\nb\n"
- ├── @ StringNode (location: (276...282))
+ ├── @ StringNode (location: (63,0)-(63,6))
│ ├── flags: ∅
- │ ├── opening_loc: (276...282) = "<<~EOF"
- │ ├── content_loc: (283...292) = " a\n\n b\n"
- │ ├── closing_loc: (292...296) = "EOF\n"
+ │ ├── opening_loc: (63,0)-(63,6) = "<<~EOF"
+ │ ├── content_loc: (64,0)-(66,0) = " a\n\n b\n"
+ │ ├── closing_loc: (67,0)-(67,0) = "EOF\n"
│ └── unescaped: "a\n\nb\n"
- ├── @ StringNode (location: (297...303))
+ ├── @ StringNode (location: (69,0)-(69,6))
│ ├── flags: ∅
- │ ├── opening_loc: (297...303) = "<<~EOF"
- │ ├── content_loc: (304...313) = " a\n\n b\n"
- │ ├── closing_loc: (313...317) = "EOF\n"
+ │ ├── opening_loc: (69,0)-(69,6) = "<<~EOF"
+ │ ├── content_loc: (70,0)-(72,0) = " a\n\n b\n"
+ │ ├── closing_loc: (73,0)-(73,0) = "EOF\n"
│ └── unescaped: "a\n\nb\n"
- ├── @ StringNode (location: (318...324))
+ ├── @ StringNode (location: (75,0)-(75,6))
│ ├── flags: ∅
- │ ├── opening_loc: (318...324) = "<<~EOF"
- │ ├── content_loc: (325...336) = " a\n\n\n\n b\n"
- │ ├── closing_loc: (336...340) = "EOF\n"
+ │ ├── opening_loc: (75,0)-(75,6) = "<<~EOF"
+ │ ├── content_loc: (76,0)-(80,0) = " a\n\n\n\n b\n"
+ │ ├── closing_loc: (81,0)-(81,0) = "EOF\n"
│ └── unescaped: "a\n\n\n\nb\n"
- ├── @ InterpolatedStringNode (location: (341...347))
- │ ├── opening_loc: (341...347) = "<<~EOF"
+ ├── @ InterpolatedStringNode (location: (83,0)-(83,6))
+ │ ├── opening_loc: (83,0)-(83,6) = "<<~EOF"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (348...351))
+ │ │ ├── @ StringNode (location: (84,0)-(85,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (348...351) = "\n "
+ │ │ │ ├── content_loc: (84,0)-(85,2) = "\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (351...355))
- │ │ │ ├── opening_loc: (351...353) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (85,2)-(85,6))
+ │ │ │ ├── opening_loc: (85,2)-(85,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (353...354))
+ │ │ │ │ @ StatementsNode (location: (85,4)-(85,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (353...354))
+ │ │ │ │ └── @ IntegerNode (location: (85,4)-(85,5))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (354...355) = "}"
- │ │ └── @ StringNode (location: (355...357))
+ │ │ │ └── closing_loc: (85,5)-(85,6) = "}"
+ │ │ └── @ StringNode (location: (85,6)-(85,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (355...357) = "a\n"
+ │ │ ├── content_loc: (85,6)-(85,0) = "a\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\n"
- │ └── closing_loc: (357...365) = " EOF\n"
- └── @ InterpolatedStringNode (location: (366...372))
- ├── opening_loc: (366...372) = "<<~EOT"
+ │ └── closing_loc: (86,0)-(86,0) = " EOF\n"
+ └── @ InterpolatedStringNode (location: (88,0)-(88,6))
+ ├── opening_loc: (88,0)-(88,6) = "<<~EOT"
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (375...379))
- │ │ ├── opening_loc: (375...377) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (89,2)-(89,6))
+ │ │ ├── opening_loc: (89,2)-(89,4) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (377...378))
+ │ │ │ @ StatementsNode (location: (89,4)-(89,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (377...378))
+ │ │ │ └── @ IntegerNode (location: (89,4)-(89,5))
│ │ │ └── flags: decimal
- │ │ └── closing_loc: (378...379) = "}"
- │ └── @ StringNode (location: (379...383))
+ │ │ └── closing_loc: (89,5)-(89,6) = "}"
+ │ └── @ StringNode (location: (89,6)-(90,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (379...383) = "\n\tb\n"
+ │ ├── content_loc: (89,6)-(90,0) = "\n\tb\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n\tb\n"
- └── closing_loc: (383...387) = "EOT\n"
+ └── closing_loc: (91,0)-(91,0) = "EOT\n"
diff --git a/test/yarp/snapshots/undef.txt b/test/yarp/snapshots/undef.txt
index 0f70a31e7c..8ab7acacec 100644
--- a/test/yarp/snapshots/undef.txt
+++ b/test/yarp/snapshots/undef.txt
@@ -1,105 +1,105 @@
-@ ProgramNode (location: (0...116))
+@ ProgramNode (location: (1,0)-(17,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...116))
+ @ StatementsNode (location: (1,0)-(17,14))
└── body: (length: 9)
- ├── @ UndefNode (location: (0...7))
+ ├── @ UndefNode (location: (1,0)-(1,7))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (6...7))
+ │ │ └── @ SymbolNode (location: (1,6)-(1,7))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (6...7) = "a"
+ │ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ └── keyword_loc: (0...5) = "undef"
- ├── @ UndefNode (location: (9...19))
+ │ └── keyword_loc: (1,0)-(1,5) = "undef"
+ ├── @ UndefNode (location: (3,0)-(3,10))
│ ├── names: (length: 2)
- │ │ ├── @ SymbolNode (location: (15...16))
+ │ │ ├── @ SymbolNode (location: (3,6)-(3,7))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (15...16) = "a"
+ │ │ │ ├── value_loc: (3,6)-(3,7) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ SymbolNode (location: (18...19))
+ │ │ └── @ SymbolNode (location: (3,9)-(3,10))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (18...19) = "b"
+ │ │ ├── value_loc: (3,9)-(3,10) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
- │ └── keyword_loc: (9...14) = "undef"
- ├── @ UndefNode (location: (21...29))
+ │ └── keyword_loc: (3,0)-(3,5) = "undef"
+ ├── @ UndefNode (location: (5,0)-(5,8))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (27...29))
+ │ │ └── @ SymbolNode (location: (5,6)-(5,8))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (27...29) = "if"
+ │ │ ├── value_loc: (5,6)-(5,8) = "if"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "if"
- │ └── keyword_loc: (21...26) = "undef"
- ├── @ UndefNode (location: (31...40))
+ │ └── keyword_loc: (5,0)-(5,5) = "undef"
+ ├── @ UndefNode (location: (7,0)-(7,9))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (37...40))
+ │ │ └── @ SymbolNode (location: (7,6)-(7,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (37...40) = "<=>"
+ │ │ ├── value_loc: (7,6)-(7,9) = "<=>"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "<=>"
- │ └── keyword_loc: (31...36) = "undef"
- ├── @ UndefNode (location: (42...50))
+ │ └── keyword_loc: (7,0)-(7,5) = "undef"
+ ├── @ UndefNode (location: (9,0)-(9,8))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (48...50))
- │ │ ├── opening_loc: (48...49) = ":"
- │ │ ├── value_loc: (49...50) = "a"
+ │ │ └── @ SymbolNode (location: (9,6)-(9,8))
+ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
+ │ │ ├── value_loc: (9,7)-(9,8) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ └── keyword_loc: (42...47) = "undef"
- ├── @ UndefNode (location: (52...68))
+ │ └── keyword_loc: (9,0)-(9,5) = "undef"
+ ├── @ UndefNode (location: (11,0)-(11,16))
│ ├── names: (length: 3)
- │ │ ├── @ SymbolNode (location: (58...60))
- │ │ │ ├── opening_loc: (58...59) = ":"
- │ │ │ ├── value_loc: (59...60) = "a"
+ │ │ ├── @ SymbolNode (location: (11,6)-(11,8))
+ │ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
+ │ │ │ ├── value_loc: (11,7)-(11,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ ├── @ SymbolNode (location: (62...64))
- │ │ │ ├── opening_loc: (62...63) = ":"
- │ │ │ ├── value_loc: (63...64) = "b"
+ │ │ ├── @ SymbolNode (location: (11,10)-(11,12))
+ │ │ │ ├── opening_loc: (11,10)-(11,11) = ":"
+ │ │ │ ├── value_loc: (11,11)-(11,12) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
- │ │ └── @ SymbolNode (location: (66...68))
- │ │ ├── opening_loc: (66...67) = ":"
- │ │ ├── value_loc: (67...68) = "c"
+ │ │ └── @ SymbolNode (location: (11,14)-(11,16))
+ │ │ ├── opening_loc: (11,14)-(11,15) = ":"
+ │ │ ├── value_loc: (11,15)-(11,16) = "c"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "c"
- │ └── keyword_loc: (52...57) = "undef"
- ├── @ UndefNode (location: (70...82))
+ │ └── keyword_loc: (11,0)-(11,5) = "undef"
+ ├── @ UndefNode (location: (13,0)-(13,12))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (76...82))
- │ │ ├── opening_loc: (76...78) = ":'"
- │ │ ├── value_loc: (78...81) = "abc"
- │ │ ├── closing_loc: (81...82) = "'"
+ │ │ └── @ SymbolNode (location: (13,6)-(13,12))
+ │ │ ├── opening_loc: (13,6)-(13,8) = ":'"
+ │ │ ├── value_loc: (13,8)-(13,11) = "abc"
+ │ │ ├── closing_loc: (13,11)-(13,12) = "'"
│ │ └── unescaped: "abc"
- │ └── keyword_loc: (70...75) = "undef"
- ├── @ UndefNode (location: (84...100))
+ │ └── keyword_loc: (13,0)-(13,5) = "undef"
+ ├── @ UndefNode (location: (15,0)-(15,16))
│ ├── names: (length: 1)
- │ │ └── @ InterpolatedSymbolNode (location: (90...100))
- │ │ ├── opening_loc: (90...92) = ":\""
+ │ │ └── @ InterpolatedSymbolNode (location: (15,6)-(15,16))
+ │ │ ├── opening_loc: (15,6)-(15,8) = ":\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (92...95))
+ │ │ │ ├── @ StringNode (location: (15,8)-(15,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (92...95) = "abc"
+ │ │ │ │ ├── content_loc: (15,8)-(15,11) = "abc"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "abc"
- │ │ │ └── @ EmbeddedStatementsNode (location: (95...99))
- │ │ │ ├── opening_loc: (95...97) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (15,11)-(15,15))
+ │ │ │ ├── opening_loc: (15,11)-(15,13) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (97...98))
+ │ │ │ │ @ StatementsNode (location: (15,13)-(15,14))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (97...98))
+ │ │ │ │ └── @ IntegerNode (location: (15,13)-(15,14))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (98...99) = "}"
- │ │ └── closing_loc: (99...100) = "\""
- │ └── keyword_loc: (84...89) = "undef"
- └── @ UndefNode (location: (102...116))
+ │ │ │ └── closing_loc: (15,14)-(15,15) = "}"
+ │ │ └── closing_loc: (15,15)-(15,16) = "\""
+ │ └── keyword_loc: (15,0)-(15,5) = "undef"
+ └── @ UndefNode (location: (17,0)-(17,14))
├── names: (length: 1)
- │ └── @ SymbolNode (location: (108...116))
+ │ └── @ SymbolNode (location: (17,6)-(17,14))
│ ├── opening_loc: ∅
- │ ├── value_loc: (108...116) = "Constant"
+ │ ├── value_loc: (17,6)-(17,14) = "Constant"
│ ├── closing_loc: ∅
│ └── unescaped: "Constant"
- └── keyword_loc: (102...107) = "undef"
+ └── keyword_loc: (17,0)-(17,5) = "undef"
diff --git a/test/yarp/snapshots/unescaping.txt b/test/yarp/snapshots/unescaping.txt
index 003533ed26..a59dc01626 100644
--- a/test/yarp/snapshots/unescaping.txt
+++ b/test/yarp/snapshots/unescaping.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(7,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(7,7))
└── body: (length: 4)
- ├── @ ArrayNode (location: (0...10))
+ ├── @ ArrayNode (location: (1,0)-(1,10))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (1...9))
+ │ │ └── @ StringNode (location: (1,1)-(1,9))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (1...2) = "\""
- │ │ ├── content_loc: (2...8) = "\\c\#{1}"
- │ │ ├── closing_loc: (8...9) = "\""
+ │ │ ├── opening_loc: (1,1)-(1,2) = "\""
+ │ │ ├── content_loc: (1,2)-(1,8) = "\\c\#{1}"
+ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ └── unescaped: "\u0003{1}"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (9...10) = "]"
- ├── @ RegularExpressionNode (location: (12...20))
- │ ├── opening_loc: (12...13) = "/"
- │ ├── content_loc: (13...19) = "\\c\#{1}"
- │ ├── closing_loc: (19...20) = "/"
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (1,9)-(1,10) = "]"
+ ├── @ RegularExpressionNode (location: (3,0)-(3,8))
+ │ ├── opening_loc: (3,0)-(3,1) = "/"
+ │ ├── content_loc: (3,1)-(3,7) = "\\c\#{1}"
+ │ ├── closing_loc: (3,7)-(3,8) = "/"
│ ├── unescaped: "\u0003{1}"
│ └── flags: ∅
- ├── @ StringNode (location: (22...30))
+ ├── @ StringNode (location: (5,0)-(5,8))
│ ├── flags: ∅
- │ ├── opening_loc: (22...23) = "\""
- │ ├── content_loc: (23...29) = "\\c\#{1}"
- │ ├── closing_loc: (29...30) = "\""
+ │ ├── opening_loc: (5,0)-(5,1) = "\""
+ │ ├── content_loc: (5,1)-(5,7) = "\\c\#{1}"
+ │ ├── closing_loc: (5,7)-(5,8) = "\""
│ └── unescaped: "\u0003{1}"
- └── @ StringNode (location: (32...39))
+ └── @ StringNode (location: (7,0)-(7,7))
├── flags: ∅
- ├── opening_loc: (32...39) = "<<~HERE"
- ├── content_loc: (40...50) = " \\c\#{1}\n"
- ├── closing_loc: (50...55) = "HERE\n"
+ ├── opening_loc: (7,0)-(7,7) = "<<~HERE"
+ ├── content_loc: (8,0)-(8,0) = " \\c\#{1}\n"
+ ├── closing_loc: (9,0)-(9,0) = "HERE\n"
└── unescaped: "\u0003{1}\n"
diff --git a/test/yarp/snapshots/unless.txt b/test/yarp/snapshots/unless.txt
index c3947c2d54..27455d08c6 100644
--- a/test/yarp/snapshots/unless.txt
+++ b/test/yarp/snapshots/unless.txt
@@ -1,92 +1,92 @@
-@ ProgramNode (location: (0...141))
+@ ProgramNode (location: (1,0)-(14,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...141))
+ @ StatementsNode (location: (1,0)-(14,22))
└── body: (length: 7)
- ├── @ UnlessNode (location: (0...19))
- │ ├── keyword_loc: (0...6) = "unless"
+ ├── @ UnlessNode (location: (1,0)-(1,19))
+ │ ├── keyword_loc: (1,0)-(1,6) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (7...11))
+ │ │ @ TrueNode (location: (1,7)-(1,11))
│ ├── statements:
- │ │ @ StatementsNode (location: (13...14))
+ │ │ @ StatementsNode (location: (1,13)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (13...14))
+ │ │ └── @ IntegerNode (location: (1,13)-(1,14))
│ │ └── flags: decimal
│ ├── consequent: ∅
- │ └── end_keyword_loc: (16...19) = "end"
- ├── @ UnlessNode (location: (21...45))
- │ ├── keyword_loc: (21...27) = "unless"
+ │ └── end_keyword_loc: (1,16)-(1,19) = "end"
+ ├── @ UnlessNode (location: (3,0)-(4,12))
+ │ ├── keyword_loc: (3,0)-(3,6) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (28...32))
+ │ │ @ TrueNode (location: (3,7)-(3,11))
│ ├── statements:
- │ │ @ StatementsNode (location: (33...34))
+ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (33...34))
+ │ │ └── @ IntegerNode (location: (4,0)-(4,1))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (35...45))
- │ │ ├── else_keyword_loc: (35...39) = "else"
+ │ │ @ ElseNode (location: (4,2)-(4,12))
+ │ │ ├── else_keyword_loc: (4,2)-(4,6) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (40...41))
+ │ │ │ @ StatementsNode (location: (4,7)-(4,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (40...41))
+ │ │ │ └── @ IntegerNode (location: (4,7)-(4,8))
│ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (42...45) = "end"
- │ └── end_keyword_loc: (42...45) = "end"
- ├── @ UnlessNode (location: (47...60))
- │ ├── keyword_loc: (49...55) = "unless"
+ │ │ └── end_keyword_loc: (4,9)-(4,12) = "end"
+ │ └── end_keyword_loc: (4,9)-(4,12) = "end"
+ ├── @ UnlessNode (location: (6,0)-(6,13))
+ │ ├── keyword_loc: (6,2)-(6,8) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (56...60))
+ │ │ @ TrueNode (location: (6,9)-(6,13))
│ ├── statements:
- │ │ @ StatementsNode (location: (47...48))
+ │ │ @ StatementsNode (location: (6,0)-(6,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (47...48))
+ │ │ └── @ IntegerNode (location: (6,0)-(6,1))
│ │ └── flags: decimal
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ UnlessNode (location: (62...79))
- │ ├── keyword_loc: (68...74) = "unless"
+ ├── @ UnlessNode (location: (8,0)-(8,17))
+ │ ├── keyword_loc: (8,6)-(8,12) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (75...79))
+ │ │ @ TrueNode (location: (8,13)-(8,17))
│ ├── statements:
- │ │ @ StatementsNode (location: (62...67))
+ │ │ @ StatementsNode (location: (8,0)-(8,5))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (62...67))
+ │ │ └── @ BreakNode (location: (8,0)-(8,5))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (62...67) = "break"
+ │ │ └── keyword_loc: (8,0)-(8,5) = "break"
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ UnlessNode (location: (81...97))
- │ ├── keyword_loc: (86...92) = "unless"
+ ├── @ UnlessNode (location: (10,0)-(10,16))
+ │ ├── keyword_loc: (10,5)-(10,11) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (93...97))
+ │ │ @ TrueNode (location: (10,12)-(10,16))
│ ├── statements:
- │ │ @ StatementsNode (location: (81...85))
+ │ │ @ StatementsNode (location: (10,0)-(10,4))
│ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (81...85))
+ │ │ └── @ NextNode (location: (10,0)-(10,4))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (81...85) = "next"
+ │ │ └── keyword_loc: (10,0)-(10,4) = "next"
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- ├── @ UnlessNode (location: (99...117))
- │ ├── keyword_loc: (106...112) = "unless"
+ ├── @ UnlessNode (location: (12,0)-(12,18))
+ │ ├── keyword_loc: (12,7)-(12,13) = "unless"
│ ├── predicate:
- │ │ @ TrueNode (location: (113...117))
+ │ │ @ TrueNode (location: (12,14)-(12,18))
│ ├── statements:
- │ │ @ StatementsNode (location: (99...105))
+ │ │ @ StatementsNode (location: (12,0)-(12,6))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (99...105))
- │ │ ├── keyword_loc: (99...105) = "return"
+ │ │ └── @ ReturnNode (location: (12,0)-(12,6))
+ │ │ ├── keyword_loc: (12,0)-(12,6) = "return"
│ │ └── arguments: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
- └── @ UnlessNode (location: (119...141))
- ├── keyword_loc: (130...136) = "unless"
+ └── @ UnlessNode (location: (14,0)-(14,22))
+ ├── keyword_loc: (14,11)-(14,17) = "unless"
├── predicate:
- │ @ CallNode (location: (137...141))
+ │ @ CallNode (location: (14,18)-(14,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (137...141) = "bar?"
+ │ ├── message_loc: (14,18)-(14,22) = "bar?"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -94,24 +94,24 @@
│ ├── flags: ∅
│ └── name: "bar?"
├── statements:
- │ @ StatementsNode (location: (119...129))
+ │ @ StatementsNode (location: (14,0)-(14,10))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (119...129))
+ │ └── @ CallNode (location: (14,0)-(14,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (119...122) = "foo"
+ │ ├── message_loc: (14,0)-(14,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (123...129))
+ │ │ @ ArgumentsNode (location: (14,4)-(14,10))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (123...125))
- │ │ │ ├── opening_loc: (123...124) = ":"
- │ │ │ ├── value_loc: (124...125) = "a"
+ │ │ ├── @ 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: (127...129))
- │ │ ├── opening_loc: (127...128) = ":"
- │ │ ├── value_loc: (128...129) = "b"
+ │ │ └── @ 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: ∅
diff --git a/test/yarp/snapshots/unparser/corpus/literal/alias.txt b/test/yarp/snapshots/unparser/corpus/literal/alias.txt
index 4427cfb3c2..e726797685 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/alias.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/alias.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(2,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(2,15))
└── body: (length: 2)
- ├── @ AliasGlobalVariableNode (location: (0...15))
+ ├── @ AliasGlobalVariableNode (location: (1,0)-(1,15))
│ ├── new_name:
- │ │ @ GlobalVariableReadNode (location: (6...10))
+ │ │ @ GlobalVariableReadNode (location: (1,6)-(1,10))
│ │ └── name: :$foo
│ ├── old_name:
- │ │ @ GlobalVariableReadNode (location: (11...15))
+ │ │ @ GlobalVariableReadNode (location: (1,11)-(1,15))
│ │ └── name: :$bar
- │ └── keyword_loc: (0...5) = "alias"
- └── @ AliasMethodNode (location: (16...31))
+ │ └── keyword_loc: (1,0)-(1,5) = "alias"
+ └── @ AliasMethodNode (location: (2,0)-(2,15))
├── new_name:
- │ @ SymbolNode (location: (22...26))
- │ ├── opening_loc: (22...23) = ":"
- │ ├── value_loc: (23...26) = "foo"
+ │ @ SymbolNode (location: (2,6)-(2,10))
+ │ ├── opening_loc: (2,6)-(2,7) = ":"
+ │ ├── value_loc: (2,7)-(2,10) = "foo"
│ ├── closing_loc: ∅
│ └── unescaped: "foo"
├── old_name:
- │ @ SymbolNode (location: (27...31))
- │ ├── opening_loc: (27...28) = ":"
- │ ├── value_loc: (28...31) = "bar"
+ │ @ SymbolNode (location: (2,11)-(2,15))
+ │ ├── opening_loc: (2,11)-(2,12) = ":"
+ │ ├── value_loc: (2,12)-(2,15) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- └── keyword_loc: (16...21) = "alias"
+ └── keyword_loc: (2,0)-(2,5) = "alias"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/assignment.txt b/test/yarp/snapshots/unparser/corpus/literal/assignment.txt
index 9d8da89407..ec6678281a 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/assignment.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/assignment.txt
@@ -1,999 +1,999 @@
-@ ProgramNode (location: (0...704))
+@ ProgramNode (location: (1,0)-(51,17))
├── locals: [:a, :b, :foo, :c, :x]
└── statements:
- @ StatementsNode (location: (0...704))
+ @ StatementsNode (location: (1,0)-(51,17))
└── body: (length: 43)
- ├── @ GlobalVariableWriteNode (location: (0...6))
+ ├── @ GlobalVariableWriteNode (location: (1,0)-(1,6))
│ ├── name: :$a
- │ ├── name_loc: (0...2) = "$a"
+ │ ├── name_loc: (1,0)-(1,2) = "$a"
│ ├── value:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ └── operator_loc: (3...4) = "="
- ├── @ MultiWriteNode (location: (7...24))
+ │ └── operator_loc: (1,3)-(1,4) = "="
+ ├── @ MultiWriteNode (location: (2,0)-(2,17))
│ ├── targets: (length: 2)
- │ │ ├── @ GlobalVariableTargetNode (location: (8...10))
+ │ │ ├── @ GlobalVariableTargetNode (location: (2,1)-(2,3))
│ │ │ └── name: :$a
- │ │ └── @ GlobalVariableTargetNode (location: (12...14))
+ │ │ └── @ GlobalVariableTargetNode (location: (2,5)-(2,7))
│ │ └── name: :$b
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (14...15) = ")"
- │ ├── operator_loc: (16...17) = "="
+ │ ├── lparen_loc: (2,0)-(2,1) = "("
+ │ ├── rparen_loc: (2,7)-(2,8) = ")"
+ │ ├── operator_loc: (2,9)-(2,10) = "="
│ └── value:
- │ @ ArrayNode (location: (18...24))
+ │ @ ArrayNode (location: (2,11)-(2,17))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (19...20))
+ │ │ ├── @ IntegerNode (location: (2,12)-(2,13))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (22...23))
+ │ │ └── @ IntegerNode (location: (2,15)-(2,16))
│ │ └── flags: decimal
- │ ├── opening_loc: (18...19) = "["
- │ └── closing_loc: (23...24) = "]"
- ├── @ MultiWriteNode (location: (25...38))
+ │ ├── opening_loc: (2,11)-(2,12) = "["
+ │ └── closing_loc: (2,16)-(2,17) = "]"
+ ├── @ MultiWriteNode (location: (3,0)-(3,13))
│ ├── targets: (length: 2)
- │ │ ├── @ MultiTargetNode (location: (26...30))
+ │ │ ├── @ MultiTargetNode (location: (3,1)-(3,5))
│ │ │ ├── targets: (length: 2)
- │ │ │ │ ├── @ LocalVariableTargetNode (location: (27...28))
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (3,2)-(3,3))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ SplatNode (location: (28...29))
- │ │ │ │ ├── operator_loc: (28...29) = ","
+ │ │ │ │ └── @ SplatNode (location: (3,3)-(3,4))
+ │ │ │ │ ├── operator_loc: (3,3)-(3,4) = ","
│ │ │ │ └── expression: ∅
- │ │ │ ├── lparen_loc: (26...27) = "("
- │ │ │ └── rparen_loc: (29...30) = ")"
- │ │ └── @ LocalVariableTargetNode (location: (32...33))
+ │ │ │ ├── lparen_loc: (3,1)-(3,2) = "("
+ │ │ │ └── rparen_loc: (3,4)-(3,5) = ")"
+ │ │ └── @ LocalVariableTargetNode (location: (3,7)-(3,8))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── lparen_loc: (25...26) = "("
- │ ├── rparen_loc: (33...34) = ")"
- │ ├── operator_loc: (35...36) = "="
+ │ ├── lparen_loc: (3,0)-(3,1) = "("
+ │ ├── rparen_loc: (3,8)-(3,9) = ")"
+ │ ├── operator_loc: (3,10)-(3,11) = "="
│ └── value:
- │ @ IntegerNode (location: (37...38))
+ │ @ IntegerNode (location: (3,12)-(3,13))
│ └── flags: decimal
- ├── @ MultiWriteNode (location: (39...48))
+ ├── @ MultiWriteNode (location: (4,0)-(4,9))
│ ├── targets: (length: 1)
- │ │ └── @ SplatNode (location: (40...42))
- │ │ ├── operator_loc: (40...41) = "*"
+ │ │ └── @ SplatNode (location: (4,1)-(4,3))
+ │ │ ├── operator_loc: (4,1)-(4,2) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (41...42))
+ │ │ @ LocalVariableTargetNode (location: (4,2)-(4,3))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── lparen_loc: (39...40) = "("
- │ ├── rparen_loc: (42...43) = ")"
- │ ├── operator_loc: (44...45) = "="
+ │ ├── lparen_loc: (4,0)-(4,1) = "("
+ │ ├── rparen_loc: (4,3)-(4,4) = ")"
+ │ ├── operator_loc: (4,5)-(4,6) = "="
│ └── value:
- │ @ ArrayNode (location: (46...48))
+ │ @ ArrayNode (location: (4,7)-(4,9))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (46...47) = "["
- │ └── closing_loc: (47...48) = "]"
- ├── @ MultiWriteNode (location: (49...64))
+ │ ├── opening_loc: (4,7)-(4,8) = "["
+ │ └── closing_loc: (4,8)-(4,9) = "]"
+ ├── @ MultiWriteNode (location: (5,0)-(5,15))
│ ├── targets: (length: 1)
- │ │ └── @ SplatNode (location: (50...54))
- │ │ ├── operator_loc: (50...51) = "*"
+ │ │ └── @ SplatNode (location: (5,1)-(5,5))
+ │ │ ├── operator_loc: (5,1)-(5,2) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (51...54))
+ │ │ @ LocalVariableTargetNode (location: (5,2)-(5,5))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── lparen_loc: (49...50) = "("
- │ ├── rparen_loc: (54...55) = ")"
- │ ├── operator_loc: (56...57) = "="
+ │ ├── lparen_loc: (5,0)-(5,1) = "("
+ │ ├── rparen_loc: (5,5)-(5,6) = ")"
+ │ ├── operator_loc: (5,7)-(5,8) = "="
│ └── value:
- │ @ ArrayNode (location: (58...64))
+ │ @ ArrayNode (location: (5,9)-(5,15))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (59...60))
+ │ │ ├── @ IntegerNode (location: (5,10)-(5,11))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (62...63))
+ │ │ └── @ IntegerNode (location: (5,13)-(5,14))
│ │ └── flags: decimal
- │ ├── opening_loc: (58...59) = "["
- │ └── closing_loc: (63...64) = "]"
- ├── @ MultiWriteNode (location: (65...84))
+ │ ├── opening_loc: (5,9)-(5,10) = "["
+ │ └── closing_loc: (5,14)-(5,15) = "]"
+ ├── @ MultiWriteNode (location: (6,0)-(6,19))
│ ├── targets: (length: 2)
- │ │ ├── @ ClassVariableTargetNode (location: (66...69))
+ │ │ ├── @ ClassVariableTargetNode (location: (6,1)-(6,4))
│ │ │ └── name: :@@a
- │ │ └── @ ClassVariableTargetNode (location: (71...74))
+ │ │ └── @ ClassVariableTargetNode (location: (6,6)-(6,9))
│ │ └── name: :@@b
- │ ├── lparen_loc: (65...66) = "("
- │ ├── rparen_loc: (74...75) = ")"
- │ ├── operator_loc: (76...77) = "="
+ │ ├── lparen_loc: (6,0)-(6,1) = "("
+ │ ├── rparen_loc: (6,9)-(6,10) = ")"
+ │ ├── operator_loc: (6,11)-(6,12) = "="
│ └── value:
- │ @ ArrayNode (location: (78...84))
+ │ @ ArrayNode (location: (6,13)-(6,19))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (79...80))
+ │ │ ├── @ IntegerNode (location: (6,14)-(6,15))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (82...83))
+ │ │ └── @ IntegerNode (location: (6,17)-(6,18))
│ │ └── flags: decimal
- │ ├── opening_loc: (78...79) = "["
- │ └── closing_loc: (83...84) = "]"
- ├── @ MultiWriteNode (location: (85...102))
+ │ ├── opening_loc: (6,13)-(6,14) = "["
+ │ └── closing_loc: (6,18)-(6,19) = "]"
+ ├── @ MultiWriteNode (location: (7,0)-(7,17))
│ ├── targets: (length: 2)
- │ │ ├── @ InstanceVariableTargetNode (location: (86...88))
+ │ │ ├── @ InstanceVariableTargetNode (location: (7,1)-(7,3))
│ │ │ └── name: :@a
- │ │ └── @ InstanceVariableTargetNode (location: (90...92))
+ │ │ └── @ InstanceVariableTargetNode (location: (7,5)-(7,7))
│ │ └── name: :@b
- │ ├── lparen_loc: (85...86) = "("
- │ ├── rparen_loc: (92...93) = ")"
- │ ├── operator_loc: (94...95) = "="
+ │ ├── lparen_loc: (7,0)-(7,1) = "("
+ │ ├── rparen_loc: (7,7)-(7,8) = ")"
+ │ ├── operator_loc: (7,9)-(7,10) = "="
│ └── value:
- │ @ ArrayNode (location: (96...102))
+ │ @ ArrayNode (location: (7,11)-(7,17))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (97...98))
+ │ │ ├── @ IntegerNode (location: (7,12)-(7,13))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (100...101))
+ │ │ └── @ IntegerNode (location: (7,15)-(7,16))
│ │ └── flags: decimal
- │ ├── opening_loc: (96...97) = "["
- │ └── closing_loc: (101...102) = "]"
- ├── @ MultiWriteNode (location: (103...128))
+ │ ├── opening_loc: (7,11)-(7,12) = "["
+ │ └── closing_loc: (7,16)-(7,17) = "]"
+ ├── @ MultiWriteNode (location: (8,0)-(8,25))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (104...105))
+ │ │ ├── @ LocalVariableTargetNode (location: (8,1)-(8,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ MultiTargetNode (location: (107...113))
+ │ │ └── @ MultiTargetNode (location: (8,4)-(8,10))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (108...109))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (8,5)-(8,6))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (111...112))
+ │ │ │ └── @ LocalVariableTargetNode (location: (8,8)-(8,9))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
- │ │ ├── lparen_loc: (107...108) = "("
- │ │ └── rparen_loc: (112...113) = ")"
- │ ├── lparen_loc: (103...104) = "("
- │ ├── rparen_loc: (113...114) = ")"
- │ ├── operator_loc: (115...116) = "="
+ │ │ ├── lparen_loc: (8,4)-(8,5) = "("
+ │ │ └── rparen_loc: (8,9)-(8,10) = ")"
+ │ ├── lparen_loc: (8,0)-(8,1) = "("
+ │ ├── rparen_loc: (8,10)-(8,11) = ")"
+ │ ├── operator_loc: (8,12)-(8,13) = "="
│ └── value:
- │ @ ArrayNode (location: (117...128))
+ │ @ ArrayNode (location: (8,14)-(8,25))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (118...119))
+ │ │ ├── @ IntegerNode (location: (8,15)-(8,16))
│ │ │ └── flags: decimal
- │ │ └── @ ArrayNode (location: (121...127))
+ │ │ └── @ ArrayNode (location: (8,18)-(8,24))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (122...123))
+ │ │ │ ├── @ IntegerNode (location: (8,19)-(8,20))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (125...126))
+ │ │ │ └── @ IntegerNode (location: (8,22)-(8,23))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (121...122) = "["
- │ │ └── closing_loc: (126...127) = "]"
- │ ├── opening_loc: (117...118) = "["
- │ └── closing_loc: (127...128) = "]"
- ├── @ MultiWriteNode (location: (129...144))
+ │ │ ├── opening_loc: (8,18)-(8,19) = "["
+ │ │ └── closing_loc: (8,23)-(8,24) = "]"
+ │ ├── opening_loc: (8,14)-(8,15) = "["
+ │ └── closing_loc: (8,24)-(8,25) = "]"
+ ├── @ MultiWriteNode (location: (9,0)-(9,15))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (130...131))
+ │ │ ├── @ LocalVariableTargetNode (location: (9,1)-(9,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (133...134))
- │ │ ├── operator_loc: (133...134) = "*"
+ │ │ └── @ SplatNode (location: (9,4)-(9,5))
+ │ │ ├── operator_loc: (9,4)-(9,5) = "*"
│ │ └── expression: ∅
- │ ├── lparen_loc: (129...130) = "("
- │ ├── rparen_loc: (134...135) = ")"
- │ ├── operator_loc: (136...137) = "="
+ │ ├── lparen_loc: (9,0)-(9,1) = "("
+ │ ├── rparen_loc: (9,5)-(9,6) = ")"
+ │ ├── operator_loc: (9,7)-(9,8) = "="
│ └── value:
- │ @ ArrayNode (location: (138...144))
+ │ @ ArrayNode (location: (9,9)-(9,15))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (139...140))
+ │ │ ├── @ IntegerNode (location: (9,10)-(9,11))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (142...143))
+ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
│ │ └── flags: decimal
- │ ├── opening_loc: (138...139) = "["
- │ └── closing_loc: (143...144) = "]"
- ├── @ MultiWriteNode (location: (145...163))
+ │ ├── opening_loc: (9,9)-(9,10) = "["
+ │ └── closing_loc: (9,14)-(9,15) = "]"
+ ├── @ MultiWriteNode (location: (10,0)-(10,18))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (146...147))
+ │ │ ├── @ LocalVariableTargetNode (location: (10,1)-(10,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (149...153))
- │ │ ├── operator_loc: (149...150) = "*"
+ │ │ └── @ SplatNode (location: (10,4)-(10,8))
+ │ │ ├── operator_loc: (10,4)-(10,5) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (150...153))
+ │ │ @ LocalVariableTargetNode (location: (10,5)-(10,8))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── lparen_loc: (145...146) = "("
- │ ├── rparen_loc: (153...154) = ")"
- │ ├── operator_loc: (155...156) = "="
+ │ ├── lparen_loc: (10,0)-(10,1) = "("
+ │ ├── rparen_loc: (10,8)-(10,9) = ")"
+ │ ├── operator_loc: (10,10)-(10,11) = "="
│ └── value:
- │ @ ArrayNode (location: (157...163))
+ │ @ ArrayNode (location: (10,12)-(10,18))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (158...159))
+ │ │ ├── @ IntegerNode (location: (10,13)-(10,14))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (161...162))
+ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
│ │ └── flags: decimal
- │ ├── opening_loc: (157...158) = "["
- │ └── closing_loc: (162...163) = "]"
- ├── @ MultiWriteNode (location: (164...179))
+ │ ├── opening_loc: (10,12)-(10,13) = "["
+ │ └── closing_loc: (10,17)-(10,18) = "]"
+ ├── @ MultiWriteNode (location: (11,0)-(11,15))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (165...166))
+ │ │ ├── @ LocalVariableTargetNode (location: (11,1)-(11,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (168...169))
+ │ │ └── @ LocalVariableTargetNode (location: (11,4)-(11,5))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── lparen_loc: (164...165) = "("
- │ ├── rparen_loc: (169...170) = ")"
- │ ├── operator_loc: (171...172) = "="
+ │ ├── lparen_loc: (11,0)-(11,1) = "("
+ │ ├── rparen_loc: (11,5)-(11,6) = ")"
+ │ ├── operator_loc: (11,7)-(11,8) = "="
│ └── value:
- │ @ ArrayNode (location: (173...179))
+ │ @ ArrayNode (location: (11,9)-(11,15))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (174...175))
+ │ │ ├── @ IntegerNode (location: (11,10)-(11,11))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (177...178))
+ │ │ └── @ IntegerNode (location: (11,13)-(11,14))
│ │ └── flags: decimal
- │ ├── opening_loc: (173...174) = "["
- │ └── closing_loc: (178...179) = "]"
- ├── @ MultiWriteNode (location: (180...192))
+ │ ├── opening_loc: (11,9)-(11,10) = "["
+ │ └── closing_loc: (11,14)-(11,15) = "]"
+ ├── @ MultiWriteNode (location: (12,0)-(12,12))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (181...182))
+ │ │ ├── @ LocalVariableTargetNode (location: (12,1)-(12,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (184...185))
+ │ │ └── @ LocalVariableTargetNode (location: (12,4)-(12,5))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── lparen_loc: (180...181) = "("
- │ ├── rparen_loc: (185...186) = ")"
- │ ├── operator_loc: (187...188) = "="
+ │ ├── lparen_loc: (12,0)-(12,1) = "("
+ │ ├── rparen_loc: (12,5)-(12,6) = ")"
+ │ ├── operator_loc: (12,7)-(12,8) = "="
│ └── value:
- │ @ LocalVariableReadNode (location: (189...192))
+ │ @ LocalVariableReadNode (location: (12,9)-(12,12))
│ ├── name: :foo
│ └── depth: 0
- ├── @ MultiWriteNode (location: (193...203))
+ ├── @ MultiWriteNode (location: (13,0)-(13,10))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (194...195))
+ │ │ ├── @ LocalVariableTargetNode (location: (13,1)-(13,2))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (195...196))
- │ │ ├── operator_loc: (195...196) = ","
+ │ │ └── @ SplatNode (location: (13,2)-(13,3))
+ │ │ ├── operator_loc: (13,2)-(13,3) = ","
│ │ └── expression: ∅
- │ ├── lparen_loc: (193...194) = "("
- │ ├── rparen_loc: (196...197) = ")"
- │ ├── operator_loc: (198...199) = "="
+ │ ├── lparen_loc: (13,0)-(13,1) = "("
+ │ ├── rparen_loc: (13,3)-(13,4) = ")"
+ │ ├── operator_loc: (13,5)-(13,6) = "="
│ └── value:
- │ @ LocalVariableReadNode (location: (200...203))
+ │ @ LocalVariableReadNode (location: (13,7)-(13,10))
│ ├── name: :foo
│ └── depth: 0
- ├── @ MultiWriteNode (location: (204...227))
+ ├── @ MultiWriteNode (location: (14,0)-(14,23))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (205...210))
+ │ │ ├── @ CallNode (location: (14,1)-(14,6))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (205...206))
+ │ │ │ │ @ LocalVariableReadNode (location: (14,1)-(14,2))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ ├── call_operator_loc: (206...207) = "."
- │ │ │ ├── message_loc: (207...210) = "foo"
+ │ │ │ ├── call_operator_loc: (14,2)-(14,3) = "."
+ │ │ │ ├── message_loc: (14,3)-(14,6) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "foo="
- │ │ └── @ CallNode (location: (212...217))
+ │ │ └── @ CallNode (location: (14,8)-(14,13))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (212...213))
+ │ │ │ @ LocalVariableReadNode (location: (14,8)-(14,9))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── call_operator_loc: (213...214) = "."
- │ │ ├── message_loc: (214...217) = "bar"
+ │ │ ├── call_operator_loc: (14,9)-(14,10) = "."
+ │ │ ├── message_loc: (14,10)-(14,13) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar="
- │ ├── lparen_loc: (204...205) = "("
- │ ├── rparen_loc: (217...218) = ")"
- │ ├── operator_loc: (219...220) = "="
+ │ ├── lparen_loc: (14,0)-(14,1) = "("
+ │ ├── rparen_loc: (14,13)-(14,14) = ")"
+ │ ├── operator_loc: (14,15)-(14,16) = "="
│ └── value:
- │ @ ArrayNode (location: (221...227))
+ │ @ ArrayNode (location: (14,17)-(14,23))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (222...223))
+ │ │ ├── @ IntegerNode (location: (14,18)-(14,19))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (225...226))
+ │ │ └── @ IntegerNode (location: (14,21)-(14,22))
│ │ └── flags: decimal
- │ ├── opening_loc: (221...222) = "["
- │ └── closing_loc: (226...227) = "]"
- ├── @ MultiWriteNode (location: (228...252))
+ │ ├── opening_loc: (14,17)-(14,18) = "["
+ │ └── closing_loc: (14,22)-(14,23) = "]"
+ ├── @ MultiWriteNode (location: (15,0)-(15,24))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (229...236))
+ │ │ ├── @ CallNode (location: (15,1)-(15,8))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (229...230))
+ │ │ │ │ @ LocalVariableReadNode (location: (15,1)-(15,2))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (230...236) = "[*foo]"
- │ │ │ ├── opening_loc: (230...231) = "["
+ │ │ │ ├── message_loc: (15,2)-(15,8) = "[*foo]"
+ │ │ │ ├── opening_loc: (15,2)-(15,3) = "["
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (231...235))
+ │ │ │ │ @ ArgumentsNode (location: (15,3)-(15,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (231...235))
- │ │ │ │ ├── operator_loc: (231...232) = "*"
+ │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7))
+ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableReadNode (location: (232...235))
+ │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7))
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
- │ │ │ ├── closing_loc: (235...236) = "]"
+ │ │ │ ├── closing_loc: (15,7)-(15,8) = "]"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "[]="
- │ │ └── @ CallNode (location: (238...242))
+ │ │ └── @ CallNode (location: (15,10)-(15,14))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (238...239))
+ │ │ │ @ LocalVariableReadNode (location: (15,10)-(15,11))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (239...242) = "[1]"
- │ │ ├── opening_loc: (239...240) = "["
+ │ │ ├── message_loc: (15,11)-(15,14) = "[1]"
+ │ │ ├── opening_loc: (15,11)-(15,12) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (240...241))
+ │ │ │ @ ArgumentsNode (location: (15,12)-(15,13))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (240...241))
+ │ │ │ └── @ IntegerNode (location: (15,12)-(15,13))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (241...242) = "]"
+ │ │ ├── closing_loc: (15,13)-(15,14) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]="
- │ ├── lparen_loc: (228...229) = "("
- │ ├── rparen_loc: (242...243) = ")"
- │ ├── operator_loc: (244...245) = "="
+ │ ├── lparen_loc: (15,0)-(15,1) = "("
+ │ ├── rparen_loc: (15,14)-(15,15) = ")"
+ │ ├── operator_loc: (15,16)-(15,17) = "="
│ └── value:
- │ @ ArrayNode (location: (246...252))
+ │ @ ArrayNode (location: (15,18)-(15,24))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (247...248))
+ │ │ ├── @ IntegerNode (location: (15,19)-(15,20))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (250...251))
+ │ │ └── @ IntegerNode (location: (15,22)-(15,23))
│ │ └── flags: decimal
- │ ├── opening_loc: (246...247) = "["
- │ └── closing_loc: (251...252) = "]"
- ├── @ MultiWriteNode (location: (253...274))
+ │ ├── opening_loc: (15,18)-(15,19) = "["
+ │ └── closing_loc: (15,23)-(15,24) = "]"
+ ├── @ MultiWriteNode (location: (16,0)-(16,21))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (254...258))
+ │ │ ├── @ CallNode (location: (16,1)-(16,5))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (254...255))
+ │ │ │ │ @ LocalVariableReadNode (location: (16,1)-(16,2))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (255...258) = "[0]"
- │ │ │ ├── opening_loc: (255...256) = "["
+ │ │ │ ├── message_loc: (16,2)-(16,5) = "[0]"
+ │ │ │ ├── opening_loc: (16,2)-(16,3) = "["
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (256...257))
+ │ │ │ │ @ ArgumentsNode (location: (16,3)-(16,4))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (256...257))
+ │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4))
│ │ │ │ └── flags: decimal
- │ │ │ ├── closing_loc: (257...258) = "]"
+ │ │ │ ├── closing_loc: (16,4)-(16,5) = "]"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "[]="
- │ │ └── @ CallNode (location: (260...264))
+ │ │ └── @ CallNode (location: (16,7)-(16,11))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (260...261))
+ │ │ │ @ LocalVariableReadNode (location: (16,7)-(16,8))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (261...264) = "[1]"
- │ │ ├── opening_loc: (261...262) = "["
+ │ │ ├── message_loc: (16,8)-(16,11) = "[1]"
+ │ │ ├── opening_loc: (16,8)-(16,9) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (262...263))
+ │ │ │ @ ArgumentsNode (location: (16,9)-(16,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (262...263))
+ │ │ │ └── @ IntegerNode (location: (16,9)-(16,10))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (263...264) = "]"
+ │ │ ├── closing_loc: (16,10)-(16,11) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]="
- │ ├── lparen_loc: (253...254) = "("
- │ ├── rparen_loc: (264...265) = ")"
- │ ├── operator_loc: (266...267) = "="
+ │ ├── lparen_loc: (16,0)-(16,1) = "("
+ │ ├── rparen_loc: (16,11)-(16,12) = ")"
+ │ ├── operator_loc: (16,13)-(16,14) = "="
│ └── value:
- │ @ ArrayNode (location: (268...274))
+ │ @ ArrayNode (location: (16,15)-(16,21))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (269...270))
+ │ │ ├── @ IntegerNode (location: (16,16)-(16,17))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (272...273))
+ │ │ └── @ IntegerNode (location: (16,19)-(16,20))
│ │ └── flags: decimal
- │ ├── opening_loc: (268...269) = "["
- │ └── closing_loc: (273...274) = "]"
- ├── @ MultiWriteNode (location: (275...287))
+ │ ├── opening_loc: (16,15)-(16,16) = "["
+ │ └── closing_loc: (16,20)-(16,21) = "]"
+ ├── @ MultiWriteNode (location: (17,0)-(17,12))
│ ├── targets: (length: 1)
- │ │ └── @ SplatNode (location: (276...282))
- │ │ ├── operator_loc: (276...277) = "*"
+ │ │ └── @ SplatNode (location: (17,1)-(17,7))
+ │ │ ├── operator_loc: (17,1)-(17,2) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (277...282))
+ │ │ @ CallNode (location: (17,2)-(17,7))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (277...278))
+ │ │ │ @ LocalVariableReadNode (location: (17,2)-(17,3))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
- │ │ ├── call_operator_loc: (278...279) = "."
- │ │ ├── message_loc: (279...282) = "foo"
+ │ │ ├── call_operator_loc: (17,3)-(17,4) = "."
+ │ │ ├── message_loc: (17,4)-(17,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "foo="
- │ ├── lparen_loc: (275...276) = "("
- │ ├── rparen_loc: (282...283) = ")"
- │ ├── operator_loc: (284...285) = "="
+ │ ├── lparen_loc: (17,0)-(17,1) = "("
+ │ ├── rparen_loc: (17,7)-(17,8) = ")"
+ │ ├── operator_loc: (17,9)-(17,10) = "="
│ └── value:
- │ @ IntegerNode (location: (286...287))
+ │ @ IntegerNode (location: (17,11)-(17,12))
│ └── flags: decimal
- ├── @ ConstantPathWriteNode (location: (288...301))
+ ├── @ ConstantPathWriteNode (location: (18,0)-(18,13))
│ ├── target:
- │ │ @ ConstantPathNode (location: (288...293))
+ │ │ @ ConstantPathNode (location: (18,0)-(18,5))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (290...293))
+ │ │ │ @ ConstantReadNode (location: (18,2)-(18,5))
│ │ │ └── name: :Foo
- │ │ └── delimiter_loc: (288...290) = "::"
- │ ├── operator_loc: (294...295) = "="
+ │ │ └── delimiter_loc: (18,0)-(18,2) = "::"
+ │ ├── operator_loc: (18,6)-(18,7) = "="
│ └── value:
- │ @ ConstantPathNode (location: (296...301))
+ │ @ ConstantPathNode (location: (18,8)-(18,13))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (298...301))
+ │ │ @ ConstantReadNode (location: (18,10)-(18,13))
│ │ └── name: :Bar
- │ └── delimiter_loc: (296...298) = "::"
- ├── @ ClassVariableWriteNode (location: (302...309))
+ │ └── delimiter_loc: (18,8)-(18,10) = "::"
+ ├── @ ClassVariableWriteNode (location: (19,0)-(19,7))
│ ├── name: :@@a
- │ ├── name_loc: (302...305) = "@@a"
+ │ ├── name_loc: (19,0)-(19,3) = "@@a"
│ ├── value:
- │ │ @ IntegerNode (location: (308...309))
+ │ │ @ IntegerNode (location: (19,6)-(19,7))
│ │ └── flags: decimal
- │ └── operator_loc: (306...307) = "="
- ├── @ InstanceVariableWriteNode (location: (310...316))
+ │ └── operator_loc: (19,4)-(19,5) = "="
+ ├── @ InstanceVariableWriteNode (location: (20,0)-(20,6))
│ ├── name: :@a
- │ ├── name_loc: (310...312) = "@a"
+ │ ├── name_loc: (20,0)-(20,2) = "@a"
│ ├── value:
- │ │ @ IntegerNode (location: (315...316))
+ │ │ @ IntegerNode (location: (20,5)-(20,6))
│ │ └── flags: decimal
- │ └── operator_loc: (313...314) = "="
- ├── @ ConstantWriteNode (location: (317...326))
+ │ └── operator_loc: (20,3)-(20,4) = "="
+ ├── @ ConstantWriteNode (location: (21,0)-(21,9))
│ ├── name: :CONST
- │ ├── name_loc: (317...322) = "CONST"
+ │ ├── name_loc: (21,0)-(21,5) = "CONST"
│ ├── value:
- │ │ @ IntegerNode (location: (325...326))
+ │ │ @ IntegerNode (location: (21,8)-(21,9))
│ │ └── flags: decimal
- │ └── operator_loc: (323...324) = "="
- ├── @ ConstantPathWriteNode (location: (327...350))
+ │ └── operator_loc: (21,6)-(21,7) = "="
+ ├── @ ConstantPathWriteNode (location: (22,0)-(22,23))
│ ├── target:
- │ │ @ ConstantPathNode (location: (327...346))
+ │ │ @ ConstantPathNode (location: (22,0)-(22,19))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (327...339))
+ │ │ │ @ ConstantPathNode (location: (22,0)-(22,12))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (327...331))
+ │ │ │ │ @ ConstantReadNode (location: (22,0)-(22,4))
│ │ │ │ └── name: :Name
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (333...339))
+ │ │ │ │ @ ConstantReadNode (location: (22,6)-(22,12))
│ │ │ │ └── name: :Spaced
- │ │ │ └── delimiter_loc: (331...333) = "::"
+ │ │ │ └── delimiter_loc: (22,4)-(22,6) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (341...346))
+ │ │ │ @ ConstantReadNode (location: (22,14)-(22,19))
│ │ │ └── name: :CONST
- │ │ └── delimiter_loc: (339...341) = "::"
- │ ├── operator_loc: (347...348) = "="
+ │ │ └── delimiter_loc: (22,12)-(22,14) = "::"
+ │ ├── operator_loc: (22,20)-(22,21) = "="
│ └── value:
- │ @ IntegerNode (location: (349...350))
+ │ @ IntegerNode (location: (22,22)-(22,23))
│ └── flags: decimal
- ├── @ LocalVariableWriteNode (location: (351...367))
+ ├── @ LocalVariableWriteNode (location: (23,0)-(23,16))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (351...352) = "a"
+ │ ├── name_loc: (23,0)-(23,1) = "a"
│ ├── value:
- │ │ @ ParenthesesNode (location: (355...367))
+ │ │ @ ParenthesesNode (location: (23,4)-(23,16))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (356...366))
+ │ │ │ @ StatementsNode (location: (23,5)-(23,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ MultiWriteNode (location: (356...366))
+ │ │ │ └── @ MultiWriteNode (location: (23,5)-(23,15))
│ │ │ ├── targets: (length: 2)
- │ │ │ │ ├── @ LocalVariableTargetNode (location: (357...358))
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (23,6)-(23,7))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ LocalVariableTargetNode (location: (360...361))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (23,9)-(23,10))
│ │ │ │ ├── name: :c
│ │ │ │ └── depth: 0
- │ │ │ ├── lparen_loc: (356...357) = "("
- │ │ │ ├── rparen_loc: (361...362) = ")"
- │ │ │ ├── operator_loc: (363...364) = "="
+ │ │ │ ├── lparen_loc: (23,5)-(23,6) = "("
+ │ │ │ ├── rparen_loc: (23,10)-(23,11) = ")"
+ │ │ │ ├── operator_loc: (23,12)-(23,13) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (365...366))
+ │ │ │ @ IntegerNode (location: (23,14)-(23,15))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (355...356) = "("
- │ │ └── closing_loc: (366...367) = ")"
- │ └── operator_loc: (353...354) = "="
- ├── @ LocalVariableWriteNode (location: (368...373))
+ │ │ ├── opening_loc: (23,4)-(23,5) = "("
+ │ │ └── closing_loc: (23,15)-(23,16) = ")"
+ │ └── operator_loc: (23,2)-(23,3) = "="
+ ├── @ LocalVariableWriteNode (location: (24,0)-(24,5))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (368...369) = "a"
+ │ ├── name_loc: (24,0)-(24,1) = "a"
│ ├── value:
- │ │ @ IntegerNode (location: (372...373))
+ │ │ @ IntegerNode (location: (24,4)-(24,5))
│ │ └── flags: decimal
- │ └── operator_loc: (370...371) = "="
- ├── @ LocalVariableWriteNode (location: (374...385))
+ │ └── operator_loc: (24,2)-(24,3) = "="
+ ├── @ LocalVariableWriteNode (location: (25,0)-(25,11))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (374...377) = "foo"
+ │ ├── name_loc: (25,0)-(25,3) = "foo"
│ ├── value:
- │ │ @ CallNode (location: (380...385))
+ │ │ @ CallNode (location: (25,6)-(25,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (380...383) = "foo"
- │ │ ├── opening_loc: (383...384) = "("
+ │ │ ├── message_loc: (25,6)-(25,9) = "foo"
+ │ │ ├── opening_loc: (25,9)-(25,10) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (384...385) = ")"
+ │ │ ├── closing_loc: (25,10)-(25,11) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "foo"
- │ └── operator_loc: (378...379) = "="
- ├── @ CallNode (location: (386...395))
+ │ └── operator_loc: (25,4)-(25,5) = "="
+ ├── @ CallNode (location: (26,0)-(26,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (386...389))
+ │ │ @ LocalVariableReadNode (location: (26,0)-(26,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (389...390) = "."
- │ ├── message_loc: (390...393) = "[]="
- │ ├── opening_loc: (393...394) = "("
+ │ ├── call_operator_loc: (26,3)-(26,4) = "."
+ │ ├── message_loc: (26,4)-(26,7) = "[]="
+ │ ├── opening_loc: (26,7)-(26,8) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (394...395) = ")"
+ │ ├── closing_loc: (26,8)-(26,9) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (396...409))
+ ├── @ CallNode (location: (27,0)-(27,13))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (396...399))
+ │ │ @ LocalVariableReadNode (location: (27,0)-(27,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (399...400) = "."
- │ ├── message_loc: (400...403) = "[]="
- │ ├── opening_loc: (403...404) = "("
+ │ ├── call_operator_loc: (27,3)-(27,4) = "."
+ │ ├── message_loc: (27,4)-(27,7) = "[]="
+ │ ├── opening_loc: (27,7)-(27,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (404...408))
+ │ │ @ ArgumentsNode (location: (27,8)-(27,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (404...405))
+ │ │ ├── @ IntegerNode (location: (27,8)-(27,9))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (407...408))
+ │ │ └── @ IntegerNode (location: (27,11)-(27,12))
│ │ └── flags: decimal
- │ ├── closing_loc: (408...409) = ")"
+ │ ├── closing_loc: (27,12)-(27,13) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (410...421))
+ ├── @ CallNode (location: (28,0)-(28,11))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (410...413))
+ │ │ @ LocalVariableReadNode (location: (28,0)-(28,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (413...414) = "."
- │ ├── message_loc: (414...417) = "[]="
+ │ ├── call_operator_loc: (28,3)-(28,4) = "."
+ │ ├── message_loc: (28,4)-(28,7) = "[]="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (417...421))
+ │ │ @ ArgumentsNode (location: (28,7)-(28,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ TrueNode (location: (417...421))
+ │ │ └── @ TrueNode (location: (28,7)-(28,11))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (422...441))
+ ├── @ CallNode (location: (29,0)-(29,19))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (422...425))
+ │ │ @ LocalVariableReadNode (location: (29,0)-(29,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (425...433) = "[*index]"
- │ ├── opening_loc: (425...426) = "["
+ │ ├── message_loc: (29,3)-(29,11) = "[*index]"
+ │ ├── opening_loc: (29,3)-(29,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (426...441))
+ │ │ @ ArgumentsNode (location: (29,4)-(29,19))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SplatNode (location: (426...432))
- │ │ │ ├── operator_loc: (426...427) = "*"
+ │ │ ├── @ SplatNode (location: (29,4)-(29,10))
+ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (427...432))
+ │ │ │ @ CallNode (location: (29,5)-(29,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (427...432) = "index"
+ │ │ │ ├── message_loc: (29,5)-(29,10) = "index"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "index"
- │ │ └── @ CallNode (location: (436...441))
+ │ │ └── @ CallNode (location: (29,14)-(29,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (436...441) = "value"
+ │ │ ├── message_loc: (29,14)-(29,19) = "value"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "value"
- │ ├── closing_loc: (432...433) = "]"
+ │ ├── closing_loc: (29,10)-(29,11) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (442...459))
+ ├── @ CallNode (location: (30,0)-(30,17))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (442...445))
+ │ │ @ LocalVariableReadNode (location: (30,0)-(30,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (445...451) = "[1..2]"
- │ ├── opening_loc: (445...446) = "["
+ │ ├── message_loc: (30,3)-(30,9) = "[1..2]"
+ │ ├── opening_loc: (30,3)-(30,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (446...459))
+ │ │ @ ArgumentsNode (location: (30,4)-(30,17))
│ │ └── arguments: (length: 2)
- │ │ ├── @ RangeNode (location: (446...450))
+ │ │ ├── @ RangeNode (location: (30,4)-(30,8))
│ │ │ ├── left:
- │ │ │ │ @ IntegerNode (location: (446...447))
+ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (449...450))
+ │ │ │ │ @ IntegerNode (location: (30,7)-(30,8))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (447...449) = ".."
+ │ │ │ ├── operator_loc: (30,5)-(30,7) = ".."
│ │ │ └── flags: ∅
- │ │ └── @ CallNode (location: (454...459))
+ │ │ └── @ CallNode (location: (30,12)-(30,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (454...459) = "value"
+ │ │ ├── message_loc: (30,12)-(30,17) = "value"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "value"
- │ ├── closing_loc: (450...451) = "]"
+ │ ├── closing_loc: (30,8)-(30,9) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (460...469))
+ ├── @ CallNode (location: (31,0)-(31,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (460...463))
+ │ │ @ LocalVariableReadNode (location: (31,0)-(31,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (463...465) = "[]"
- │ ├── opening_loc: (463...464) = "["
+ │ ├── message_loc: (31,3)-(31,5) = "[]"
+ │ ├── opening_loc: (31,3)-(31,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (468...469))
+ │ │ @ ArgumentsNode (location: (31,8)-(31,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (468...469))
+ │ │ └── @ IntegerNode (location: (31,8)-(31,9))
│ │ └── flags: decimal
- │ ├── closing_loc: (464...465) = "]"
+ │ ├── closing_loc: (31,4)-(31,5) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (470...487))
+ ├── @ CallNode (location: (32,0)-(32,17))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (470...473))
+ │ │ @ LocalVariableReadNode (location: (32,0)-(32,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (473...479) = "[a, b]"
- │ ├── opening_loc: (473...474) = "["
+ │ ├── message_loc: (32,3)-(32,9) = "[a, b]"
+ │ ├── opening_loc: (32,3)-(32,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (474...487))
+ │ │ @ ArgumentsNode (location: (32,4)-(32,17))
│ │ └── arguments: (length: 3)
- │ │ ├── @ LocalVariableReadNode (location: (474...475))
+ │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── @ LocalVariableReadNode (location: (477...478))
+ │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ └── @ CallNode (location: (482...487))
+ │ │ └── @ CallNode (location: (32,12)-(32,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (482...487) = "value"
+ │ │ ├── message_loc: (32,12)-(32,17) = "value"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "value"
- │ ├── closing_loc: (478...479) = "]"
+ │ ├── closing_loc: (32,8)-(32,9) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (488...506))
+ ├── @ CallNode (location: (33,0)-(33,18))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (488...491))
+ │ │ @ LocalVariableReadNode (location: (33,0)-(33,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (491...498) = "[index]"
- │ ├── opening_loc: (491...492) = "["
+ │ ├── message_loc: (33,3)-(33,10) = "[index]"
+ │ ├── opening_loc: (33,3)-(33,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (492...506))
+ │ │ @ ArgumentsNode (location: (33,4)-(33,18))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (492...497))
+ │ │ ├── @ CallNode (location: (33,4)-(33,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (492...497) = "index"
+ │ │ │ ├── message_loc: (33,4)-(33,9) = "index"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "index"
- │ │ └── @ CallNode (location: (501...506))
+ │ │ └── @ CallNode (location: (33,13)-(33,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (501...506) = "value"
+ │ │ ├── message_loc: (33,13)-(33,18) = "value"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "value"
- │ ├── closing_loc: (497...498) = "]"
+ │ ├── closing_loc: (33,9)-(33,10) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ LocalVariableWriteNode (location: (507...514))
+ ├── @ LocalVariableWriteNode (location: (34,0)-(34,7))
│ ├── name: :x
│ ├── depth: 0
- │ ├── name_loc: (507...508) = "x"
+ │ ├── name_loc: (34,0)-(34,1) = "x"
│ ├── value:
- │ │ @ StringNode (location: (511...514))
+ │ │ @ StringNode (location: (34,4)-(34,7))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (511...513) = "%("
- │ │ ├── content_loc: (513...513) = ""
- │ │ ├── closing_loc: (513...514) = ")"
+ │ │ ├── opening_loc: (34,4)-(34,6) = "%("
+ │ │ ├── content_loc: (34,6)-(34,6) = ""
+ │ │ ├── closing_loc: (34,6)-(34,7) = ")"
│ │ └── unescaped: ""
- │ └── operator_loc: (509...510) = "="
- ├── @ CallNode (location: (515...522))
+ │ └── operator_loc: (34,2)-(34,3) = "="
+ ├── @ CallNode (location: (35,0)-(35,7))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (515...516))
+ │ │ @ LocalVariableReadNode (location: (35,0)-(35,1))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── call_operator_loc: (516...517) = "."
- │ ├── message_loc: (517...518) = "x"
+ │ ├── call_operator_loc: (35,1)-(35,2) = "."
+ │ ├── message_loc: (35,2)-(35,3) = "x"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (519...522))
+ │ │ @ ArgumentsNode (location: (35,4)-(35,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (519...522))
+ │ │ └── @ StringNode (location: (35,4)-(35,7))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (519...521) = "%("
- │ │ ├── content_loc: (521...521) = ""
- │ │ ├── closing_loc: (521...522) = ")"
+ │ │ ├── opening_loc: (35,4)-(35,6) = "%("
+ │ │ ├── content_loc: (35,6)-(35,6) = ""
+ │ │ ├── closing_loc: (35,6)-(35,7) = ")"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "x="
- ├── @ CallNode (location: (523...535))
+ ├── @ CallNode (location: (36,0)-(36,12))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (523...524))
+ │ │ @ LocalVariableReadNode (location: (36,0)-(36,1))
│ │ ├── name: :x
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (524...529) = "[%()]"
- │ ├── opening_loc: (524...525) = "["
+ │ ├── message_loc: (36,1)-(36,6) = "[%()]"
+ │ ├── opening_loc: (36,1)-(36,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (525...535))
+ │ │ @ ArgumentsNode (location: (36,2)-(36,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ StringNode (location: (525...528))
+ │ │ ├── @ StringNode (location: (36,2)-(36,5))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (525...527) = "%("
- │ │ │ ├── content_loc: (527...527) = ""
- │ │ │ ├── closing_loc: (527...528) = ")"
+ │ │ │ ├── opening_loc: (36,2)-(36,4) = "%("
+ │ │ │ ├── content_loc: (36,4)-(36,4) = ""
+ │ │ │ ├── closing_loc: (36,4)-(36,5) = ")"
│ │ │ └── unescaped: ""
- │ │ └── @ CallNode (location: (532...535))
+ │ │ └── @ CallNode (location: (36,9)-(36,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (532...535) = "bar"
+ │ │ ├── message_loc: (36,9)-(36,12) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (528...529) = "]"
+ │ ├── closing_loc: (36,5)-(36,6) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallOrWriteNode (location: (536...550))
+ ├── @ CallOrWriteNode (location: (37,0)-(37,14))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (536...537))
+ │ │ @ LocalVariableReadNode (location: (37,0)-(37,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (537...542) = "[%()]"
- │ ├── opening_loc: (537...538) = "["
+ │ ├── message_loc: (37,1)-(37,6) = "[%()]"
+ │ ├── opening_loc: (37,1)-(37,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (538...541))
+ │ │ @ ArgumentsNode (location: (37,2)-(37,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (538...541))
+ │ │ └── @ StringNode (location: (37,2)-(37,5))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (538...540) = "%("
- │ │ ├── content_loc: (540...540) = ""
- │ │ ├── closing_loc: (540...541) = ")"
+ │ │ ├── opening_loc: (37,2)-(37,4) = "%("
+ │ │ ├── content_loc: (37,4)-(37,4) = ""
+ │ │ ├── closing_loc: (37,4)-(37,5) = ")"
│ │ └── unescaped: ""
- │ ├── closing_loc: (541...542) = "]"
+ │ ├── closing_loc: (37,5)-(37,6) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
- │ ├── operator_loc: (543...546) = "||="
+ │ ├── operator_loc: (37,7)-(37,10) = "||="
│ └── value:
- │ @ CallNode (location: (547...550))
+ │ @ CallNode (location: (37,11)-(37,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (547...550) = "bar"
+ │ ├── message_loc: (37,11)-(37,14) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ InstanceVariableOrWriteNode (location: (551...561))
+ ├── @ InstanceVariableOrWriteNode (location: (38,0)-(38,10))
│ ├── name: :@a
- │ ├── name_loc: (551...553) = "@a"
- │ ├── operator_loc: (554...557) = "||="
+ │ ├── name_loc: (38,0)-(38,2) = "@a"
+ │ ├── operator_loc: (38,3)-(38,6) = "||="
│ └── value:
- │ @ StringNode (location: (558...561))
+ │ @ StringNode (location: (38,7)-(38,10))
│ ├── flags: ∅
- │ ├── opening_loc: (558...560) = "%("
- │ ├── content_loc: (560...560) = ""
- │ ├── closing_loc: (560...561) = ")"
+ │ ├── opening_loc: (38,7)-(38,9) = "%("
+ │ ├── content_loc: (38,9)-(38,9) = ""
+ │ ├── closing_loc: (38,9)-(38,10) = ")"
│ └── unescaped: ""
- ├── @ LocalVariableWriteNode (location: (562...576))
+ ├── @ LocalVariableWriteNode (location: (39,0)-(39,14))
│ ├── name: :x
│ ├── depth: 0
- │ ├── name_loc: (562...563) = "x"
+ │ ├── name_loc: (39,0)-(39,1) = "x"
│ ├── value:
- │ │ @ InterpolatedStringNode (location: (566...576))
- │ │ ├── opening_loc: (566...576) = "<<-HEREDOC"
+ │ │ @ InterpolatedStringNode (location: (39,4)-(39,14))
+ │ │ ├── opening_loc: (39,4)-(39,14) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (577...579))
+ │ │ │ ├── @ StringNode (location: (40,0)-(40,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (577...579) = " "
+ │ │ │ │ ├── content_loc: (40,0)-(40,2) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (579...582))
- │ │ │ │ ├── opening_loc: (579...581) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (40,2)-(40,5))
+ │ │ │ │ ├── opening_loc: (40,2)-(40,4) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (581...582) = "}"
- │ │ │ └── @ StringNode (location: (582...583))
+ │ │ │ │ └── closing_loc: (40,4)-(40,5) = "}"
+ │ │ │ └── @ StringNode (location: (40,5)-(40,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (582...583) = "\n"
+ │ │ │ ├── content_loc: (40,5)-(40,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (583...591) = "HEREDOC\n"
- │ └── operator_loc: (564...565) = "="
- ├── @ CallNode (location: (591...605))
+ │ │ └── closing_loc: (41,0)-(41,0) = "HEREDOC\n"
+ │ └── operator_loc: (39,2)-(39,3) = "="
+ ├── @ CallNode (location: (42,0)-(42,14))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (591...592))
+ │ │ @ LocalVariableReadNode (location: (42,0)-(42,1))
│ │ ├── name: :x
│ │ └── depth: 0
- │ ├── call_operator_loc: (592...593) = "."
- │ ├── message_loc: (593...594) = "x"
+ │ ├── call_operator_loc: (42,1)-(42,2) = "."
+ │ ├── message_loc: (42,2)-(42,3) = "x"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (595...605))
+ │ │ @ ArgumentsNode (location: (42,4)-(42,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (595...605))
- │ │ ├── opening_loc: (595...605) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (42,4)-(42,14))
+ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (606...608))
+ │ │ │ ├── @ StringNode (location: (43,0)-(43,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (606...608) = " "
+ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (608...611))
- │ │ │ │ ├── opening_loc: (608...610) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5))
+ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (610...611) = "}"
- │ │ │ └── @ StringNode (location: (611...612))
+ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}"
+ │ │ │ └── @ StringNode (location: (43,5)-(43,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (611...612) = "\n"
+ │ │ │ ├── content_loc: (43,5)-(43,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (612...620) = "HEREDOC\n"
+ │ │ └── closing_loc: (44,0)-(44,0) = "HEREDOC\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "x="
- ├── @ CallNode (location: (620...636))
+ ├── @ CallNode (location: (45,0)-(45,16))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (620...621))
+ │ │ @ LocalVariableReadNode (location: (45,0)-(45,1))
│ │ ├── name: :x
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (621...623) = "[]"
- │ ├── opening_loc: (621...622) = "["
+ │ ├── message_loc: (45,1)-(45,3) = "[]"
+ │ ├── opening_loc: (45,1)-(45,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (626...636))
+ │ │ @ ArgumentsNode (location: (45,6)-(45,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (626...636))
- │ │ ├── opening_loc: (626...636) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (45,6)-(45,16))
+ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (637...639))
+ │ │ │ ├── @ StringNode (location: (46,0)-(46,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (637...639) = " "
+ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (639...642))
- │ │ │ │ ├── opening_loc: (639...641) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5))
+ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (641...642) = "}"
- │ │ │ └── @ StringNode (location: (642...643))
+ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}"
+ │ │ │ └── @ StringNode (location: (46,5)-(46,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (642...643) = "\n"
+ │ │ │ ├── content_loc: (46,5)-(46,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (643...651) = "HEREDOC\n"
- │ ├── closing_loc: (622...623) = "]"
+ │ │ └── closing_loc: (47,0)-(47,0) = "HEREDOC\n"
+ │ ├── closing_loc: (45,2)-(45,3) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallOrWriteNode (location: (651...672))
+ ├── @ CallOrWriteNode (location: (48,0)-(48,21))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (651...652))
+ │ │ @ LocalVariableReadNode (location: (48,0)-(48,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (652...664) = "[<<-HEREDOC]"
- │ ├── opening_loc: (652...653) = "["
+ │ ├── message_loc: (48,1)-(48,13) = "[<<-HEREDOC]"
+ │ ├── opening_loc: (48,1)-(48,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (653...663))
+ │ │ @ ArgumentsNode (location: (48,2)-(48,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (653...663))
- │ │ ├── opening_loc: (653...663) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (48,2)-(48,12))
+ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (673...675))
+ │ │ │ ├── @ StringNode (location: (49,0)-(49,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (673...675) = " "
+ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (675...678))
- │ │ │ │ ├── opening_loc: (675...677) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5))
+ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (677...678) = "}"
- │ │ │ └── @ StringNode (location: (678...679))
+ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}"
+ │ │ │ └── @ StringNode (location: (49,5)-(49,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (678...679) = "\n"
+ │ │ │ ├── content_loc: (49,5)-(49,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (679...687) = "HEREDOC\n"
- │ ├── closing_loc: (663...664) = "]"
+ │ │ └── closing_loc: (50,0)-(50,0) = "HEREDOC\n"
+ │ ├── closing_loc: (48,12)-(48,13) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
- │ ├── operator_loc: (665...668) = "||="
+ │ ├── operator_loc: (48,14)-(48,17) = "||="
│ └── value:
- │ @ CallNode (location: (669...672))
+ │ @ CallNode (location: (48,18)-(48,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (669...672) = "bar"
+ │ ├── message_loc: (48,18)-(48,21) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── @ InstanceVariableOrWriteNode (location: (687...704))
+ └── @ InstanceVariableOrWriteNode (location: (51,0)-(51,17))
├── name: :@a
- ├── name_loc: (687...689) = "@a"
- ├── operator_loc: (690...693) = "||="
+ ├── name_loc: (51,0)-(51,2) = "@a"
+ ├── operator_loc: (51,3)-(51,6) = "||="
└── value:
- @ InterpolatedStringNode (location: (694...704))
- ├── opening_loc: (694...704) = "<<-HEREDOC"
+ @ InterpolatedStringNode (location: (51,7)-(51,17))
+ ├── opening_loc: (51,7)-(51,17) = "<<-HEREDOC"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (705...707))
+ │ ├── @ StringNode (location: (52,0)-(52,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (705...707) = " "
+ │ │ ├── content_loc: (52,0)-(52,2) = " "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " "
- │ ├── @ EmbeddedStatementsNode (location: (707...710))
- │ │ ├── opening_loc: (707...709) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (52,2)-(52,5))
+ │ │ ├── opening_loc: (52,2)-(52,4) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (709...710) = "}"
- │ └── @ StringNode (location: (710...711))
+ │ │ └── closing_loc: (52,4)-(52,5) = "}"
+ │ └── @ StringNode (location: (52,5)-(52,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (710...711) = "\n"
+ │ ├── content_loc: (52,5)-(52,0) = "\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n"
- └── closing_loc: (711...719) = "HEREDOC\n"
+ └── closing_loc: (53,0)-(53,0) = "HEREDOC\n"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/block.txt b/test/yarp/snapshots/unparser/corpus/literal/block.txt
index 85f6f8fd2d..3e8309a057 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/block.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/block.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...737))
+@ ProgramNode (location: (1,0)-(96,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...737))
+ @ StatementsNode (location: (1,0)-(96,1))
└── body: (length: 30)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (4...7))
+ │ │ @ BlockNode (location: (1,4)-(2,1))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (4...5) = "{"
- │ │ └── closing_loc: (6...7) = "}"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "{"
+ │ │ └── closing_loc: (2,0)-(2,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (8...19))
+ ├── @ CallNode (location: (3,0)-(4,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...11) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (12...19))
+ │ │ @ BlockNode (location: (3,4)-(4,1))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (14...17))
+ │ │ │ @ BlockParametersNode (location: (3,6)-(3,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (15...16))
+ │ │ │ │ @ ParametersNode (location: (3,7)-(3,8))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (15...16))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -43,103 +43,103 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (14...15) = "|"
- │ │ │ └── closing_loc: (16...17) = "|"
+ │ │ │ ├── opening_loc: (3,6)-(3,7) = "|"
+ │ │ │ └── closing_loc: (3,8)-(3,9) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (12...13) = "{"
- │ │ └── closing_loc: (18...19) = "}"
+ │ │ ├── opening_loc: (3,4)-(3,5) = "{"
+ │ │ └── closing_loc: (4,0)-(4,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (20...32))
+ ├── @ CallNode (location: (5,0)-(6,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...23) = "foo"
+ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (24...32))
+ │ │ @ BlockNode (location: (5,4)-(6,1))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (26...30))
+ │ │ │ @ BlockParametersNode (location: (5,6)-(5,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (27...29))
+ │ │ │ │ @ ParametersNode (location: (5,7)-(5,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (27...28))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (28...29))
+ │ │ │ │ │ @ RestParameterNode (location: (5,8)-(5,9))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (28...29) = ","
+ │ │ │ │ │ └── operator_loc: (5,8)-(5,9) = ","
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (26...27) = "|"
- │ │ │ └── closing_loc: (29...30) = "|"
+ │ │ │ ├── opening_loc: (5,6)-(5,7) = "|"
+ │ │ │ └── closing_loc: (5,9)-(5,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (24...25) = "{"
- │ │ └── closing_loc: (31...32) = "}"
+ │ │ ├── opening_loc: (5,4)-(5,5) = "{"
+ │ │ └── closing_loc: (6,0)-(6,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (33...48))
+ ├── @ CallNode (location: (7,0)-(8,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...36) = "foo"
+ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (37...48))
+ │ │ @ BlockNode (location: (7,4)-(8,1))
│ │ ├── locals: [:a, :x]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (39...46))
+ │ │ │ @ BlockParametersNode (location: (7,6)-(7,13))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (40...42))
+ │ │ │ │ @ ParametersNode (location: (7,7)-(7,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (40...41))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (41...42))
+ │ │ │ │ │ @ RestParameterNode (location: (7,8)-(7,9))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (41...42) = ","
+ │ │ │ │ │ └── operator_loc: (7,8)-(7,9) = ","
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (44...45))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (7,11)-(7,12))
│ │ │ │ └── name: :x
- │ │ │ ├── opening_loc: (39...40) = "|"
- │ │ │ └── closing_loc: (45...46) = "|"
+ │ │ │ ├── opening_loc: (7,6)-(7,7) = "|"
+ │ │ │ └── closing_loc: (7,12)-(7,13) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (37...38) = "{"
- │ │ └── closing_loc: (47...48) = "}"
+ │ │ ├── opening_loc: (7,4)-(7,5) = "{"
+ │ │ └── closing_loc: (8,0)-(8,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (49...63))
+ ├── @ CallNode (location: (9,0)-(10,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (49...52) = "foo"
+ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (53...63))
+ │ │ @ BlockNode (location: (9,4)-(10,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (55...61))
+ │ │ │ @ BlockParametersNode (location: (9,6)-(9,12))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (56...60))
+ │ │ │ │ @ ParametersNode (location: (9,7)-(9,11))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (56...57))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (59...60))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (9,10)-(9,11))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -148,174 +148,174 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (55...56) = "|"
- │ │ │ └── closing_loc: (60...61) = "|"
+ │ │ │ ├── opening_loc: (9,6)-(9,7) = "|"
+ │ │ │ └── closing_loc: (9,11)-(9,12) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (53...54) = "{"
- │ │ └── closing_loc: (62...63) = "}"
+ │ │ ├── opening_loc: (9,4)-(9,5) = "{"
+ │ │ └── closing_loc: (10,0)-(10,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (64...80))
+ ├── @ CallNode (location: (11,0)-(13,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (64...67) = "foo"
- │ ├── opening_loc: (67...68) = "("
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
+ │ ├── opening_loc: (11,3)-(11,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (68...69))
+ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (68...69))
+ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ └── flags: decimal
- │ ├── closing_loc: (69...70) = ")"
+ │ ├── closing_loc: (11,5)-(11,6) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (71...80))
+ │ │ @ BlockNode (location: (11,7)-(13,1))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (75...78))
+ │ │ │ @ StatementsNode (location: (12,2)-(12,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (75...78))
- │ │ ├── opening_loc: (71...72) = "{"
- │ │ └── closing_loc: (79...80) = "}"
+ │ │ │ └── @ NilNode (location: (12,2)-(12,5))
+ │ │ ├── opening_loc: (11,7)-(11,8) = "{"
+ │ │ └── closing_loc: (13,0)-(13,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (81...102))
+ ├── @ CallNode (location: (14,0)-(16,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (81...84) = "foo"
+ │ ├── message_loc: (14,0)-(14,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (85...102))
+ │ │ @ BlockNode (location: (14,4)-(16,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (87...94))
+ │ │ │ @ BlockParametersNode (location: (14,6)-(14,13))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (88...93))
+ │ │ │ │ @ ParametersNode (location: (14,7)-(14,12))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (88...89))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (91...93))
+ │ │ │ │ │ @ RestParameterNode (location: (14,10)-(14,12))
│ │ │ │ │ ├── name: :b
- │ │ │ │ │ ├── name_loc: (92...93) = "b"
- │ │ │ │ │ └── operator_loc: (91...92) = "*"
+ │ │ │ │ │ ├── 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: (87...88) = "|"
- │ │ │ └── closing_loc: (93...94) = "|"
+ │ │ │ ├── opening_loc: (14,6)-(14,7) = "|"
+ │ │ │ └── closing_loc: (14,12)-(14,13) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (97...100))
+ │ │ │ @ StatementsNode (location: (15,2)-(15,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (97...100))
- │ │ ├── opening_loc: (85...86) = "{"
- │ │ └── closing_loc: (101...102) = "}"
+ │ │ │ └── @ NilNode (location: (15,2)-(15,5))
+ │ │ ├── opening_loc: (14,4)-(14,5) = "{"
+ │ │ └── closing_loc: (16,0)-(16,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (103...123))
+ ├── @ CallNode (location: (17,0)-(19,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (103...106) = "foo"
+ │ ├── message_loc: (17,0)-(17,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (107...123))
+ │ │ @ BlockNode (location: (17,4)-(19,1))
│ │ ├── locals: [:a, :*]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (109...115))
+ │ │ │ @ BlockParametersNode (location: (17,6)-(17,12))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (110...114))
+ │ │ │ │ @ ParametersNode (location: (17,7)-(17,11))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (110...111))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (113...114))
+ │ │ │ │ │ @ RestParameterNode (location: (17,10)-(17,11))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (113...114) = "*"
+ │ │ │ │ │ └── operator_loc: (17,10)-(17,11) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (109...110) = "|"
- │ │ │ └── closing_loc: (114...115) = "|"
+ │ │ │ ├── opening_loc: (17,6)-(17,7) = "|"
+ │ │ │ └── closing_loc: (17,11)-(17,12) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (118...121))
+ │ │ │ @ StatementsNode (location: (18,2)-(18,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ NilNode (location: (118...121))
- │ │ ├── opening_loc: (107...108) = "{"
- │ │ └── closing_loc: (122...123) = "}"
+ │ │ │ └── @ NilNode (location: (18,2)-(18,5))
+ │ │ ├── opening_loc: (17,4)-(17,5) = "{"
+ │ │ └── closing_loc: (19,0)-(19,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (124...137))
+ ├── @ CallNode (location: (20,0)-(22,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (124...127) = "foo"
+ │ ├── message_loc: (20,0)-(20,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (128...137))
+ │ │ @ BlockNode (location: (20,4)-(22,1))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (132...135))
+ │ │ │ @ StatementsNode (location: (21,2)-(21,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (132...135))
+ │ │ │ └── @ CallNode (location: (21,2)-(21,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (132...135) = "bar"
+ │ │ │ ├── message_loc: (21,2)-(21,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── opening_loc: (128...129) = "{"
- │ │ └── closing_loc: (136...137) = "}"
+ │ │ ├── opening_loc: (20,4)-(20,5) = "{"
+ │ │ └── closing_loc: (22,0)-(22,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (138...165))
+ ├── @ CallNode (location: (23,0)-(25,1))
│ ├── receiver:
- │ │ @ CallNode (location: (138...141))
+ │ │ @ CallNode (location: (23,0)-(23,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (138...141) = "foo"
+ │ │ ├── message_loc: (23,0)-(23,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (141...142) = "."
- │ ├── message_loc: (142...145) = "bar"
+ │ ├── call_operator_loc: (23,3)-(23,4) = "."
+ │ ├── message_loc: (23,4)-(23,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (146...165))
+ │ │ @ BlockNode (location: (23,8)-(25,1))
│ │ ├── locals: [:a, :b, :c]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (148...159))
+ │ │ │ @ BlockParametersNode (location: (23,10)-(23,21))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (149...158))
+ │ │ │ │ @ ParametersNode (location: (23,11)-(23,20))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (149...155))
+ │ │ │ │ │ ├── @ RequiredDestructuredParameterNode (location: (23,11)-(23,17))
│ │ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (150...151))
+ │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13))
│ │ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (153...154))
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,15)-(23,16))
│ │ │ │ │ │ │ └── name: :b
- │ │ │ │ │ │ ├── opening_loc: (149...150) = "("
- │ │ │ │ │ │ └── closing_loc: (154...155) = ")"
- │ │ │ │ │ └── @ RequiredParameterNode (location: (157...158))
+ │ │ │ │ │ │ ├── opening_loc: (23,11)-(23,12) = "("
+ │ │ │ │ │ │ └── closing_loc: (23,16)-(23,17) = ")"
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (23,19)-(23,20))
│ │ │ │ │ └── name: :c
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -324,96 +324,96 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (148...149) = "|"
- │ │ │ └── closing_loc: (158...159) = "|"
+ │ │ │ ├── opening_loc: (23,10)-(23,11) = "|"
+ │ │ │ └── closing_loc: (23,20)-(23,21) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (162...163))
+ │ │ │ @ StatementsNode (location: (24,2)-(24,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (162...163))
+ │ │ │ └── @ CallNode (location: (24,2)-(24,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (162...163) = "d"
+ │ │ │ ├── message_loc: (24,2)-(24,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (146...147) = "{"
- │ │ └── closing_loc: (164...165) = "}"
+ │ │ ├── opening_loc: (23,8)-(23,9) = "{"
+ │ │ └── closing_loc: (25,0)-(25,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (166...185))
+ ├── @ CallNode (location: (26,0)-(27,1))
│ ├── receiver:
- │ │ @ CallNode (location: (166...169))
+ │ │ @ CallNode (location: (26,0)-(26,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (166...169) = "foo"
+ │ │ ├── message_loc: (26,0)-(26,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (169...170) = "."
- │ ├── message_loc: (170...173) = "bar"
+ │ ├── call_operator_loc: (26,3)-(26,4) = "."
+ │ ├── message_loc: (26,4)-(26,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (174...185))
+ │ │ @ BlockNode (location: (26,8)-(27,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (176...183))
+ │ │ │ @ BlockParametersNode (location: (26,10)-(26,17))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (177...179))
+ │ │ │ │ @ ParametersNode (location: (26,11)-(26,13))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (177...179))
+ │ │ │ │ │ @ RestParameterNode (location: (26,11)-(26,13))
│ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (178...179) = "a"
- │ │ │ │ │ └── operator_loc: (177...178) = "*"
+ │ │ │ │ │ ├── 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: (181...182))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (26,15)-(26,16))
│ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (176...177) = "|"
- │ │ │ └── closing_loc: (182...183) = "|"
+ │ │ │ ├── opening_loc: (26,10)-(26,11) = "|"
+ │ │ │ └── closing_loc: (26,16)-(26,17) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (174...175) = "{"
- │ │ └── closing_loc: (184...185) = "}"
+ │ │ ├── opening_loc: (26,8)-(26,9) = "{"
+ │ │ └── closing_loc: (27,0)-(27,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (186...204))
+ ├── @ CallNode (location: (28,0)-(29,1))
│ ├── receiver:
- │ │ @ CallNode (location: (186...189))
+ │ │ @ CallNode (location: (28,0)-(28,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (186...189) = "foo"
+ │ │ ├── message_loc: (28,0)-(28,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (189...190) = "."
- │ ├── message_loc: (190...193) = "bar"
+ │ ├── call_operator_loc: (28,3)-(28,4) = "."
+ │ ├── message_loc: (28,4)-(28,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (194...204))
+ │ │ @ BlockNode (location: (28,8)-(29,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (196...202))
+ │ │ │ @ BlockParametersNode (location: (28,10)-(28,16))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (197...198))
+ │ │ │ │ @ ParametersNode (location: (28,11)-(28,12))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (197...198))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -422,137 +422,137 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (200...201))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (28,14)-(28,15))
│ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (196...197) = "|"
- │ │ │ └── closing_loc: (201...202) = "|"
+ │ │ │ ├── opening_loc: (28,10)-(28,11) = "|"
+ │ │ │ └── closing_loc: (28,15)-(28,16) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (194...195) = "{"
- │ │ └── closing_loc: (203...204) = "}"
+ │ │ ├── opening_loc: (28,8)-(28,9) = "{"
+ │ │ └── closing_loc: (29,0)-(29,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (205...225))
+ ├── @ CallNode (location: (30,0)-(31,1))
│ ├── receiver:
- │ │ @ CallNode (location: (205...208))
+ │ │ @ CallNode (location: (30,0)-(30,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (205...208) = "foo"
+ │ │ ├── message_loc: (30,0)-(30,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (208...209) = "."
- │ ├── message_loc: (209...212) = "bar"
+ │ ├── call_operator_loc: (30,3)-(30,4) = "."
+ │ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (213...225))
+ │ │ @ BlockNode (location: (30,8)-(31,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (215...223))
+ │ │ │ @ BlockParametersNode (location: (30,10)-(30,18))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 2)
- │ │ │ │ ├── @ BlockLocalVariableNode (location: (218...219))
+ │ │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ BlockLocalVariableNode (location: (221...222))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (30,16)-(30,17))
│ │ │ │ └── name: :b
- │ │ │ ├── opening_loc: (215...216) = "|"
- │ │ │ └── closing_loc: (222...223) = "|"
+ │ │ │ ├── opening_loc: (30,10)-(30,11) = "|"
+ │ │ │ └── closing_loc: (30,17)-(30,18) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (213...214) = "{"
- │ │ └── closing_loc: (224...225) = "}"
+ │ │ ├── opening_loc: (30,8)-(30,9) = "{"
+ │ │ └── closing_loc: (31,0)-(31,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (226...245))
+ ├── @ CallNode (location: (32,0)-(34,1))
│ ├── receiver:
- │ │ @ CallNode (location: (226...229))
+ │ │ @ CallNode (location: (32,0)-(32,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (226...229) = "foo"
+ │ │ ├── message_loc: (32,0)-(32,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (229...230) = "."
- │ ├── message_loc: (230...233) = "bar"
+ │ ├── call_operator_loc: (32,3)-(32,4) = "."
+ │ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (234...245))
+ │ │ @ BlockNode (location: (32,8)-(34,1))
│ │ ├── locals: [:*]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (236...239))
+ │ │ │ @ BlockParametersNode (location: (32,10)-(32,13))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (237...238))
+ │ │ │ │ @ ParametersNode (location: (32,11)-(32,12))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (237...238))
+ │ │ │ │ │ @ RestParameterNode (location: (32,11)-(32,12))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (237...238) = "*"
+ │ │ │ │ │ └── operator_loc: (32,11)-(32,12) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (236...237) = "|"
- │ │ │ └── closing_loc: (238...239) = "|"
+ │ │ │ ├── opening_loc: (32,10)-(32,11) = "|"
+ │ │ │ └── closing_loc: (32,12)-(32,13) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (242...243))
+ │ │ │ @ StatementsNode (location: (33,2)-(33,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (242...243))
+ │ │ │ └── @ CallNode (location: (33,2)-(33,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (242...243) = "d"
+ │ │ │ ├── message_loc: (33,2)-(33,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (234...235) = "{"
- │ │ └── closing_loc: (244...245) = "}"
+ │ │ ├── opening_loc: (32,8)-(32,9) = "{"
+ │ │ └── closing_loc: (34,0)-(34,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (246...267))
+ ├── @ CallNode (location: (35,0)-(37,1))
│ ├── receiver:
- │ │ @ CallNode (location: (246...249))
+ │ │ @ CallNode (location: (35,0)-(35,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (246...249) = "foo"
+ │ │ ├── message_loc: (35,0)-(35,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (249...250) = "."
- │ ├── message_loc: (250...253) = "bar"
+ │ ├── call_operator_loc: (35,3)-(35,4) = "."
+ │ ├── message_loc: (35,4)-(35,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (254...267))
+ │ │ @ BlockNode (location: (35,8)-(37,1))
│ │ ├── locals: []
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (256...261))
+ │ │ │ @ BlockParametersNode (location: (35,10)-(35,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (257...260))
+ │ │ │ │ @ ParametersNode (location: (35,11)-(35,14))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (257...260))
+ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (35,11)-(35,14))
│ │ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ │ └── @ SplatNode (location: (258...259))
- │ │ │ │ │ │ ├── operator_loc: (258...259) = "*"
+ │ │ │ │ │ │ └── @ SplatNode (location: (35,12)-(35,13))
+ │ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*"
│ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ ├── opening_loc: (257...258) = "("
- │ │ │ │ │ └── closing_loc: (259...260) = ")"
+ │ │ │ │ │ ├── opening_loc: (35,11)-(35,12) = "("
+ │ │ │ │ │ └── closing_loc: (35,13)-(35,14) = ")"
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
@@ -560,61 +560,61 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (256...257) = "|"
- │ │ │ └── closing_loc: (260...261) = "|"
+ │ │ │ ├── opening_loc: (35,10)-(35,11) = "|"
+ │ │ │ └── closing_loc: (35,14)-(35,15) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (264...265))
+ │ │ │ @ StatementsNode (location: (36,2)-(36,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (264...265))
+ │ │ │ └── @ CallNode (location: (36,2)-(36,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (264...265) = "d"
+ │ │ │ ├── message_loc: (36,2)-(36,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (254...255) = "{"
- │ │ └── closing_loc: (266...267) = "}"
+ │ │ ├── opening_loc: (35,8)-(35,9) = "{"
+ │ │ └── closing_loc: (37,0)-(37,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (268...291))
+ ├── @ CallNode (location: (38,0)-(40,1))
│ ├── receiver:
- │ │ @ CallNode (location: (268...271))
+ │ │ @ CallNode (location: (38,0)-(38,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (268...271) = "foo"
+ │ │ ├── message_loc: (38,0)-(38,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (271...272) = "."
- │ ├── message_loc: (272...275) = "bar"
+ │ ├── call_operator_loc: (38,3)-(38,4) = "."
+ │ ├── message_loc: (38,4)-(38,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (276...291))
+ │ │ @ BlockNode (location: (38,8)-(40,1))
│ │ ├── locals: []
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (278...285))
+ │ │ │ @ BlockParametersNode (location: (38,10)-(38,17))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (279...284))
+ │ │ │ │ @ ParametersNode (location: (38,11)-(38,16))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (279...284))
+ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (38,11)-(38,16))
│ │ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (280...283))
+ │ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (38,12)-(38,15))
│ │ │ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ │ │ └── @ SplatNode (location: (281...282))
- │ │ │ │ │ │ │ ├── operator_loc: (281...282) = "*"
+ │ │ │ │ │ │ │ └── @ SplatNode (location: (38,13)-(38,14))
+ │ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*"
│ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── opening_loc: (280...281) = "("
- │ │ │ │ │ │ └── closing_loc: (282...283) = ")"
- │ │ │ │ │ ├── opening_loc: (279...280) = "("
- │ │ │ │ │ └── closing_loc: (283...284) = ")"
+ │ │ │ │ │ │ ├── opening_loc: (38,12)-(38,13) = "("
+ │ │ │ │ │ │ └── closing_loc: (38,14)-(38,15) = ")"
+ │ │ │ │ │ ├── opening_loc: (38,11)-(38,12) = "("
+ │ │ │ │ │ └── closing_loc: (38,15)-(38,16) = ")"
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
@@ -622,63 +622,63 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (278...279) = "|"
- │ │ │ └── closing_loc: (284...285) = "|"
+ │ │ │ ├── opening_loc: (38,10)-(38,11) = "|"
+ │ │ │ └── closing_loc: (38,16)-(38,17) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (288...289))
+ │ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (288...289))
+ │ │ │ └── @ CallNode (location: (39,2)-(39,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (288...289) = "d"
+ │ │ │ ├── message_loc: (39,2)-(39,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (276...277) = "{"
- │ │ └── closing_loc: (290...291) = "}"
+ │ │ ├── opening_loc: (38,8)-(38,9) = "{"
+ │ │ └── closing_loc: (40,0)-(40,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (292...318))
+ ├── @ CallNode (location: (41,0)-(43,1))
│ ├── receiver:
- │ │ @ CallNode (location: (292...295))
+ │ │ @ CallNode (location: (41,0)-(41,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (292...295) = "foo"
+ │ │ ├── message_loc: (41,0)-(41,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (295...296) = "."
- │ ├── message_loc: (296...299) = "bar"
+ │ ├── call_operator_loc: (41,3)-(41,4) = "."
+ │ ├── message_loc: (41,4)-(41,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (300...318))
+ │ │ @ BlockNode (location: (41,8)-(43,1))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (302...312))
+ │ │ │ @ BlockParametersNode (location: (41,10)-(41,20))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (303...311))
+ │ │ │ │ @ ParametersNode (location: (41,11)-(41,19))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (303...311))
+ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (41,11)-(41,19))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (304...305))
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13))
│ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (307...310))
+ │ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (41,15)-(41,18))
│ │ │ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ │ │ └── @ SplatNode (location: (308...309))
- │ │ │ │ │ │ │ ├── operator_loc: (308...309) = "*"
+ │ │ │ │ │ │ │ └── @ SplatNode (location: (41,16)-(41,17))
+ │ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*"
│ │ │ │ │ │ │ └── expression: ∅
- │ │ │ │ │ │ ├── opening_loc: (307...308) = "("
- │ │ │ │ │ │ └── closing_loc: (309...310) = ")"
- │ │ │ │ │ ├── opening_loc: (303...304) = "("
- │ │ │ │ │ └── closing_loc: (310...311) = ")"
+ │ │ │ │ │ │ ├── opening_loc: (41,15)-(41,16) = "("
+ │ │ │ │ │ │ └── closing_loc: (41,17)-(41,18) = ")"
+ │ │ │ │ │ ├── opening_loc: (41,11)-(41,12) = "("
+ │ │ │ │ │ └── closing_loc: (41,18)-(41,19) = ")"
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
@@ -686,58 +686,58 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (302...303) = "|"
- │ │ │ └── closing_loc: (311...312) = "|"
+ │ │ │ ├── opening_loc: (41,10)-(41,11) = "|"
+ │ │ │ └── closing_loc: (41,19)-(41,20) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (315...316))
+ │ │ │ @ StatementsNode (location: (42,2)-(42,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (315...316))
+ │ │ │ └── @ CallNode (location: (42,2)-(42,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (315...316) = "d"
+ │ │ │ ├── message_loc: (42,2)-(42,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (300...301) = "{"
- │ │ └── closing_loc: (317...318) = "}"
+ │ │ ├── opening_loc: (41,8)-(41,9) = "{"
+ │ │ └── closing_loc: (43,0)-(43,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (319...343))
+ ├── @ CallNode (location: (44,0)-(46,1))
│ ├── receiver:
- │ │ @ CallNode (location: (319...322))
+ │ │ @ CallNode (location: (44,0)-(44,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (319...322) = "foo"
+ │ │ ├── message_loc: (44,0)-(44,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (322...323) = "."
- │ ├── message_loc: (323...326) = "bar"
+ │ ├── call_operator_loc: (44,3)-(44,4) = "."
+ │ ├── message_loc: (44,4)-(44,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (327...343))
+ │ │ @ BlockNode (location: (44,8)-(46,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (329...337))
+ │ │ │ @ BlockParametersNode (location: (44,10)-(44,18))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (330...336))
+ │ │ │ │ @ ParametersNode (location: (44,11)-(44,17))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (330...336))
+ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (44,11)-(44,17))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (331...332))
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13))
│ │ │ │ │ │ │ └── name: :a
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (334...335))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (44,15)-(44,16))
│ │ │ │ │ │ └── name: :b
- │ │ │ │ │ ├── opening_loc: (330...331) = "("
- │ │ │ │ │ └── closing_loc: (335...336) = ")"
+ │ │ │ │ │ ├── opening_loc: (44,11)-(44,12) = "("
+ │ │ │ │ │ └── closing_loc: (44,16)-(44,17) = ")"
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
@@ -745,117 +745,117 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (329...330) = "|"
- │ │ │ └── closing_loc: (336...337) = "|"
+ │ │ │ ├── opening_loc: (44,10)-(44,11) = "|"
+ │ │ │ └── closing_loc: (44,17)-(44,18) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (340...341))
+ │ │ │ @ StatementsNode (location: (45,2)-(45,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (340...341))
+ │ │ │ └── @ CallNode (location: (45,2)-(45,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (340...341) = "d"
+ │ │ │ ├── message_loc: (45,2)-(45,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── opening_loc: (327...328) = "{"
- │ │ └── closing_loc: (342...343) = "}"
+ │ │ ├── opening_loc: (44,8)-(44,9) = "{"
+ │ │ └── closing_loc: (46,0)-(46,1) = "}"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (344...359))
+ ├── @ CallNode (location: (47,0)-(48,5))
│ ├── receiver:
- │ │ @ CallNode (location: (344...355))
+ │ │ @ CallNode (location: (47,0)-(48,1))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (344...347))
+ │ │ │ @ CallNode (location: (47,0)-(47,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (344...347) = "foo"
+ │ │ │ ├── message_loc: (47,0)-(47,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── call_operator_loc: (347...348) = "."
- │ │ ├── message_loc: (348...351) = "bar"
+ │ │ ├── call_operator_loc: (47,3)-(47,4) = "."
+ │ │ ├── message_loc: (47,4)-(47,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (352...355))
+ │ │ │ @ BlockNode (location: (47,8)-(48,1))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (352...353) = "{"
- │ │ │ └── closing_loc: (354...355) = "}"
+ │ │ │ ├── opening_loc: (47,8)-(47,9) = "{"
+ │ │ │ └── closing_loc: (48,0)-(48,1) = "}"
│ │ ├── flags: ∅
│ │ └── name: "bar"
- │ ├── call_operator_loc: (355...356) = "."
- │ ├── message_loc: (356...359) = "baz"
+ │ ├── call_operator_loc: (48,1)-(48,2) = "."
+ │ ├── message_loc: (48,2)-(48,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "baz"
- ├── @ CallNode (location: (360...390))
+ ├── @ CallNode (location: (49,0)-(51,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (360...361) = "m"
+ │ ├── message_loc: (49,0)-(49,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (362...390))
+ │ │ @ BlockNode (location: (49,2)-(51,3))
│ │ ├── locals: [:e]
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (365...390))
+ │ │ │ @ BeginNode (location: (50,0)-(51,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (365...386))
- │ │ │ │ ├── keyword_loc: (365...371) = "rescue"
+ │ │ │ │ @ RescueNode (location: (50,0)-(50,21))
+ │ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (372...381))
+ │ │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16))
│ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (382...384) = "=>"
+ │ │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>"
│ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (385...386))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21))
│ │ │ │ │ ├── name: :e
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── statements: ∅
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (387...390) = "end"
- │ │ ├── opening_loc: (362...364) = "do"
- │ │ └── closing_loc: (387...390) = "end"
+ │ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
+ │ │ ├── opening_loc: (49,2)-(49,4) = "do"
+ │ │ └── closing_loc: (51,0)-(51,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (391...435))
+ ├── @ CallNode (location: (52,0)-(56,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (391...392) = "m"
+ │ ├── message_loc: (52,0)-(52,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (393...435))
+ │ │ @ BlockNode (location: (52,2)-(56,3))
│ │ ├── locals: [:bar]
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (398...435))
+ │ │ │ @ BeginNode (location: (53,2)-(56,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (398...401))
+ │ │ │ │ @ StatementsNode (location: (53,2)-(53,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (398...401))
+ │ │ │ │ └── @ CallNode (location: (53,2)-(53,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (398...401) = "foo"
+ │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -863,51 +863,51 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (402...431))
- │ │ │ │ ├── keyword_loc: (402...408) = "rescue"
+ │ │ │ │ @ RescueNode (location: (54,0)-(55,5))
+ │ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (409...418))
+ │ │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16))
│ │ │ │ │ └── name: :Exception
- │ │ │ │ ├── operator_loc: (419...421) = "=>"
+ │ │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>"
│ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (422...425))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23))
│ │ │ │ │ ├── name: :bar
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (428...431))
+ │ │ │ │ │ @ StatementsNode (location: (55,2)-(55,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (428...431))
+ │ │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5))
│ │ │ │ │ ├── name: :bar
│ │ │ │ │ └── depth: 0
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (432...435) = "end"
- │ │ ├── opening_loc: (393...395) = "do"
- │ │ └── closing_loc: (432...435) = "end"
+ │ │ │ └── end_keyword_loc: (56,0)-(56,3) = "end"
+ │ │ ├── opening_loc: (52,2)-(52,4) = "do"
+ │ │ └── closing_loc: (56,0)-(56,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (436...479))
+ ├── @ CallNode (location: (57,0)-(61,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (436...437) = "m"
+ │ ├── message_loc: (57,0)-(57,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (438...479))
+ │ │ @ BlockNode (location: (57,2)-(61,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (443...479))
+ │ │ │ @ BeginNode (location: (58,2)-(61,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (443...446))
+ │ │ │ │ @ StatementsNode (location: (58,2)-(58,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (443...446))
+ │ │ │ │ └── @ CallNode (location: (58,2)-(58,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (443...446) = "bar"
+ │ │ │ │ ├── message_loc: (58,2)-(58,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -915,18 +915,18 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (447...475))
- │ │ │ │ ├── keyword_loc: (447...453) = "rescue"
+ │ │ │ │ @ RescueNode (location: (59,0)-(60,5))
+ │ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (454...463))
+ │ │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16))
│ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (465...469))
- │ │ │ │ │ ├── operator_loc: (465...466) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22))
+ │ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (466...469))
+ │ │ │ │ │ @ CallNode (location: (59,19)-(59,22))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (466...469) = "bar"
+ │ │ │ │ │ ├── message_loc: (59,19)-(59,22) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -936,12 +936,12 @@
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (472...475))
+ │ │ │ │ │ @ StatementsNode (location: (60,2)-(60,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (472...475))
+ │ │ │ │ │ └── @ CallNode (location: (60,2)-(60,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (472...475) = "baz"
+ │ │ │ │ │ ├── message_loc: (60,2)-(60,5) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -951,32 +951,32 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (476...479) = "end"
- │ │ ├── opening_loc: (438...440) = "do"
- │ │ └── closing_loc: (476...479) = "end"
+ │ │ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
+ │ │ ├── opening_loc: (57,2)-(57,4) = "do"
+ │ │ └── closing_loc: (61,0)-(61,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (480...536))
+ ├── @ CallNode (location: (62,0)-(66,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (480...481) = "m"
+ │ ├── message_loc: (62,0)-(62,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (482...536))
+ │ │ @ BlockNode (location: (62,2)-(66,3))
│ │ ├── locals: [:exception]
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (487...536))
+ │ │ │ @ BeginNode (location: (63,2)-(66,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (487...490))
+ │ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (487...490))
+ │ │ │ │ └── @ CallNode (location: (63,2)-(63,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (487...490) = "bar"
+ │ │ │ │ ├── message_loc: (63,2)-(63,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -984,36 +984,36 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (491...532))
- │ │ │ │ ├── keyword_loc: (491...497) = "rescue"
+ │ │ │ │ @ RescueNode (location: (64,0)-(65,5))
+ │ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 2)
- │ │ │ │ │ ├── @ ConstantReadNode (location: (498...507))
+ │ │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16))
│ │ │ │ │ │ └── name: :SomeError
- │ │ │ │ │ └── @ SplatNode (location: (509...513))
- │ │ │ │ │ ├── operator_loc: (509...510) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22))
+ │ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (510...513))
+ │ │ │ │ │ @ CallNode (location: (64,19)-(64,22))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (510...513) = "bar"
+ │ │ │ │ │ ├── message_loc: (64,19)-(64,22) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ ├── operator_loc: (514...516) = "=>"
+ │ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>"
│ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (517...526))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35))
│ │ │ │ │ ├── name: :exception
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (529...532))
+ │ │ │ │ │ @ StatementsNode (location: (65,2)-(65,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (529...532))
+ │ │ │ │ │ └── @ CallNode (location: (65,2)-(65,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (529...532) = "baz"
+ │ │ │ │ │ ├── message_loc: (65,2)-(65,5) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -1023,32 +1023,32 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (533...536) = "end"
- │ │ ├── opening_loc: (482...484) = "do"
- │ │ └── closing_loc: (533...536) = "end"
+ │ │ │ └── end_keyword_loc: (66,0)-(66,3) = "end"
+ │ │ ├── opening_loc: (62,2)-(62,4) = "do"
+ │ │ └── closing_loc: (66,0)-(66,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (537...569))
+ ├── @ CallNode (location: (67,0)-(71,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (537...538) = "m"
+ │ ├── message_loc: (67,0)-(67,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (539...569))
+ │ │ @ BlockNode (location: (67,2)-(71,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (544...569))
+ │ │ │ @ BeginNode (location: (68,2)-(71,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (544...547))
+ │ │ │ │ @ StatementsNode (location: (68,2)-(68,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (544...547))
+ │ │ │ │ └── @ CallNode (location: (68,2)-(68,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (544...547) = "bar"
+ │ │ │ │ ├── message_loc: (68,2)-(68,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1056,16 +1056,16 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (548...565))
- │ │ │ │ ├── keyword_loc: (548...554) = "rescue"
+ │ │ │ │ @ RescueNode (location: (69,0)-(70,5))
+ │ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (555...559))
- │ │ │ │ │ ├── operator_loc: (555...556) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11))
+ │ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (556...559))
+ │ │ │ │ │ @ CallNode (location: (69,8)-(69,11))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (556...559) = "bar"
+ │ │ │ │ │ ├── message_loc: (69,8)-(69,11) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -1075,12 +1075,12 @@
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (562...565))
+ │ │ │ │ │ @ StatementsNode (location: (70,2)-(70,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (562...565))
+ │ │ │ │ │ └── @ CallNode (location: (70,2)-(70,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (562...565) = "baz"
+ │ │ │ │ │ ├── message_loc: (70,2)-(70,5) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -1090,32 +1090,32 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (566...569) = "end"
- │ │ ├── opening_loc: (539...541) = "do"
- │ │ └── closing_loc: (566...569) = "end"
+ │ │ │ └── end_keyword_loc: (71,0)-(71,3) = "end"
+ │ │ ├── opening_loc: (67,2)-(67,4) = "do"
+ │ │ └── closing_loc: (71,0)-(71,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (570...601))
+ ├── @ CallNode (location: (72,0)-(75,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (570...571) = "m"
+ │ ├── message_loc: (72,0)-(72,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (572...601))
+ │ │ @ BlockNode (location: (72,2)-(75,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (577...601))
+ │ │ │ @ BeginNode (location: (73,2)-(75,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (577...580))
+ │ │ │ │ @ StatementsNode (location: (73,2)-(73,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (577...580))
+ │ │ │ │ └── @ CallNode (location: (73,2)-(73,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (577...580) = "bar"
+ │ │ │ │ ├── message_loc: (73,2)-(73,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1123,10 +1123,10 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (581...597))
- │ │ │ │ ├── keyword_loc: (581...587) = "rescue"
+ │ │ │ │ @ RescueNode (location: (74,0)-(74,16))
+ │ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (588...597))
+ │ │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16))
│ │ │ │ │ └── name: :LoadError
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
@@ -1134,32 +1134,32 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (598...601) = "end"
- │ │ ├── opening_loc: (572...574) = "do"
- │ │ └── closing_loc: (598...601) = "end"
+ │ │ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ │ │ ├── opening_loc: (72,2)-(72,4) = "do"
+ │ │ └── closing_loc: (75,0)-(75,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (602...634))
+ ├── @ CallNode (location: (76,0)-(81,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (602...603) = "m"
+ │ ├── message_loc: (76,0)-(76,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (604...634))
+ │ │ @ BlockNode (location: (76,2)-(81,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (609...634))
+ │ │ │ @ BeginNode (location: (77,2)-(81,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (609...612))
+ │ │ │ │ @ StatementsNode (location: (77,2)-(77,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (609...612))
+ │ │ │ │ └── @ CallNode (location: (77,2)-(77,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (609...612) = "bar"
+ │ │ │ │ ├── message_loc: (77,2)-(77,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1167,57 +1167,57 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (613...619))
- │ │ │ │ ├── keyword_loc: (613...619) = "rescue"
+ │ │ │ │ @ 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: (620...634))
- │ │ │ │ ├── else_keyword_loc: (620...624) = "else"
+ │ │ │ │ @ ElseNode (location: (79,0)-(81,3))
+ │ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (627...630))
+ │ │ │ │ │ @ StatementsNode (location: (80,2)-(80,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (627...630))
+ │ │ │ │ │ └── @ CallNode (location: (80,2)-(80,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (627...630) = "baz"
+ │ │ │ │ │ ├── message_loc: (80,2)-(80,5) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "baz"
- │ │ │ │ └── end_keyword_loc: (631...634) = "end"
+ │ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (631...634) = "end"
- │ │ ├── opening_loc: (604...606) = "do"
- │ │ └── closing_loc: (631...634) = "end"
+ │ │ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ │ │ ├── opening_loc: (76,2)-(76,4) = "do"
+ │ │ └── closing_loc: (81,0)-(81,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (635...680))
+ ├── @ CallNode (location: (82,0)-(86,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (635...636) = "m"
+ │ ├── message_loc: (82,0)-(82,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (637...680))
+ │ │ @ BlockNode (location: (82,2)-(86,3))
│ │ ├── locals: [:exception]
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (642...680))
+ │ │ │ @ BeginNode (location: (83,2)-(86,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (642...645))
+ │ │ │ │ @ StatementsNode (location: (83,2)-(83,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (642...645))
+ │ │ │ │ └── @ CallNode (location: (83,2)-(83,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (642...645) = "bar"
+ │ │ │ │ ├── message_loc: (83,2)-(83,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1225,34 +1225,34 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (646...676))
- │ │ │ │ ├── keyword_loc: (646...652) = "rescue"
+ │ │ │ │ @ RescueNode (location: (84,0)-(85,5))
+ │ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 1)
- │ │ │ │ │ └── @ SplatNode (location: (653...657))
- │ │ │ │ │ ├── operator_loc: (653...654) = "*"
+ │ │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11))
+ │ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ CallNode (location: (654...657))
+ │ │ │ │ │ @ CallNode (location: (84,8)-(84,11))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (654...657) = "bar"
+ │ │ │ │ │ ├── message_loc: (84,8)-(84,11) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ ├── operator_loc: (658...660) = "=>"
+ │ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>"
│ │ │ │ ├── reference:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (661...670))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24))
│ │ │ │ │ ├── name: :exception
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (673...676))
+ │ │ │ │ │ @ StatementsNode (location: (85,2)-(85,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (673...676))
+ │ │ │ │ │ └── @ CallNode (location: (85,2)-(85,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (673...676) = "baz"
+ │ │ │ │ │ ├── message_loc: (85,2)-(85,5) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -1262,56 +1262,56 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (677...680) = "end"
- │ │ ├── opening_loc: (637...639) = "do"
- │ │ └── closing_loc: (677...680) = "end"
+ │ │ │ └── end_keyword_loc: (86,0)-(86,3) = "end"
+ │ │ ├── opening_loc: (82,2)-(82,4) = "do"
+ │ │ └── closing_loc: (86,0)-(86,3) = "end"
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallNode (location: (681...696))
+ ├── @ CallNode (location: (87,0)-(89,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (681...682) = "m"
+ │ ├── message_loc: (87,0)-(87,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (683...696))
+ │ │ @ BlockNode (location: (87,2)-(89,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (686...696))
+ │ │ │ @ BeginNode (location: (88,0)-(89,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (686...696))
- │ │ │ │ ├── ensure_keyword_loc: (686...692) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (88,0)-(89,3))
+ │ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (693...696) = "end"
- │ │ │ └── end_keyword_loc: (693...696) = "end"
- │ │ ├── opening_loc: (683...685) = "do"
- │ │ └── closing_loc: (693...696) = "end"
+ │ │ │ │ └── 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: ∅
│ └── name: "m"
- ├── @ CallNode (location: (697...719))
+ ├── @ CallNode (location: (90,0)-(93,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (697...698) = "m"
+ │ ├── message_loc: (90,0)-(90,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (699...719))
+ │ │ @ BlockNode (location: (90,2)-(93,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (702...719))
+ │ │ │ @ BeginNode (location: (91,0)-(93,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (702...708))
- │ │ │ │ ├── keyword_loc: (702...708) = "rescue"
+ │ │ │ │ @ RescueNode (location: (91,0)-(91,6))
+ │ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 0)
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
@@ -1319,48 +1319,48 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause:
- │ │ │ │ @ EnsureNode (location: (709...719))
- │ │ │ │ ├── ensure_keyword_loc: (709...715) = "ensure"
+ │ │ │ │ @ EnsureNode (location: (92,0)-(93,3))
+ │ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── end_keyword_loc: (716...719) = "end"
- │ │ │ └── end_keyword_loc: (716...719) = "end"
- │ │ ├── opening_loc: (699...701) = "do"
- │ │ └── closing_loc: (716...719) = "end"
+ │ │ │ │ └── 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: ∅
│ └── name: "m"
- └── @ CallNode (location: (720...737))
+ └── @ CallNode (location: (94,0)-(96,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (720...723) = "bar"
+ ├── message_loc: (94,0)-(94,3) = "bar"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (724...737))
+ │ @ BlockNode (location: (94,4)-(96,1))
│ ├── locals: [:_1, :_2]
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (728...735))
+ │ │ @ StatementsNode (location: (95,2)-(95,9))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (728...735))
+ │ │ └── @ CallNode (location: (95,2)-(95,9))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (728...730))
+ │ │ │ @ LocalVariableReadNode (location: (95,2)-(95,4))
│ │ │ ├── name: :_1
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (731...732) = "+"
+ │ │ ├── message_loc: (95,5)-(95,6) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (733...735))
+ │ │ │ @ ArgumentsNode (location: (95,7)-(95,9))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (733...735))
+ │ │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9))
│ │ │ ├── name: :_2
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ ├── opening_loc: (724...725) = "{"
- │ └── closing_loc: (736...737) = "}"
+ │ ├── opening_loc: (94,4)-(94,5) = "{"
+ │ └── closing_loc: (96,0)-(96,1) = "}"
├── flags: ∅
└── name: "bar"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/case.txt b/test/yarp/snapshots/unparser/corpus/literal/case.txt
index ab7925969a..8cfc927794 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/case.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/case.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...284))
+@ ProgramNode (location: (1,0)-(37,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...284))
+ @ StatementsNode (location: (1,0)-(37,3))
└── body: (length: 8)
- ├── @ CaseNode (location: (0...38))
+ ├── @ CaseNode (location: (1,0)-(6,3))
│ ├── predicate: ∅
│ ├── conditions: (length: 2)
- │ │ ├── @ WhenNode (location: (5...19))
- │ │ │ ├── keyword_loc: (5...9) = "when"
+ │ │ ├── @ WhenNode (location: (2,0)-(3,5))
+ │ │ │ ├── keyword_loc: (2,0)-(2,4) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ CallNode (location: (10...13))
+ │ │ │ │ └── @ CallNode (location: (2,5)-(2,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (10...13) = "bar"
+ │ │ │ │ ├── message_loc: (2,5)-(2,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -20,25 +20,25 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ └── statements:
- │ │ │ @ StatementsNode (location: (16...19))
+ │ │ │ @ StatementsNode (location: (3,2)-(3,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (16...19))
+ │ │ │ └── @ CallNode (location: (3,2)-(3,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (16...19) = "baz"
+ │ │ │ ├── message_loc: (3,2)-(3,5) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ WhenNode (location: (20...34))
- │ │ ├── keyword_loc: (20...24) = "when"
+ │ │ └── @ WhenNode (location: (4,0)-(5,5))
+ │ │ ├── keyword_loc: (4,0)-(4,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (25...28))
+ │ │ │ └── @ CallNode (location: (4,5)-(4,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (25...28) = "baz"
+ │ │ │ ├── message_loc: (4,5)-(4,8) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -46,12 +46,12 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
│ │ └── statements:
- │ │ @ StatementsNode (location: (31...34))
+ │ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (31...34))
+ │ │ └── @ CallNode (location: (5,2)-(5,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "bar"
+ │ │ ├── message_loc: (5,2)-(5,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -59,14 +59,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (0...4) = "case"
- │ └── end_keyword_loc: (35...38) = "end"
- ├── @ CaseNode (location: (39...75))
+ │ ├── 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: (44...47))
+ │ │ @ CallNode (location: (7,5)-(7,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (44...47) = "foo"
+ │ │ ├── message_loc: (7,5)-(7,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -74,13 +74,13 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 2)
- │ │ ├── @ WhenNode (location: (48...56))
- │ │ │ ├── keyword_loc: (48...52) = "when"
+ │ │ ├── @ WhenNode (location: (8,0)-(8,8))
+ │ │ │ ├── keyword_loc: (8,0)-(8,4) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ CallNode (location: (53...56))
+ │ │ │ │ └── @ CallNode (location: (8,5)-(8,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (53...56) = "bar"
+ │ │ │ │ ├── message_loc: (8,5)-(8,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -88,13 +88,13 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ └── statements: ∅
- │ │ └── @ WhenNode (location: (57...71))
- │ │ ├── keyword_loc: (57...61) = "when"
+ │ │ └── @ WhenNode (location: (9,0)-(10,5))
+ │ │ ├── keyword_loc: (9,0)-(9,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (62...65))
+ │ │ │ └── @ CallNode (location: (9,5)-(9,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (62...65) = "baz"
+ │ │ │ ├── message_loc: (9,5)-(9,8) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -102,12 +102,12 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
│ │ └── statements:
- │ │ @ StatementsNode (location: (68...71))
+ │ │ @ StatementsNode (location: (10,2)-(10,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (68...71))
+ │ │ └── @ CallNode (location: (10,2)-(10,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (68...71) = "bar"
+ │ │ ├── message_loc: (10,2)-(10,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -115,14 +115,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (39...43) = "case"
- │ └── end_keyword_loc: (72...75) = "end"
- ├── @ CaseNode (location: (76...118))
+ │ ├── 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: (81...84))
+ │ │ @ CallNode (location: (12,5)-(12,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (81...84) = "foo"
+ │ │ ├── message_loc: (12,5)-(12,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -130,13 +130,13 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 2)
- │ │ ├── @ WhenNode (location: (85...99))
- │ │ │ ├── keyword_loc: (85...89) = "when"
+ │ │ ├── @ WhenNode (location: (13,0)-(14,5))
+ │ │ │ ├── keyword_loc: (13,0)-(13,4) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ CallNode (location: (90...93))
+ │ │ │ │ └── @ CallNode (location: (13,5)-(13,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (90...93) = "bar"
+ │ │ │ │ ├── message_loc: (13,5)-(13,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -144,25 +144,25 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ └── statements:
- │ │ │ @ StatementsNode (location: (96...99))
+ │ │ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (96...99))
+ │ │ │ └── @ CallNode (location: (14,2)-(14,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (96...99) = "baz"
+ │ │ │ ├── message_loc: (14,2)-(14,5) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ WhenNode (location: (100...114))
- │ │ ├── keyword_loc: (100...104) = "when"
+ │ │ └── @ WhenNode (location: (15,0)-(16,5))
+ │ │ ├── keyword_loc: (15,0)-(15,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (105...108))
+ │ │ │ └── @ CallNode (location: (15,5)-(15,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (105...108) = "baz"
+ │ │ │ ├── message_loc: (15,5)-(15,8) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -170,12 +170,12 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
│ │ └── statements:
- │ │ @ StatementsNode (location: (111...114))
+ │ │ @ StatementsNode (location: (16,2)-(16,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (111...114))
+ │ │ └── @ CallNode (location: (16,2)-(16,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (111...114) = "bar"
+ │ │ ├── message_loc: (16,2)-(16,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -183,14 +183,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (76...80) = "case"
- │ └── end_keyword_loc: (115...118) = "end"
- ├── @ CaseNode (location: (119...154))
+ │ ├── 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: (124...127))
+ │ │ @ CallNode (location: (18,5)-(18,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (124...127) = "foo"
+ │ │ ├── message_loc: (18,5)-(18,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -198,23 +198,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (128...150))
- │ │ ├── keyword_loc: (128...132) = "when"
+ │ │ └── @ WhenNode (location: (19,0)-(20,8))
+ │ │ ├── keyword_loc: (19,0)-(19,4) = "when"
│ │ ├── conditions: (length: 2)
- │ │ │ ├── @ CallNode (location: (133...136))
+ │ │ │ ├── @ CallNode (location: (19,5)-(19,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (133...136) = "bar"
+ │ │ │ │ ├── message_loc: (19,5)-(19,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── @ CallNode (location: (138...141))
+ │ │ │ └── @ CallNode (location: (19,10)-(19,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (138...141) = "baz"
+ │ │ │ ├── message_loc: (19,10)-(19,13) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -222,22 +222,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
│ │ └── statements:
- │ │ @ StatementsNode (location: (144...150))
+ │ │ @ StatementsNode (location: (20,2)-(20,8))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (144...150))
- │ │ ├── opening_loc: (144...145) = ":"
- │ │ ├── value_loc: (145...150) = "other"
+ │ │ └── @ SymbolNode (location: (20,2)-(20,8))
+ │ │ ├── opening_loc: (20,2)-(20,3) = ":"
+ │ │ ├── value_loc: (20,3)-(20,8) = "other"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "other"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (119...123) = "case"
- │ └── end_keyword_loc: (151...154) = "end"
- ├── @ CaseNode (location: (155...186))
+ │ ├── case_keyword_loc: (18,0)-(18,4) = "case"
+ │ └── end_keyword_loc: (21,0)-(21,3) = "end"
+ ├── @ CaseNode (location: (22,0)-(25,3))
│ ├── predicate:
- │ │ @ CallNode (location: (160...163))
+ │ │ @ CallNode (location: (22,5)-(22,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (160...163) = "foo"
+ │ │ ├── message_loc: (22,5)-(22,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -245,16 +245,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (164...182))
- │ │ ├── keyword_loc: (164...168) = "when"
+ │ │ └── @ WhenNode (location: (23,0)-(24,8))
+ │ │ ├── keyword_loc: (23,0)-(23,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SplatNode (location: (169...173))
- │ │ │ ├── operator_loc: (169...170) = "*"
+ │ │ │ └── @ SplatNode (location: (23,5)-(23,9))
+ │ │ │ ├── operator_loc: (23,5)-(23,6) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (170...173))
+ │ │ │ @ CallNode (location: (23,6)-(23,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (170...173) = "bar"
+ │ │ │ ├── message_loc: (23,6)-(23,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -262,22 +262,22 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ └── statements:
- │ │ @ StatementsNode (location: (176...182))
+ │ │ @ StatementsNode (location: (24,2)-(24,8))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (176...182))
- │ │ ├── opening_loc: (176...177) = ":"
- │ │ ├── value_loc: (177...182) = "value"
+ │ │ └── @ SymbolNode (location: (24,2)-(24,8))
+ │ │ ├── opening_loc: (24,2)-(24,3) = ":"
+ │ │ ├── value_loc: (24,3)-(24,8) = "value"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "value"
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (155...159) = "case"
- │ └── end_keyword_loc: (183...186) = "end"
- ├── @ CaseNode (location: (187...226))
+ │ ├── case_keyword_loc: (22,0)-(22,4) = "case"
+ │ └── end_keyword_loc: (25,0)-(25,3) = "end"
+ ├── @ CaseNode (location: (26,0)-(31,3))
│ ├── predicate:
- │ │ @ CallNode (location: (192...195))
+ │ │ @ CallNode (location: (26,5)-(26,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (192...195) = "foo"
+ │ │ ├── message_loc: (26,5)-(26,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -285,13 +285,13 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (196...210))
- │ │ ├── keyword_loc: (196...200) = "when"
+ │ │ └── @ WhenNode (location: (27,0)-(28,5))
+ │ │ ├── keyword_loc: (27,0)-(27,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ CallNode (location: (201...204))
+ │ │ │ └── @ CallNode (location: (27,5)-(27,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (201...204) = "bar"
+ │ │ │ ├── message_loc: (27,5)-(27,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -299,12 +299,12 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ └── statements:
- │ │ @ StatementsNode (location: (207...210))
+ │ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (207...210))
+ │ │ └── @ CallNode (location: (28,2)-(28,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (207...210) = "baz"
+ │ │ ├── message_loc: (28,2)-(28,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -312,25 +312,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── consequent:
- │ │ @ ElseNode (location: (211...226))
- │ │ ├── else_keyword_loc: (211...215) = "else"
+ │ │ @ ElseNode (location: (29,0)-(31,3))
+ │ │ ├── else_keyword_loc: (29,0)-(29,4) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (218...222))
+ │ │ │ @ StatementsNode (location: (30,2)-(30,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (218...222))
- │ │ │ ├── opening_loc: (218...219) = ":"
- │ │ │ ├── value_loc: (219...222) = "foo"
+ │ │ │ └── @ SymbolNode (location: (30,2)-(30,6))
+ │ │ │ ├── opening_loc: (30,2)-(30,3) = ":"
+ │ │ │ ├── value_loc: (30,3)-(30,6) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── end_keyword_loc: (223...226) = "end"
- │ ├── case_keyword_loc: (187...191) = "case"
- │ └── end_keyword_loc: (223...226) = "end"
- ├── @ CaseNode (location: (227...255))
+ │ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ │ ├── case_keyword_loc: (26,0)-(26,4) = "case"
+ │ └── end_keyword_loc: (31,0)-(31,3) = "end"
+ ├── @ CaseNode (location: (32,0)-(34,3))
│ ├── predicate:
- │ │ @ CallNode (location: (232...235))
+ │ │ @ CallNode (location: (32,5)-(32,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (232...235) = "foo"
+ │ │ ├── message_loc: (32,5)-(32,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -338,18 +338,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ WhenNode (location: (236...251))
- │ │ ├── keyword_loc: (236...240) = "when"
+ │ │ └── @ WhenNode (location: (33,0)-(33,15))
+ │ │ ├── keyword_loc: (33,0)-(33,4) = "when"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ SplatNode (location: (241...251))
- │ │ │ ├── operator_loc: (241...242) = "*"
+ │ │ │ └── @ SplatNode (location: (33,5)-(33,15))
+ │ │ │ ├── operator_loc: (33,5)-(33,6) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (242...251))
+ │ │ │ @ CallNode (location: (33,6)-(33,15))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (242...245))
+ │ │ │ │ @ CallNode (location: (33,6)-(33,9))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (242...245) = "bar"
+ │ │ │ │ ├── message_loc: (33,6)-(33,9) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -357,15 +357,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (246...247) = "|"
+ │ │ │ ├── message_loc: (33,10)-(33,11) = "|"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (248...251))
+ │ │ │ │ @ ArgumentsNode (location: (33,12)-(33,15))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (248...251))
+ │ │ │ │ └── @ CallNode (location: (33,12)-(33,15))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (248...251) = "baz"
+ │ │ │ │ ├── message_loc: (33,12)-(33,15) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -378,14 +378,14 @@
│ │ │ └── name: "|"
│ │ └── statements: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (227...231) = "case"
- │ └── end_keyword_loc: (252...255) = "end"
- └── @ CaseNode (location: (256...284))
+ │ ├── case_keyword_loc: (32,0)-(32,4) = "case"
+ │ └── end_keyword_loc: (34,0)-(34,3) = "end"
+ └── @ CaseNode (location: (35,0)-(37,3))
├── predicate:
- │ @ CallNode (location: (261...264))
+ │ @ CallNode (location: (35,5)-(35,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (261...264) = "foo"
+ │ ├── message_loc: (35,5)-(35,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -393,31 +393,31 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (265...280))
- │ ├── keyword_loc: (265...269) = "when"
+ │ └── @ WhenNode (location: (36,0)-(36,15))
+ │ ├── keyword_loc: (36,0)-(36,4) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ SplatNode (location: (270...280))
- │ │ ├── operator_loc: (270...271) = "*"
+ │ │ └── @ SplatNode (location: (36,5)-(36,15))
+ │ │ ├── operator_loc: (36,5)-(36,6) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (271...280))
+ │ │ @ CallNode (location: (36,6)-(36,15))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (271...274))
+ │ │ │ @ CallNode (location: (36,6)-(36,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (271...274) = "bar"
+ │ │ │ ├── message_loc: (36,6)-(36,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── call_operator_loc: (274...275) = "."
- │ │ ├── message_loc: (275...278) = "baz"
+ │ │ ├── call_operator_loc: (36,9)-(36,10) = "."
+ │ │ ├── message_loc: (36,10)-(36,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (279...280))
+ │ │ │ @ ArgumentsNode (location: (36,14)-(36,15))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (279...280))
+ │ │ │ └── @ IntegerNode (location: (36,14)-(36,15))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
@@ -425,5 +425,5 @@
│ │ └── name: "baz="
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (256...260) = "case"
- └── end_keyword_loc: (281...284) = "end"
+ ├── case_keyword_loc: (35,0)-(35,4) = "case"
+ └── end_keyword_loc: (37,0)-(37,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/class.txt b/test/yarp/snapshots/unparser/corpus/literal/class.txt
index 3fefac1620..9e67bd753a 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/class.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/class.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...213))
+@ ProgramNode (location: (1,0)-(35,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...213))
+ @ StatementsNode (location: (1,0)-(35,3))
└── body: (length: 10)
- ├── @ ClassNode (location: (0...11))
+ ├── @ ClassNode (location: (1,0)-(2,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (0...5) = "class"
+ │ ├── class_keyword_loc: (1,0)-(1,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (6...7))
+ │ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (8...11) = "end"
+ │ ├── end_keyword_loc: (2,0)-(2,3) = "end"
│ └── name: :A
- ├── @ SingletonClassNode (location: (13...27))
+ ├── @ SingletonClassNode (location: (4,0)-(5,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (13...18) = "class"
- │ ├── operator_loc: (19...21) = "<<"
+ │ ├── class_keyword_loc: (4,0)-(4,5) = "class"
+ │ ├── operator_loc: (4,6)-(4,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (22...23))
+ │ │ @ CallNode (location: (4,9)-(4,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (22...23) = "a"
+ │ │ ├── message_loc: (4,9)-(4,10) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,16 +30,16 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── body: ∅
- │ └── end_keyword_loc: (24...27) = "end"
- ├── @ SingletonClassNode (location: (29...47))
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ ├── @ SingletonClassNode (location: (7,0)-(9,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (29...34) = "class"
- │ ├── operator_loc: (35...37) = "<<"
+ │ ├── class_keyword_loc: (7,0)-(7,5) = "class"
+ │ ├── operator_loc: (7,6)-(7,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (38...39))
+ │ │ @ CallNode (location: (7,9)-(7,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (38...39) = "a"
+ │ │ ├── message_loc: (7,9)-(7,10) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -47,185 +47,185 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── body:
- │ │ @ StatementsNode (location: (42...43))
+ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (42...43))
+ │ │ └── @ CallNode (location: (8,2)-(8,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...43) = "b"
+ │ │ ├── message_loc: (8,2)-(8,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── end_keyword_loc: (44...47) = "end"
- ├── @ ClassNode (location: (49...63))
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ ├── @ ClassNode (location: (11,0)-(12,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (49...54) = "class"
+ │ ├── class_keyword_loc: (11,0)-(11,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (55...59))
+ │ │ @ ConstantPathNode (location: (11,6)-(11,10))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (55...56))
+ │ │ │ @ ConstantReadNode (location: (11,6)-(11,7))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (58...59))
+ │ │ │ @ ConstantReadNode (location: (11,9)-(11,10))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (56...58) = "::"
+ │ │ └── delimiter_loc: (11,7)-(11,9) = "::"
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (60...63) = "end"
+ │ ├── end_keyword_loc: (12,0)-(12,3) = "end"
│ └── name: :B
- ├── @ ClassNode (location: (65...82))
+ ├── @ ClassNode (location: (14,0)-(15,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (65...70) = "class"
+ │ ├── class_keyword_loc: (14,0)-(14,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (71...78))
+ │ │ @ ConstantPathNode (location: (14,6)-(14,13))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (71...75))
+ │ │ │ @ ConstantPathNode (location: (14,6)-(14,10))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (71...72))
+ │ │ │ │ @ ConstantReadNode (location: (14,6)-(14,7))
│ │ │ │ └── name: :A
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (74...75))
+ │ │ │ │ @ ConstantReadNode (location: (14,9)-(14,10))
│ │ │ │ └── name: :B
- │ │ │ └── delimiter_loc: (72...74) = "::"
+ │ │ │ └── delimiter_loc: (14,7)-(14,9) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (77...78))
+ │ │ │ @ ConstantReadNode (location: (14,12)-(14,13))
│ │ │ └── name: :C
- │ │ └── delimiter_loc: (75...77) = "::"
+ │ │ └── delimiter_loc: (14,10)-(14,12) = "::"
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (79...82) = "end"
+ │ ├── end_keyword_loc: (15,0)-(15,3) = "end"
│ └── name: :C
- ├── @ ClassNode (location: (84...99))
+ ├── @ ClassNode (location: (17,0)-(18,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (84...89) = "class"
+ │ ├── class_keyword_loc: (17,0)-(17,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (90...91))
+ │ │ @ ConstantReadNode (location: (17,6)-(17,7))
│ │ └── name: :A
- │ ├── inheritance_operator_loc: (92...93) = "<"
+ │ ├── inheritance_operator_loc: (17,8)-(17,9) = "<"
│ ├── superclass:
- │ │ @ ConstantReadNode (location: (94...95))
+ │ │ @ ConstantReadNode (location: (17,10)-(17,11))
│ │ └── name: :B
│ ├── body: ∅
- │ ├── end_keyword_loc: (96...99) = "end"
+ │ ├── end_keyword_loc: (18,0)-(18,3) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (101...119))
+ ├── @ ClassNode (location: (20,0)-(21,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (101...106) = "class"
+ │ ├── class_keyword_loc: (20,0)-(20,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (107...108))
+ │ │ @ ConstantReadNode (location: (20,6)-(20,7))
│ │ └── name: :A
- │ ├── inheritance_operator_loc: (109...110) = "<"
+ │ ├── inheritance_operator_loc: (20,8)-(20,9) = "<"
│ ├── superclass:
- │ │ @ ConstantPathNode (location: (111...115))
+ │ │ @ ConstantPathNode (location: (20,10)-(20,14))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (111...112))
+ │ │ │ @ ConstantReadNode (location: (20,10)-(20,11))
│ │ │ └── name: :B
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (114...115))
+ │ │ │ @ ConstantReadNode (location: (20,13)-(20,14))
│ │ │ └── name: :C
- │ │ └── delimiter_loc: (112...114) = "::"
+ │ │ └── delimiter_loc: (20,11)-(20,13) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (116...119) = "end"
+ │ ├── end_keyword_loc: (21,0)-(21,3) = "end"
│ └── name: :A
- ├── @ ClassNode (location: (121...142))
+ ├── @ ClassNode (location: (23,0)-(24,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (121...126) = "class"
+ │ ├── class_keyword_loc: (23,0)-(23,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (127...131))
+ │ │ @ ConstantPathNode (location: (23,6)-(23,10))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (127...128))
+ │ │ │ @ ConstantReadNode (location: (23,6)-(23,7))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (130...131))
+ │ │ │ @ ConstantReadNode (location: (23,9)-(23,10))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (128...130) = "::"
- │ ├── inheritance_operator_loc: (132...133) = "<"
+ │ │ └── delimiter_loc: (23,7)-(23,9) = "::"
+ │ ├── inheritance_operator_loc: (23,11)-(23,12) = "<"
│ ├── superclass:
- │ │ @ ConstantPathNode (location: (134...138))
+ │ │ @ ConstantPathNode (location: (23,13)-(23,17))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (134...135))
+ │ │ │ @ ConstantReadNode (location: (23,13)-(23,14))
│ │ │ └── name: :C
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (137...138))
+ │ │ │ @ ConstantReadNode (location: (23,16)-(23,17))
│ │ │ └── name: :D
- │ │ └── delimiter_loc: (135...137) = "::"
+ │ │ └── delimiter_loc: (23,14)-(23,16) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (139...142) = "end"
+ │ ├── end_keyword_loc: (24,0)-(24,3) = "end"
│ └── name: :B
- ├── @ ClassNode (location: (144...198))
+ ├── @ ClassNode (location: (26,0)-(32,3))
│ ├── locals: []
- │ ├── class_keyword_loc: (144...149) = "class"
+ │ ├── class_keyword_loc: (26,0)-(26,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (150...151))
+ │ │ @ ConstantReadNode (location: (26,6)-(26,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (154...194))
+ │ │ @ StatementsNode (location: (27,2)-(31,5))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (154...168))
+ │ │ ├── @ CallNode (location: (27,2)-(27,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (154...161) = "include"
- │ │ │ ├── opening_loc: (161...162) = "("
+ │ │ │ ├── message_loc: (27,2)-(27,9) = "include"
+ │ │ │ ├── opening_loc: (27,9)-(27,10) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (162...167))
+ │ │ │ │ @ ArgumentsNode (location: (27,10)-(27,15))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (162...167))
+ │ │ │ │ └── @ CallNode (location: (27,10)-(27,15))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ ConstantReadNode (location: (162...163))
+ │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11))
│ │ │ │ │ └── name: :B
- │ │ │ │ ├── call_operator_loc: (163...164) = "."
- │ │ │ │ ├── message_loc: (164...167) = "new"
+ │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "."
+ │ │ │ │ ├── message_loc: (27,12)-(27,15) = "new"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "new"
- │ │ │ ├── closing_loc: (167...168) = ")"
+ │ │ │ ├── closing_loc: (27,15)-(27,16) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "include"
- │ │ └── @ DefNode (location: (172...194))
+ │ │ └── @ DefNode (location: (29,2)-(31,5))
│ │ ├── name: :foo
- │ │ ├── name_loc: (176...179) = "foo"
+ │ │ ├── name_loc: (29,6)-(29,9) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (184...188))
+ │ │ │ @ StatementsNode (location: (30,4)-(30,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ SymbolNode (location: (184...188))
- │ │ │ ├── opening_loc: (184...185) = ":"
- │ │ │ ├── value_loc: (185...188) = "bar"
+ │ │ │ └── @ SymbolNode (location: (30,4)-(30,8))
+ │ │ │ ├── opening_loc: (30,4)-(30,5) = ":"
+ │ │ │ ├── value_loc: (30,5)-(30,8) = "bar"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "bar"
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (172...175) = "def"
+ │ │ ├── def_keyword_loc: (29,2)-(29,5) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (191...194) = "end"
- │ ├── end_keyword_loc: (195...198) = "end"
+ │ │ └── end_keyword_loc: (31,2)-(31,5) = "end"
+ │ ├── end_keyword_loc: (32,0)-(32,3) = "end"
│ └── name: :A
- └── @ ClassNode (location: (200...213))
+ └── @ ClassNode (location: (34,0)-(35,3))
├── locals: []
- ├── class_keyword_loc: (200...205) = "class"
+ ├── class_keyword_loc: (34,0)-(34,5) = "class"
├── constant_path:
- │ @ ConstantPathNode (location: (206...209))
+ │ @ ConstantPathNode (location: (34,6)-(34,9))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (208...209))
+ │ │ @ ConstantReadNode (location: (34,8)-(34,9))
│ │ └── name: :A
- │ └── delimiter_loc: (206...208) = "::"
+ │ └── delimiter_loc: (34,6)-(34,8) = "::"
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body: ∅
- ├── end_keyword_loc: (210...213) = "end"
+ ├── end_keyword_loc: (35,0)-(35,3) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/unparser/corpus/literal/control.txt b/test/yarp/snapshots/unparser/corpus/literal/control.txt
index c2d7af61fd..7ab821e051 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/control.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/control.txt
@@ -1,129 +1,129 @@
-@ ProgramNode (location: (0...144))
+@ ProgramNode (location: (1,0)-(15,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...144))
+ @ StatementsNode (location: (1,0)-(15,3))
└── body: (length: 11)
- ├── @ NextNode (location: (0...4))
+ ├── @ NextNode (location: (1,0)-(1,4))
│ ├── arguments: ∅
- │ └── keyword_loc: (0...4) = "next"
- ├── @ ReturnNode (location: (5...11))
- │ ├── keyword_loc: (5...11) = "return"
+ │ └── keyword_loc: (1,0)-(1,4) = "next"
+ ├── @ ReturnNode (location: (2,0)-(2,6))
+ │ ├── keyword_loc: (2,0)-(2,6) = "return"
│ └── arguments: ∅
- ├── @ BreakNode (location: (12...17))
+ ├── @ BreakNode (location: (3,0)-(3,5))
│ ├── arguments: ∅
- │ └── keyword_loc: (12...17) = "break"
- ├── @ RetryNode (location: (18...23))
- ├── @ RedoNode (location: (24...28))
- ├── @ ReturnNode (location: (29...37))
- │ ├── keyword_loc: (29...35) = "return"
+ │ └── keyword_loc: (3,0)-(3,5) = "break"
+ ├── @ RetryNode (location: (4,0)-(4,5))
+ ├── @ RedoNode (location: (5,0)-(5,4))
+ ├── @ ReturnNode (location: (6,0)-(6,8))
+ │ ├── keyword_loc: (6,0)-(6,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (36...37))
+ │ @ ArgumentsNode (location: (6,7)-(6,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (36...37))
+ │ └── @ IntegerNode (location: (6,7)-(6,8))
│ └── flags: decimal
- ├── @ ReturnNode (location: (38...49))
- │ ├── keyword_loc: (38...44) = "return"
+ ├── @ ReturnNode (location: (7,0)-(7,11))
+ │ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (45...49))
+ │ @ ArgumentsNode (location: (7,7)-(7,11))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (45...46))
+ │ ├── @ IntegerNode (location: (7,7)-(7,8))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (48...49))
+ │ └── @ IntegerNode (location: (7,10)-(7,11))
│ └── flags: decimal
- ├── @ ReturnNode (location: (50...69))
- │ ├── keyword_loc: (50...56) = "return"
+ ├── @ ReturnNode (location: (8,0)-(8,19))
+ │ ├── keyword_loc: (8,0)-(8,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (57...69))
+ │ @ ArgumentsNode (location: (8,7)-(8,19))
│ └── arguments: (length: 1)
- │ └── @ IfNode (location: (57...69))
+ │ └── @ IfNode (location: (8,7)-(8,19))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (57...61))
+ │ │ @ TrueNode (location: (8,7)-(8,11))
│ ├── statements:
- │ │ @ StatementsNode (location: (64...65))
+ │ │ @ StatementsNode (location: (8,14)-(8,15))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (64...65))
+ │ │ └── @ IntegerNode (location: (8,14)-(8,15))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (66...69))
- │ │ ├── else_keyword_loc: (66...67) = ":"
+ │ │ @ ElseNode (location: (8,16)-(8,19))
+ │ │ ├── else_keyword_loc: (8,16)-(8,17) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (68...69))
+ │ │ │ @ StatementsNode (location: (8,18)-(8,19))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (68...69))
+ │ │ │ └── @ IntegerNode (location: (8,18)-(8,19))
│ │ │ └── flags: decimal
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ BreakNode (location: (70...88))
+ ├── @ BreakNode (location: (9,0)-(9,18))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (76...88))
+ │ │ @ ArgumentsNode (location: (9,6)-(9,18))
│ │ └── arguments: (length: 1)
- │ │ └── @ IfNode (location: (76...88))
+ │ │ └── @ IfNode (location: (9,6)-(9,18))
│ │ ├── if_keyword_loc: ∅
│ │ ├── predicate:
- │ │ │ @ TrueNode (location: (76...80))
+ │ │ │ @ TrueNode (location: (9,6)-(9,10))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (83...84))
+ │ │ │ @ StatementsNode (location: (9,13)-(9,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (83...84))
+ │ │ │ └── @ IntegerNode (location: (9,13)-(9,14))
│ │ │ └── flags: decimal
│ │ ├── consequent:
- │ │ │ @ ElseNode (location: (85...88))
- │ │ │ ├── else_keyword_loc: (85...86) = ":"
+ │ │ │ @ ElseNode (location: (9,15)-(9,18))
+ │ │ │ ├── else_keyword_loc: (9,15)-(9,16) = ":"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (87...88))
+ │ │ │ │ @ StatementsNode (location: (9,17)-(9,18))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (87...88))
+ │ │ │ │ └── @ IntegerNode (location: (9,17)-(9,18))
│ │ │ │ └── flags: decimal
│ │ │ └── end_keyword_loc: ∅
│ │ └── end_keyword_loc: ∅
- │ └── keyword_loc: (70...75) = "break"
- ├── @ NextNode (location: (89...106))
+ │ └── keyword_loc: (9,0)-(9,5) = "break"
+ ├── @ NextNode (location: (10,0)-(10,17))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (94...106))
+ │ │ @ ArgumentsNode (location: (10,5)-(10,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ IfNode (location: (94...106))
+ │ │ └── @ IfNode (location: (10,5)-(10,17))
│ │ ├── if_keyword_loc: ∅
│ │ ├── predicate:
- │ │ │ @ TrueNode (location: (94...98))
+ │ │ │ @ TrueNode (location: (10,5)-(10,9))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (101...102))
+ │ │ │ @ StatementsNode (location: (10,12)-(10,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (101...102))
+ │ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
│ │ │ └── flags: decimal
│ │ ├── consequent:
- │ │ │ @ ElseNode (location: (103...106))
- │ │ │ ├── else_keyword_loc: (103...104) = ":"
+ │ │ │ @ ElseNode (location: (10,14)-(10,17))
+ │ │ │ ├── else_keyword_loc: (10,14)-(10,15) = ":"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (105...106))
+ │ │ │ │ @ StatementsNode (location: (10,16)-(10,17))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (105...106))
+ │ │ │ │ └── @ IntegerNode (location: (10,16)-(10,17))
│ │ │ │ └── flags: decimal
│ │ │ └── end_keyword_loc: ∅
│ │ └── end_keyword_loc: ∅
- │ └── keyword_loc: (89...93) = "next"
- └── @ ReturnNode (location: (107...144))
- ├── keyword_loc: (107...113) = "return"
+ │ └── keyword_loc: (10,0)-(10,4) = "next"
+ └── @ ReturnNode (location: (11,0)-(15,3))
+ ├── keyword_loc: (11,0)-(11,6) = "return"
└── arguments:
- @ ArgumentsNode (location: (114...144))
+ @ ArgumentsNode (location: (11,7)-(15,3))
└── arguments: (length: 2)
- ├── @ TrueNode (location: (114...118))
- └── @ IfNode (location: (120...144))
- ├── if_keyword_loc: (120...122) = "if"
+ ├── @ TrueNode (location: (11,7)-(11,11))
+ └── @ IfNode (location: (11,13)-(15,3))
+ ├── if_keyword_loc: (11,13)-(11,15) = "if"
├── predicate:
- │ @ TrueNode (location: (123...127))
+ │ @ TrueNode (location: (11,16)-(11,20))
├── statements:
- │ @ StatementsNode (location: (130...131))
+ │ @ StatementsNode (location: (12,2)-(12,3))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (130...131))
+ │ └── @ IntegerNode (location: (12,2)-(12,3))
│ └── flags: decimal
├── consequent:
- │ @ ElseNode (location: (132...144))
- │ ├── else_keyword_loc: (132...136) = "else"
+ │ @ ElseNode (location: (13,0)-(15,3))
+ │ ├── else_keyword_loc: (13,0)-(13,4) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (139...140))
+ │ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (139...140))
+ │ │ └── @ IntegerNode (location: (14,2)-(14,3))
│ │ └── flags: decimal
- │ └── end_keyword_loc: (141...144) = "end"
- └── end_keyword_loc: (141...144) = "end"
+ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ └── end_keyword_loc: (15,0)-(15,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/def.txt b/test/yarp/snapshots/unparser/corpus/literal/def.txt
index 16c4dffb6c..421c45fd9b 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/def.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/def.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...913))
+@ ProgramNode (location: (1,0)-(134,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...913))
+ @ StatementsNode (location: (1,0)-(134,3))
└── body: (length: 30)
- ├── @ DefNode (location: (0...46))
+ ├── @ DefNode (location: (1,0)-(9,3))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (10...46))
+ │ │ @ BeginNode (location: (2,2)-(9,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (10...11))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (10...11))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...11) = "a"
+ │ │ │ ├── message_loc: (2,2)-(2,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -25,18 +25,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (12...22))
- │ │ │ ├── keyword_loc: (12...18) = "rescue"
+ │ │ │ @ RescueNode (location: (3,0)-(4,3))
+ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (21...22))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (21...22))
+ │ │ │ │ └── @ CallNode (location: (4,2)-(4,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (21...22) = "b"
+ │ │ │ │ ├── message_loc: (4,2)-(4,3) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -45,76 +45,76 @@
│ │ │ │ └── name: "b"
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (23...38))
- │ │ │ ├── else_keyword_loc: (23...27) = "else"
+ │ │ │ @ ElseNode (location: (5,0)-(7,6))
+ │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (30...31))
+ │ │ │ │ @ StatementsNode (location: (6,2)-(6,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (30...31))
+ │ │ │ │ └── @ CallNode (location: (6,2)-(6,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (30...31) = "c"
+ │ │ │ │ ├── message_loc: (6,2)-(6,3) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
- │ │ │ └── end_keyword_loc: (32...38) = "ensure"
+ │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (32...46))
- │ │ │ ├── ensure_keyword_loc: (32...38) = "ensure"
+ │ │ │ @ EnsureNode (location: (7,0)-(9,3))
+ │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (41...42))
+ │ │ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (41...42))
+ │ │ │ │ └── @ CallNode (location: (8,2)-(8,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (41...42) = "d"
+ │ │ │ │ ├── message_loc: (8,2)-(8,3) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "d"
- │ │ │ └── end_keyword_loc: (43...46) = "end"
- │ │ └── end_keyword_loc: (43...46) = "end"
+ │ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (43...46) = "end"
- ├── @ DefNode (location: (48...103))
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ ├── @ DefNode (location: (11,0)-(19,3))
│ ├── name: :foo
- │ ├── name_loc: (52...55) = "foo"
+ │ ├── name_loc: (11,4)-(11,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (58...103))
+ │ │ @ BeginNode (location: (12,2)-(19,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (58...68))
+ │ │ │ @ StatementsNode (location: (12,2)-(12,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (58...68))
+ │ │ │ └── @ RescueModifierNode (location: (12,2)-(12,12))
│ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (58...59))
+ │ │ │ │ @ CallNode (location: (12,2)-(12,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (58...59) = "a"
+ │ │ │ │ ├── message_loc: (12,2)-(12,3) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
- │ │ │ ├── keyword_loc: (60...66) = "rescue"
+ │ │ │ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ CallNode (location: (67...68))
+ │ │ │ @ CallNode (location: (12,11)-(12,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (67...68) = "b"
+ │ │ │ ├── message_loc: (12,11)-(12,12) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -122,18 +122,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (69...79))
- │ │ │ ├── keyword_loc: (69...75) = "rescue"
+ │ │ │ @ RescueNode (location: (13,0)-(14,3))
+ │ │ │ ├── keyword_loc: (13,0)-(13,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (78...79))
+ │ │ │ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (78...79))
+ │ │ │ │ └── @ CallNode (location: (14,2)-(14,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (78...79) = "b"
+ │ │ │ │ ├── message_loc: (14,2)-(14,3) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -142,101 +142,101 @@
│ │ │ │ └── name: "b"
│ │ │ └── consequent: ∅
│ │ ├── else_clause:
- │ │ │ @ ElseNode (location: (80...95))
- │ │ │ ├── else_keyword_loc: (80...84) = "else"
+ │ │ │ @ ElseNode (location: (15,0)-(17,6))
+ │ │ │ ├── else_keyword_loc: (15,0)-(15,4) = "else"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (87...88))
+ │ │ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (87...88))
+ │ │ │ │ └── @ CallNode (location: (16,2)-(16,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (87...88) = "c"
+ │ │ │ │ ├── message_loc: (16,2)-(16,3) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
- │ │ │ └── end_keyword_loc: (89...95) = "ensure"
+ │ │ │ └── end_keyword_loc: (17,0)-(17,6) = "ensure"
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (89...103))
- │ │ │ ├── ensure_keyword_loc: (89...95) = "ensure"
+ │ │ │ @ EnsureNode (location: (17,0)-(19,3))
+ │ │ │ ├── ensure_keyword_loc: (17,0)-(17,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (98...99))
+ │ │ │ │ @ StatementsNode (location: (18,2)-(18,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (98...99))
+ │ │ │ │ └── @ CallNode (location: (18,2)-(18,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (98...99) = "d"
+ │ │ │ │ ├── message_loc: (18,2)-(18,3) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "d"
- │ │ │ └── end_keyword_loc: (100...103) = "end"
- │ │ └── end_keyword_loc: (100...103) = "end"
+ │ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (48...51) = "def"
+ │ ├── def_keyword_loc: (11,0)-(11,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (100...103) = "end"
- ├── @ DefNode (location: (105...128))
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ DefNode (location: (21,0)-(22,3))
│ ├── name: :foo
- │ ├── name_loc: (109...112) = "foo"
+ │ ├── name_loc: (21,4)-(21,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (113...123))
+ │ │ @ ParametersNode (location: (21,8)-(21,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (113...117))
+ │ │ │ ├── @ KeywordParameterNode (location: (21,8)-(21,12))
│ │ │ │ ├── name: :bar
- │ │ │ │ ├── name_loc: (113...117) = "bar:"
+ │ │ │ │ ├── name_loc: (21,8)-(21,12) = "bar:"
│ │ │ │ └── value: ∅
- │ │ │ └── @ KeywordParameterNode (location: (119...123))
+ │ │ │ └── @ KeywordParameterNode (location: (21,14)-(21,18))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (119...123) = "baz:"
+ │ │ │ ├── name_loc: (21,14)-(21,18) = "baz:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (105...108) = "def"
+ │ ├── def_keyword_loc: (21,0)-(21,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (112...113) = "("
- │ ├── rparen_loc: (123...124) = ")"
+ │ ├── lparen_loc: (21,7)-(21,8) = "("
+ │ ├── rparen_loc: (21,18)-(21,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (125...128) = "end"
- ├── @ DefNode (location: (130...141))
+ │ └── end_keyword_loc: (22,0)-(22,3) = "end"
+ ├── @ DefNode (location: (24,0)-(25,3))
│ ├── name: :foo
- │ ├── name_loc: (134...137) = "foo"
+ │ ├── name_loc: (24,4)-(24,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (130...133) = "def"
+ │ ├── def_keyword_loc: (24,0)-(24,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (138...141) = "end"
- ├── @ DefNode (location: (143...160))
+ │ └── end_keyword_loc: (25,0)-(25,3) = "end"
+ ├── @ DefNode (location: (27,0)-(29,3))
│ ├── name: :foo
- │ ├── name_loc: (147...150) = "foo"
+ │ ├── name_loc: (27,4)-(27,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (153...156))
+ │ │ @ StatementsNode (location: (28,2)-(28,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (153...156))
+ │ │ └── @ CallNode (location: (28,2)-(28,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (153...156) = "bar"
+ │ │ ├── message_loc: (28,2)-(28,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -244,27 +244,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (143...146) = "def"
+ │ ├── def_keyword_loc: (27,0)-(27,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (157...160) = "end"
- ├── @ DefNode (location: (162...205))
+ │ └── end_keyword_loc: (29,0)-(29,3) = "end"
+ ├── @ DefNode (location: (31,0)-(37,3))
│ ├── name: :foo
- │ ├── name_loc: (166...169) = "foo"
+ │ ├── name_loc: (31,4)-(31,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (172...205))
+ │ │ @ BeginNode (location: (32,2)-(37,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (172...175))
+ │ │ │ @ StatementsNode (location: (32,2)-(32,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (172...175))
+ │ │ │ └── @ CallNode (location: (32,2)-(32,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (172...175) = "foo"
+ │ │ │ ├── message_loc: (32,2)-(32,5) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -272,18 +272,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (176...188))
- │ │ │ ├── keyword_loc: (176...182) = "rescue"
+ │ │ │ @ RescueNode (location: (33,0)-(34,5))
+ │ │ │ ├── keyword_loc: (33,0)-(33,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (185...188))
+ │ │ │ │ @ StatementsNode (location: (34,2)-(34,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (185...188))
+ │ │ │ │ └── @ CallNode (location: (34,2)-(34,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (185...188) = "bar"
+ │ │ │ │ ├── message_loc: (34,2)-(34,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -293,45 +293,45 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (189...205))
- │ │ │ ├── ensure_keyword_loc: (189...195) = "ensure"
+ │ │ │ @ EnsureNode (location: (35,0)-(37,3))
+ │ │ │ ├── ensure_keyword_loc: (35,0)-(35,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (198...201))
+ │ │ │ │ @ StatementsNode (location: (36,2)-(36,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (198...201))
+ │ │ │ │ └── @ CallNode (location: (36,2)-(36,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (198...201) = "baz"
+ │ │ │ │ ├── message_loc: (36,2)-(36,5) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
- │ │ │ └── end_keyword_loc: (202...205) = "end"
- │ │ └── end_keyword_loc: (202...205) = "end"
+ │ │ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
+ │ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (162...165) = "def"
+ │ ├── def_keyword_loc: (31,0)-(31,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (202...205) = "end"
- ├── @ DefNode (location: (207...237))
+ │ └── end_keyword_loc: (37,0)-(37,3) = "end"
+ ├── @ DefNode (location: (39,0)-(43,3))
│ ├── name: :foo
- │ ├── name_loc: (211...214) = "foo"
+ │ ├── name_loc: (39,4)-(39,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (217...237))
+ │ │ @ BeginNode (location: (40,2)-(43,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (217...220))
+ │ │ │ @ StatementsNode (location: (40,2)-(40,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (217...220))
+ │ │ │ └── @ CallNode (location: (40,2)-(40,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (217...220) = "bar"
+ │ │ │ ├── message_loc: (40,2)-(40,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -341,45 +341,45 @@
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause:
- │ │ │ @ EnsureNode (location: (221...237))
- │ │ │ ├── ensure_keyword_loc: (221...227) = "ensure"
+ │ │ │ @ EnsureNode (location: (41,0)-(43,3))
+ │ │ │ ├── ensure_keyword_loc: (41,0)-(41,6) = "ensure"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (230...233))
+ │ │ │ │ @ StatementsNode (location: (42,2)-(42,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (230...233))
+ │ │ │ │ └── @ CallNode (location: (42,2)-(42,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (230...233) = "baz"
+ │ │ │ │ ├── message_loc: (42,2)-(42,5) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
- │ │ │ └── end_keyword_loc: (234...237) = "end"
- │ │ └── end_keyword_loc: (234...237) = "end"
+ │ │ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
+ │ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (207...210) = "def"
+ │ ├── def_keyword_loc: (39,0)-(39,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (234...237) = "end"
- ├── @ DefNode (location: (239...269))
+ │ └── end_keyword_loc: (43,0)-(43,3) = "end"
+ ├── @ DefNode (location: (45,0)-(49,3))
│ ├── name: :foo
- │ ├── name_loc: (243...246) = "foo"
+ │ ├── name_loc: (45,4)-(45,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (249...269))
+ │ │ @ BeginNode (location: (46,2)-(49,3))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (249...252))
+ │ │ │ @ StatementsNode (location: (46,2)-(46,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (249...252))
+ │ │ │ └── @ CallNode (location: (46,2)-(46,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (249...252) = "bar"
+ │ │ │ ├── message_loc: (46,2)-(46,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -387,18 +387,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (253...265))
- │ │ │ ├── keyword_loc: (253...259) = "rescue"
+ │ │ │ @ RescueNode (location: (47,0)-(48,5))
+ │ │ │ ├── keyword_loc: (47,0)-(47,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (262...265))
+ │ │ │ │ @ StatementsNode (location: (48,2)-(48,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (262...265))
+ │ │ │ │ └── @ CallNode (location: (48,2)-(48,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (262...265) = "baz"
+ │ │ │ │ ├── message_loc: (48,2)-(48,5) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -408,22 +408,22 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (266...269) = "end"
+ │ │ └── end_keyword_loc: (49,0)-(49,3) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (239...242) = "def"
+ │ ├── def_keyword_loc: (45,0)-(45,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (266...269) = "end"
- ├── @ DefNode (location: (271...293))
+ │ └── end_keyword_loc: (49,0)-(49,3) = "end"
+ ├── @ DefNode (location: (51,0)-(53,3))
│ ├── name: :foo
- │ ├── name_loc: (275...278) = "foo"
+ │ ├── name_loc: (51,4)-(51,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (279...282))
+ │ │ @ ParametersNode (location: (51,8)-(51,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (279...282))
+ │ │ │ └── @ RequiredParameterNode (location: (51,8)-(51,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -432,28 +432,28 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (286...289))
+ │ │ @ StatementsNode (location: (52,2)-(52,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (286...289))
+ │ │ └── @ LocalVariableReadNode (location: (52,2)-(52,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (271...274) = "def"
+ │ ├── def_keyword_loc: (51,0)-(51,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (278...279) = "("
- │ ├── rparen_loc: (282...283) = ")"
+ │ ├── lparen_loc: (51,7)-(51,8) = "("
+ │ ├── rparen_loc: (51,11)-(51,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (290...293) = "end"
- ├── @ DefNode (location: (295...322))
+ │ └── end_keyword_loc: (53,0)-(53,3) = "end"
+ ├── @ DefNode (location: (55,0)-(57,3))
│ ├── name: :foo
- │ ├── name_loc: (299...302) = "foo"
+ │ ├── name_loc: (55,4)-(55,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (303...311))
+ │ │ @ ParametersNode (location: (55,8)-(55,16))
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ RequiredParameterNode (location: (303...306))
+ │ │ │ ├── @ RequiredParameterNode (location: (55,8)-(55,11))
│ │ │ │ └── name: :bar
- │ │ │ └── @ RequiredParameterNode (location: (308...311))
+ │ │ │ └── @ RequiredParameterNode (location: (55,13)-(55,16))
│ │ │ └── name: :baz
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -462,83 +462,83 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (315...318))
+ │ │ @ StatementsNode (location: (56,2)-(56,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (315...318))
+ │ │ └── @ LocalVariableReadNode (location: (56,2)-(56,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (295...298) = "def"
+ │ ├── def_keyword_loc: (55,0)-(55,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (302...303) = "("
- │ ├── rparen_loc: (311...312) = ")"
+ │ ├── lparen_loc: (55,7)-(55,8) = "("
+ │ ├── rparen_loc: (55,16)-(55,17) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (319...322) = "end"
- ├── @ DefNode (location: (324...351))
+ │ └── end_keyword_loc: (57,0)-(57,3) = "end"
+ ├── @ DefNode (location: (59,0)-(61,3))
│ ├── name: :foo
- │ ├── name_loc: (328...331) = "foo"
+ │ ├── name_loc: (59,4)-(59,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (332...340))
+ │ │ @ ParametersNode (location: (59,8)-(59,16))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (332...340))
+ │ │ │ └── @ OptionalParameterNode (location: (59,8)-(59,16))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (332...335) = "bar"
- │ │ │ ├── operator_loc: (336...337) = "="
+ │ │ │ ├── name_loc: (59,8)-(59,11) = "bar"
+ │ │ │ ├── operator_loc: (59,12)-(59,13) = "="
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (338...340))
+ │ │ │ @ ParenthesesNode (location: (59,14)-(59,16))
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (338...339) = "("
- │ │ │ └── closing_loc: (339...340) = ")"
+ │ │ │ ├── opening_loc: (59,14)-(59,15) = "("
+ │ │ │ └── closing_loc: (59,15)-(59,16) = ")"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (344...347))
+ │ │ @ StatementsNode (location: (60,2)-(60,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (344...347))
+ │ │ └── @ LocalVariableReadNode (location: (60,2)-(60,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (324...327) = "def"
+ │ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (331...332) = "("
- │ ├── rparen_loc: (340...341) = ")"
+ │ ├── lparen_loc: (59,7)-(59,8) = "("
+ │ ├── rparen_loc: (59,16)-(59,17) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (348...351) = "end"
- ├── @ DefNode (location: (353...382))
+ │ └── end_keyword_loc: (61,0)-(61,3) = "end"
+ ├── @ DefNode (location: (63,0)-(64,3))
│ ├── name: :foo
- │ ├── name_loc: (357...360) = "foo"
+ │ ├── name_loc: (63,4)-(63,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (361...377))
+ │ │ @ ParametersNode (location: (63,8)-(63,24))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (361...377))
+ │ │ │ └── @ OptionalParameterNode (location: (63,8)-(63,24))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (361...364) = "bar"
- │ │ │ ├── operator_loc: (365...366) = "="
+ │ │ │ ├── name_loc: (63,8)-(63,11) = "bar"
+ │ │ │ ├── operator_loc: (63,12)-(63,13) = "="
│ │ │ └── value:
- │ │ │ @ ParenthesesNode (location: (367...377))
+ │ │ │ @ ParenthesesNode (location: (63,14)-(63,24))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (368...376))
+ │ │ │ │ @ StatementsNode (location: (63,15)-(63,23))
│ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ CallNode (location: (368...371))
+ │ │ │ │ ├── @ CallNode (location: (63,15)-(63,18))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (368...371) = "baz"
+ │ │ │ │ │ ├── message_loc: (63,15)-(63,18) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "baz"
- │ │ │ │ └── @ NilNode (location: (373...376))
- │ │ │ ├── opening_loc: (367...368) = "("
- │ │ │ └── closing_loc: (376...377) = ")"
+ │ │ │ │ └── @ NilNode (location: (63,20)-(63,23))
+ │ │ │ ├── opening_loc: (63,14)-(63,15) = "("
+ │ │ │ └── closing_loc: (63,23)-(63,24) = ")"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
@@ -546,124 +546,124 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (353...356) = "def"
+ │ ├── def_keyword_loc: (63,0)-(63,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (360...361) = "("
- │ ├── rparen_loc: (377...378) = ")"
+ │ ├── lparen_loc: (63,7)-(63,8) = "("
+ │ ├── rparen_loc: (63,24)-(63,25) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (379...382) = "end"
- ├── @ DefNode (location: (384...413))
+ │ └── end_keyword_loc: (64,0)-(64,3) = "end"
+ ├── @ DefNode (location: (66,0)-(68,3))
│ ├── name: :foo
- │ ├── name_loc: (388...391) = "foo"
+ │ ├── name_loc: (66,4)-(66,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (392...402))
+ │ │ @ ParametersNode (location: (66,8)-(66,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (392...402))
+ │ │ │ └── @ OptionalParameterNode (location: (66,8)-(66,18))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (392...395) = "bar"
- │ │ │ ├── operator_loc: (396...397) = "="
+ │ │ │ ├── name_loc: (66,8)-(66,11) = "bar"
+ │ │ │ ├── operator_loc: (66,12)-(66,13) = "="
│ │ │ └── value:
- │ │ │ @ TrueNode (location: (398...402))
+ │ │ │ @ TrueNode (location: (66,14)-(66,18))
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (406...409))
+ │ │ @ StatementsNode (location: (67,2)-(67,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (406...409))
+ │ │ └── @ LocalVariableReadNode (location: (67,2)-(67,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (384...387) = "def"
+ │ ├── def_keyword_loc: (66,0)-(66,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (391...392) = "("
- │ ├── rparen_loc: (402...403) = ")"
+ │ ├── lparen_loc: (66,7)-(66,8) = "("
+ │ ├── rparen_loc: (66,18)-(66,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (410...413) = "end"
- ├── @ DefNode (location: (415...449))
+ │ └── end_keyword_loc: (68,0)-(68,3) = "end"
+ ├── @ DefNode (location: (70,0)-(72,3))
│ ├── name: :foo
- │ ├── name_loc: (419...422) = "foo"
+ │ ├── name_loc: (70,4)-(70,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (423...438))
+ │ │ @ ParametersNode (location: (70,8)-(70,23))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (423...426))
+ │ │ │ └── @ RequiredParameterNode (location: (70,8)-(70,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (428...438))
+ │ │ │ └── @ OptionalParameterNode (location: (70,13)-(70,23))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (428...431) = "baz"
- │ │ │ ├── operator_loc: (432...433) = "="
+ │ │ │ ├── name_loc: (70,13)-(70,16) = "baz"
+ │ │ │ ├── operator_loc: (70,17)-(70,18) = "="
│ │ │ └── value:
- │ │ │ @ TrueNode (location: (434...438))
+ │ │ │ @ TrueNode (location: (70,19)-(70,23))
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (442...445))
+ │ │ @ StatementsNode (location: (71,2)-(71,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (442...445))
+ │ │ └── @ LocalVariableReadNode (location: (71,2)-(71,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (415...418) = "def"
+ │ ├── def_keyword_loc: (70,0)-(70,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (422...423) = "("
- │ ├── rparen_loc: (438...439) = ")"
+ │ ├── lparen_loc: (70,7)-(70,8) = "("
+ │ ├── rparen_loc: (70,23)-(70,24) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (446...449) = "end"
- ├── @ DefNode (location: (451...470))
+ │ └── end_keyword_loc: (72,0)-(72,3) = "end"
+ ├── @ DefNode (location: (74,0)-(75,3))
│ ├── name: :foo
- │ ├── name_loc: (455...458) = "foo"
+ │ ├── name_loc: (74,4)-(74,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (459...465))
+ │ │ @ ParametersNode (location: (74,8)-(74,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (459...465))
+ │ │ │ └── @ KeywordParameterNode (location: (74,8)-(74,14))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (459...463) = "bar:"
+ │ │ │ ├── name_loc: (74,8)-(74,12) = "bar:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (464...465))
+ │ │ │ @ IntegerNode (location: (74,13)-(74,14))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (451...454) = "def"
+ │ ├── def_keyword_loc: (74,0)-(74,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (458...459) = "("
- │ ├── rparen_loc: (465...466) = ")"
+ │ ├── lparen_loc: (74,7)-(74,8) = "("
+ │ ├── rparen_loc: (74,14)-(74,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (467...470) = "end"
- ├── @ DefNode (location: (472...493))
+ │ └── end_keyword_loc: (75,0)-(75,3) = "end"
+ ├── @ DefNode (location: (77,0)-(78,3))
│ ├── name: :foo
- │ ├── name_loc: (476...479) = "foo"
+ │ ├── name_loc: (77,4)-(77,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (480...488))
+ │ │ @ ParametersNode (location: (77,8)-(77,16))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (480...488))
+ │ │ │ └── @ KeywordParameterNode (location: (77,8)-(77,16))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (480...484) = "bar:"
+ │ │ │ ├── name_loc: (77,8)-(77,12) = "bar:"
│ │ │ └── value:
- │ │ │ @ CallNode (location: (485...488))
+ │ │ │ @ CallNode (location: (77,13)-(77,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (485...488) = "baz"
+ │ │ │ ├── message_loc: (77,13)-(77,16) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -674,34 +674,34 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (472...475) = "def"
+ │ ├── def_keyword_loc: (77,0)-(77,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (479...480) = "("
- │ ├── rparen_loc: (488...489) = ")"
+ │ ├── lparen_loc: (77,7)-(77,8) = "("
+ │ ├── rparen_loc: (77,16)-(77,17) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (490...493) = "end"
- ├── @ DefNode (location: (495...518))
+ │ └── end_keyword_loc: (78,0)-(78,3) = "end"
+ ├── @ DefNode (location: (80,0)-(81,3))
│ ├── name: :foo
- │ ├── name_loc: (499...502) = "foo"
+ │ ├── name_loc: (80,4)-(80,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (503...513))
+ │ │ @ ParametersNode (location: (80,8)-(80,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (503...513))
+ │ │ │ └── @ KeywordParameterNode (location: (80,8)-(80,18))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (503...507) = "bar:"
+ │ │ │ ├── name_loc: (80,8)-(80,12) = "bar:"
│ │ │ └── value:
- │ │ │ @ CallNode (location: (508...513))
+ │ │ │ @ CallNode (location: (80,13)-(80,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (508...511) = "bar"
- │ │ │ ├── opening_loc: (511...512) = "("
+ │ │ │ ├── message_loc: (80,13)-(80,16) = "bar"
+ │ │ │ ├── opening_loc: (80,16)-(80,17) = "("
│ │ │ ├── arguments: ∅
- │ │ │ ├── closing_loc: (512...513) = ")"
+ │ │ │ ├── closing_loc: (80,17)-(80,18) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
@@ -709,36 +709,36 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (495...498) = "def"
+ │ ├── def_keyword_loc: (80,0)-(80,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (502...503) = "("
- │ ├── rparen_loc: (513...514) = ")"
+ │ ├── lparen_loc: (80,7)-(80,8) = "("
+ │ ├── rparen_loc: (80,18)-(80,19) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (515...518) = "end"
- ├── @ DefNode (location: (520...540))
+ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ ├── @ DefNode (location: (83,0)-(85,3))
│ ├── name: :foo
- │ ├── name_loc: (524...527) = "foo"
+ │ ├── name_loc: (83,4)-(83,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (528...529))
+ │ │ @ ParametersNode (location: (83,8)-(83,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (528...529))
+ │ │ │ @ RestParameterNode (location: (83,8)-(83,9))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (528...529) = "*"
+ │ │ │ └── operator_loc: (83,8)-(83,9) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (533...536))
+ │ │ @ StatementsNode (location: (84,2)-(84,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (533...536))
+ │ │ └── @ CallNode (location: (84,2)-(84,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (533...536) = "bar"
+ │ │ ├── message_loc: (84,2)-(84,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -746,104 +746,104 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: [:*]
- │ ├── def_keyword_loc: (520...523) = "def"
+ │ ├── def_keyword_loc: (83,0)-(83,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (527...528) = "("
- │ ├── rparen_loc: (529...530) = ")"
+ │ ├── lparen_loc: (83,7)-(83,8) = "("
+ │ ├── rparen_loc: (83,9)-(83,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (537...540) = "end"
- ├── @ DefNode (location: (542...565))
+ │ └── end_keyword_loc: (85,0)-(85,3) = "end"
+ ├── @ DefNode (location: (87,0)-(89,3))
│ ├── name: :foo
- │ ├── name_loc: (546...549) = "foo"
+ │ ├── name_loc: (87,4)-(87,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (550...554))
+ │ │ @ ParametersNode (location: (87,8)-(87,12))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (550...554))
+ │ │ │ @ RestParameterNode (location: (87,8)-(87,12))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (551...554) = "bar"
- │ │ │ └── operator_loc: (550...551) = "*"
+ │ │ │ ├── name_loc: (87,9)-(87,12) = "bar"
+ │ │ │ └── operator_loc: (87,8)-(87,9) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (558...561))
+ │ │ @ StatementsNode (location: (88,2)-(88,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (558...561))
+ │ │ └── @ LocalVariableReadNode (location: (88,2)-(88,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar]
- │ ├── def_keyword_loc: (542...545) = "def"
+ │ ├── def_keyword_loc: (87,0)-(87,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (549...550) = "("
- │ ├── rparen_loc: (554...555) = ")"
+ │ ├── lparen_loc: (87,7)-(87,8) = "("
+ │ ├── rparen_loc: (87,12)-(87,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (562...565) = "end"
- ├── @ DefNode (location: (567...595))
+ │ └── end_keyword_loc: (89,0)-(89,3) = "end"
+ ├── @ DefNode (location: (91,0)-(93,3))
│ ├── name: :foo
- │ ├── name_loc: (571...574) = "foo"
+ │ ├── name_loc: (91,4)-(91,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (575...584))
+ │ │ @ ParametersNode (location: (91,8)-(91,17))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (575...578))
+ │ │ │ └── @ RequiredParameterNode (location: (91,8)-(91,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (580...584))
+ │ │ │ @ RestParameterNode (location: (91,13)-(91,17))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (581...584) = "baz"
- │ │ │ └── operator_loc: (580...581) = "*"
+ │ │ │ ├── name_loc: (91,14)-(91,17) = "baz"
+ │ │ │ └── operator_loc: (91,13)-(91,14) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (588...591))
+ │ │ @ StatementsNode (location: (92,2)-(92,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (588...591))
+ │ │ └── @ LocalVariableReadNode (location: (92,2)-(92,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (567...570) = "def"
+ │ ├── def_keyword_loc: (91,0)-(91,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (574...575) = "("
- │ ├── rparen_loc: (584...585) = ")"
+ │ ├── lparen_loc: (91,7)-(91,8) = "("
+ │ ├── rparen_loc: (91,17)-(91,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (592...595) = "end"
- ├── @ DefNode (location: (597...632))
+ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ ├── @ DefNode (location: (95,0)-(97,3))
│ ├── name: :foo
- │ ├── name_loc: (601...604) = "foo"
+ │ ├── name_loc: (95,4)-(95,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (605...621))
+ │ │ @ ParametersNode (location: (95,8)-(95,24))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (605...615))
+ │ │ │ └── @ OptionalParameterNode (location: (95,8)-(95,18))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (605...608) = "baz"
- │ │ │ ├── operator_loc: (609...610) = "="
+ │ │ │ ├── name_loc: (95,8)-(95,11) = "baz"
+ │ │ │ ├── operator_loc: (95,12)-(95,13) = "="
│ │ │ └── value:
- │ │ │ @ TrueNode (location: (611...615))
+ │ │ │ @ TrueNode (location: (95,14)-(95,18))
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (617...621))
+ │ │ │ @ RestParameterNode (location: (95,20)-(95,24))
│ │ │ ├── name: :bor
- │ │ │ ├── name_loc: (618...621) = "bor"
- │ │ │ └── operator_loc: (617...618) = "*"
+ │ │ │ ├── name_loc: (95,21)-(95,24) = "bor"
+ │ │ │ └── operator_loc: (95,20)-(95,21) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (625...628))
+ │ │ @ StatementsNode (location: (96,2)-(96,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (625...628))
+ │ │ └── @ CallNode (location: (96,2)-(96,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (625...628) = "bar"
+ │ │ ├── message_loc: (96,2)-(96,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -851,46 +851,46 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: [:baz, :bor]
- │ ├── def_keyword_loc: (597...600) = "def"
+ │ ├── def_keyword_loc: (95,0)-(95,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (604...605) = "("
- │ ├── rparen_loc: (621...622) = ")"
+ │ ├── lparen_loc: (95,7)-(95,8) = "("
+ │ ├── rparen_loc: (95,24)-(95,25) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (629...632) = "end"
- ├── @ DefNode (location: (634...677))
+ │ └── end_keyword_loc: (97,0)-(97,3) = "end"
+ ├── @ DefNode (location: (99,0)-(101,3))
│ ├── name: :foo
- │ ├── name_loc: (638...641) = "foo"
+ │ ├── name_loc: (99,4)-(99,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (642...666))
+ │ │ @ ParametersNode (location: (99,8)-(99,32))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (642...652))
+ │ │ │ └── @ OptionalParameterNode (location: (99,8)-(99,18))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (642...645) = "baz"
- │ │ │ ├── operator_loc: (646...647) = "="
+ │ │ │ ├── name_loc: (99,8)-(99,11) = "baz"
+ │ │ │ ├── operator_loc: (99,12)-(99,13) = "="
│ │ │ └── value:
- │ │ │ @ TrueNode (location: (648...652))
+ │ │ │ @ TrueNode (location: (99,14)-(99,18))
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (654...658))
+ │ │ │ @ RestParameterNode (location: (99,20)-(99,24))
│ │ │ ├── name: :bor
- │ │ │ ├── name_loc: (655...658) = "bor"
- │ │ │ └── operator_loc: (654...655) = "*"
+ │ │ │ ├── name_loc: (99,21)-(99,24) = "bor"
+ │ │ │ └── operator_loc: (99,20)-(99,21) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (660...666))
+ │ │ @ BlockParameterNode (location: (99,26)-(99,32))
│ │ ├── name: :block
- │ │ ├── name_loc: (661...666) = "block"
- │ │ └── operator_loc: (660...661) = "&"
+ │ │ ├── name_loc: (99,27)-(99,32) = "block"
+ │ │ └── operator_loc: (99,26)-(99,27) = "&"
│ ├── body:
- │ │ @ StatementsNode (location: (670...673))
+ │ │ @ StatementsNode (location: (100,2)-(100,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (670...673))
+ │ │ └── @ CallNode (location: (100,2)-(100,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (670...673) = "bar"
+ │ │ ├── message_loc: (100,2)-(100,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -898,56 +898,56 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: [:baz, :bor, :block]
- │ ├── def_keyword_loc: (634...637) = "def"
+ │ ├── def_keyword_loc: (99,0)-(99,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (641...642) = "("
- │ ├── rparen_loc: (666...667) = ")"
+ │ ├── lparen_loc: (99,7)-(99,8) = "("
+ │ ├── rparen_loc: (99,32)-(99,33) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (674...677) = "end"
- ├── @ DefNode (location: (679...719))
+ │ └── end_keyword_loc: (101,0)-(101,3) = "end"
+ ├── @ DefNode (location: (103,0)-(105,3))
│ ├── name: :foo
- │ ├── name_loc: (683...686) = "foo"
+ │ ├── name_loc: (103,4)-(103,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (687...708))
+ │ │ @ ParametersNode (location: (103,8)-(103,29))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (687...690))
+ │ │ │ └── @ RequiredParameterNode (location: (103,8)-(103,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (692...702))
+ │ │ │ └── @ OptionalParameterNode (location: (103,13)-(103,23))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (692...695) = "baz"
- │ │ │ ├── operator_loc: (696...697) = "="
+ │ │ │ ├── name_loc: (103,13)-(103,16) = "baz"
+ │ │ │ ├── operator_loc: (103,17)-(103,18) = "="
│ │ │ └── value:
- │ │ │ @ TrueNode (location: (698...702))
+ │ │ │ @ TrueNode (location: (103,19)-(103,23))
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (704...708))
+ │ │ │ @ RestParameterNode (location: (103,25)-(103,29))
│ │ │ ├── name: :bor
- │ │ │ ├── name_loc: (705...708) = "bor"
- │ │ │ └── operator_loc: (704...705) = "*"
+ │ │ │ ├── name_loc: (103,26)-(103,29) = "bor"
+ │ │ │ └── operator_loc: (103,25)-(103,26) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (712...715))
+ │ │ @ StatementsNode (location: (104,2)-(104,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (712...715))
+ │ │ └── @ LocalVariableReadNode (location: (104,2)-(104,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar, :baz, :bor]
- │ ├── def_keyword_loc: (679...682) = "def"
+ │ ├── def_keyword_loc: (103,0)-(103,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (686...687) = "("
- │ ├── rparen_loc: (708...709) = ")"
+ │ ├── lparen_loc: (103,7)-(103,8) = "("
+ │ ├── rparen_loc: (103,29)-(103,30) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (716...719) = "end"
- ├── @ DefNode (location: (721...746))
+ │ └── end_keyword_loc: (105,0)-(105,3) = "end"
+ ├── @ DefNode (location: (107,0)-(109,3))
│ ├── name: :foo
- │ ├── name_loc: (725...728) = "foo"
+ │ ├── name_loc: (107,4)-(107,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (729...735))
+ │ │ @ ParametersNode (location: (107,8)-(107,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -955,17 +955,17 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (729...735))
+ │ │ @ BlockParameterNode (location: (107,8)-(107,14))
│ │ ├── name: :block
- │ │ ├── name_loc: (730...735) = "block"
- │ │ └── operator_loc: (729...730) = "&"
+ │ │ ├── name_loc: (107,9)-(107,14) = "block"
+ │ │ └── operator_loc: (107,8)-(107,9) = "&"
│ ├── body:
- │ │ @ StatementsNode (location: (739...742))
+ │ │ @ StatementsNode (location: (108,2)-(108,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (739...742))
+ │ │ └── @ CallNode (location: (108,2)-(108,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (739...742) = "bar"
+ │ │ ├── message_loc: (108,2)-(108,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -973,20 +973,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: [:block]
- │ ├── def_keyword_loc: (721...724) = "def"
+ │ ├── def_keyword_loc: (107,0)-(107,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (728...729) = "("
- │ ├── rparen_loc: (735...736) = ")"
+ │ ├── lparen_loc: (107,7)-(107,8) = "("
+ │ ├── rparen_loc: (107,14)-(107,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (743...746) = "end"
- ├── @ DefNode (location: (748...778))
+ │ └── end_keyword_loc: (109,0)-(109,3) = "end"
+ ├── @ DefNode (location: (111,0)-(113,3))
│ ├── name: :foo
- │ ├── name_loc: (752...755) = "foo"
+ │ ├── name_loc: (111,4)-(111,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (756...767))
+ │ │ @ ParametersNode (location: (111,8)-(111,19))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (756...759))
+ │ │ │ └── @ RequiredParameterNode (location: (111,8)-(111,11))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -994,45 +994,45 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (761...767))
+ │ │ @ BlockParameterNode (location: (111,13)-(111,19))
│ │ ├── name: :block
- │ │ ├── name_loc: (762...767) = "block"
- │ │ └── operator_loc: (761...762) = "&"
+ │ │ ├── name_loc: (111,14)-(111,19) = "block"
+ │ │ └── operator_loc: (111,13)-(111,14) = "&"
│ ├── body:
- │ │ @ StatementsNode (location: (771...774))
+ │ │ @ StatementsNode (location: (112,2)-(112,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (771...774))
+ │ │ └── @ LocalVariableReadNode (location: (112,2)-(112,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── locals: [:bar, :block]
- │ ├── def_keyword_loc: (748...751) = "def"
+ │ ├── def_keyword_loc: (111,0)-(111,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (755...756) = "("
- │ ├── rparen_loc: (767...768) = ")"
+ │ ├── lparen_loc: (111,7)-(111,8) = "("
+ │ ├── rparen_loc: (111,19)-(111,20) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (775...778) = "end"
- ├── @ DefNode (location: (780...803))
+ │ └── end_keyword_loc: (113,0)-(113,3) = "end"
+ ├── @ DefNode (location: (115,0)-(118,3))
│ ├── name: :foo
- │ ├── name_loc: (784...787) = "foo"
+ │ ├── name_loc: (115,4)-(115,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (790...799))
+ │ │ @ StatementsNode (location: (116,2)-(117,5))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (790...793))
+ │ │ ├── @ CallNode (location: (116,2)-(116,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (790...793) = "bar"
+ │ │ │ ├── message_loc: (116,2)-(116,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ CallNode (location: (796...799))
+ │ │ └── @ CallNode (location: (117,2)-(117,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (796...799) = "baz"
+ │ │ ├── message_loc: (117,2)-(117,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1040,29 +1040,29 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── locals: []
- │ ├── def_keyword_loc: (780...783) = "def"
+ │ ├── def_keyword_loc: (115,0)-(115,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (800...803) = "end"
- ├── @ DefNode (location: (805...821))
+ │ └── end_keyword_loc: (118,0)-(118,3) = "end"
+ ├── @ DefNode (location: (120,0)-(121,3))
│ ├── name: :f
- │ ├── name_loc: (809...810) = "f"
+ │ ├── name_loc: (120,4)-(120,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (811...816))
+ │ │ @ ParametersNode (location: (120,6)-(120,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (811...816))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (120,6)-(120,11))
│ │ │ ├── parameters: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (812...815))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (120,7)-(120,10))
│ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (813...814))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (120,8)-(120,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── opening_loc: (812...813) = "("
- │ │ │ │ └── closing_loc: (814...815) = ")"
- │ │ │ ├── opening_loc: (811...812) = "("
- │ │ │ └── closing_loc: (815...816) = ")"
+ │ │ │ │ ├── opening_loc: (120,7)-(120,8) = "("
+ │ │ │ │ └── closing_loc: (120,9)-(120,10) = ")"
+ │ │ │ ├── opening_loc: (120,6)-(120,7) = "("
+ │ │ │ └── closing_loc: (120,10)-(120,11) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -1071,100 +1071,100 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (805...808) = "def"
+ │ ├── def_keyword_loc: (120,0)-(120,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (810...811) = "("
- │ ├── rparen_loc: (816...817) = ")"
+ │ ├── lparen_loc: (120,5)-(120,6) = "("
+ │ ├── rparen_loc: (120,11)-(120,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (818...821) = "end"
- ├── @ DefNode (location: (823...854))
+ │ └── end_keyword_loc: (121,0)-(121,3) = "end"
+ ├── @ DefNode (location: (123,0)-(124,3))
│ ├── name: :foo
- │ ├── name_loc: (827...830) = "foo"
+ │ ├── name_loc: (123,4)-(123,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (831...849))
+ │ │ @ ParametersNode (location: (123,8)-(123,26))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (831...835))
+ │ │ │ ├── @ KeywordParameterNode (location: (123,8)-(123,12))
│ │ │ │ ├── name: :bar
- │ │ │ │ ├── name_loc: (831...835) = "bar:"
+ │ │ │ │ ├── name_loc: (123,8)-(123,12) = "bar:"
│ │ │ │ └── value: ∅
- │ │ │ └── @ KeywordParameterNode (location: (837...849))
+ │ │ │ └── @ KeywordParameterNode (location: (123,14)-(123,26))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (837...841) = "baz:"
+ │ │ │ ├── name_loc: (123,14)-(123,18) = "baz:"
│ │ │ └── value:
- │ │ │ @ StringNode (location: (842...849))
+ │ │ │ @ StringNode (location: (123,19)-(123,26))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (842...843) = "\""
- │ │ │ ├── content_loc: (843...848) = "value"
- │ │ │ ├── closing_loc: (848...849) = "\""
+ │ │ │ ├── opening_loc: (123,19)-(123,20) = "\""
+ │ │ │ ├── content_loc: (123,20)-(123,25) = "value"
+ │ │ │ ├── closing_loc: (123,25)-(123,26) = "\""
│ │ │ └── unescaped: "value"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:bar, :baz]
- │ ├── def_keyword_loc: (823...826) = "def"
+ │ ├── def_keyword_loc: (123,0)-(123,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (830...831) = "("
- │ ├── rparen_loc: (849...850) = ")"
+ │ ├── lparen_loc: (123,7)-(123,8) = "("
+ │ ├── rparen_loc: (123,26)-(123,27) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (851...854) = "end"
- ├── @ DefNode (location: (856...896))
+ │ └── end_keyword_loc: (124,0)-(124,3) = "end"
+ ├── @ DefNode (location: (126,0)-(130,3))
│ ├── name: :f
- │ ├── name_loc: (860...861) = "f"
+ │ ├── name_loc: (126,4)-(126,5) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (864...874))
+ │ │ @ StatementsNode (location: (127,2)-(127,12))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (864...874))
- │ │ ├── opening_loc: (864...874) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (127,2)-(127,12))
+ │ │ ├── opening_loc: (127,2)-(127,12) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (875...879))
+ │ │ │ ├── @ StringNode (location: (128,0)-(128,4))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (875...879) = " "
+ │ │ │ │ ├── content_loc: (128,0)-(128,4) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (879...882))
- │ │ │ │ ├── opening_loc: (879...881) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (128,4)-(128,7))
+ │ │ │ │ ├── opening_loc: (128,4)-(128,6) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (881...882) = "}"
- │ │ │ └── @ StringNode (location: (882...883))
+ │ │ │ │ └── closing_loc: (128,6)-(128,7) = "}"
+ │ │ │ └── @ StringNode (location: (128,7)-(128,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (882...883) = "\n"
+ │ │ │ ├── content_loc: (128,7)-(128,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (883...893) = " HEREDOC\n"
+ │ │ └── closing_loc: (129,0)-(129,0) = " HEREDOC\n"
│ ├── locals: []
- │ ├── def_keyword_loc: (856...859) = "def"
+ │ ├── def_keyword_loc: (126,0)-(126,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (893...896) = "end"
- └── @ DefNode (location: (898...913))
+ │ └── end_keyword_loc: (130,0)-(130,3) = "end"
+ └── @ DefNode (location: (132,0)-(134,3))
├── name: :f
- ├── name_loc: (902...903) = "f"
+ ├── name_loc: (132,4)-(132,5) = "f"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (906...909))
+ │ @ StatementsNode (location: (133,2)-(133,5))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (906...909))
+ │ └── @ StringNode (location: (133,2)-(133,5))
│ ├── flags: ∅
- │ ├── opening_loc: (906...908) = "%("
- │ ├── content_loc: (908...908) = ""
- │ ├── closing_loc: (908...909) = ")"
+ │ ├── opening_loc: (133,2)-(133,4) = "%("
+ │ ├── content_loc: (133,4)-(133,4) = ""
+ │ ├── closing_loc: (133,4)-(133,5) = ")"
│ └── unescaped: ""
├── locals: []
- ├── def_keyword_loc: (898...901) = "def"
+ ├── def_keyword_loc: (132,0)-(132,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (910...913) = "end"
+ └── end_keyword_loc: (134,0)-(134,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/defined.txt b/test/yarp/snapshots/unparser/corpus/literal/defined.txt
index 1c802f4888..ffa9bfbba8 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/defined.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/defined.txt
@@ -1,50 +1,50 @@
-@ ProgramNode (location: (0...56))
+@ ProgramNode (location: (1,0)-(3,27))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...56))
+ @ StatementsNode (location: (1,0)-(3,27))
└── body: (length: 3)
- ├── @ DefinedNode (location: (0...14))
- │ ├── lparen_loc: (8...9) = "("
+ ├── @ DefinedNode (location: (1,0)-(1,14))
+ │ ├── lparen_loc: (1,8)-(1,9) = "("
│ ├── value:
- │ │ @ InstanceVariableReadNode (location: (9...13))
+ │ │ @ InstanceVariableReadNode (location: (1,9)-(1,13))
│ │ └── name: :@foo
- │ ├── rparen_loc: (13...14) = ")"
- │ └── keyword_loc: (0...8) = "defined?"
- ├── @ DefinedNode (location: (15...28))
- │ ├── lparen_loc: (23...24) = "("
+ │ ├── rparen_loc: (1,13)-(1,14) = ")"
+ │ └── keyword_loc: (1,0)-(1,8) = "defined?"
+ ├── @ DefinedNode (location: (2,0)-(2,13))
+ │ ├── lparen_loc: (2,8)-(2,9) = "("
│ ├── value:
- │ │ @ ConstantReadNode (location: (24...27))
+ │ │ @ ConstantReadNode (location: (2,9)-(2,12))
│ │ └── name: :Foo
- │ ├── rparen_loc: (27...28) = ")"
- │ └── keyword_loc: (15...23) = "defined?"
- └── @ DefinedNode (location: (29...56))
- ├── lparen_loc: (37...38) = "("
+ │ ├── rparen_loc: (2,12)-(2,13) = ")"
+ │ └── keyword_loc: (2,0)-(2,8) = "defined?"
+ └── @ DefinedNode (location: (3,0)-(3,27))
+ ├── lparen_loc: (3,8)-(3,9) = "("
├── value:
- │ @ ParenthesesNode (location: (38...55))
+ │ @ ParenthesesNode (location: (3,9)-(3,26))
│ ├── body:
- │ │ @ StatementsNode (location: (39...54))
+ │ │ @ StatementsNode (location: (3,10)-(3,25))
│ │ └── body: (length: 1)
- │ │ └── @ MultiWriteNode (location: (39...54))
+ │ │ └── @ MultiWriteNode (location: (3,10)-(3,25))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (40...41))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (3,11)-(3,12))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (43...44))
+ │ │ │ └── @ LocalVariableTargetNode (location: (3,14)-(3,15))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ ├── lparen_loc: (39...40) = "("
- │ │ ├── rparen_loc: (44...45) = ")"
- │ │ ├── operator_loc: (46...47) = "="
+ │ │ ├── lparen_loc: (3,10)-(3,11) = "("
+ │ │ ├── rparen_loc: (3,15)-(3,16) = ")"
+ │ │ ├── operator_loc: (3,17)-(3,18) = "="
│ │ └── value:
- │ │ @ ArrayNode (location: (48...54))
+ │ │ @ ArrayNode (location: (3,19)-(3,25))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (49...50))
+ │ │ │ ├── @ IntegerNode (location: (3,20)-(3,21))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (52...53))
+ │ │ │ └── @ IntegerNode (location: (3,23)-(3,24))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (48...49) = "["
- │ │ └── closing_loc: (53...54) = "]"
- │ ├── opening_loc: (38...39) = "("
- │ └── closing_loc: (54...55) = ")"
- ├── rparen_loc: (55...56) = ")"
- └── keyword_loc: (29...37) = "defined?"
+ │ │ ├── opening_loc: (3,19)-(3,20) = "["
+ │ │ └── closing_loc: (3,24)-(3,25) = "]"
+ │ ├── opening_loc: (3,9)-(3,10) = "("
+ │ └── closing_loc: (3,25)-(3,26) = ")"
+ ├── rparen_loc: (3,26)-(3,27) = ")"
+ └── keyword_loc: (3,0)-(3,8) = "defined?"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/defs.txt b/test/yarp/snapshots/unparser/corpus/literal/defs.txt
index 0ee8232887..a035c84066 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/defs.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/defs.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...266))
+@ ProgramNode (location: (1,0)-(40,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...266))
+ @ StatementsNode (location: (1,0)-(40,3))
└── body: (length: 10)
- ├── @ DefNode (location: (0...16))
+ ├── @ DefNode (location: (1,0)-(2,3))
│ ├── name: :foo
- │ ├── name_loc: (9...12) = "foo"
+ │ ├── name_loc: (1,9)-(1,12) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (4...8))
+ │ │ @ SelfNode (location: (1,4)-(1,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
- │ ├── operator_loc: (8...9) = "."
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ │ ├── operator_loc: (1,8)-(1,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- ├── @ DefNode (location: (18...40))
+ │ └── end_keyword_loc: (2,0)-(2,3) = "end"
+ ├── @ DefNode (location: (4,0)-(6,3))
│ ├── name: :foo
- │ ├── name_loc: (27...30) = "foo"
+ │ ├── name_loc: (4,9)-(4,12) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (22...26))
+ │ │ @ SelfNode (location: (4,4)-(4,8))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (33...36))
+ │ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (33...36))
+ │ │ └── @ CallNode (location: (5,2)-(5,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (33...36) = "bar"
+ │ │ ├── message_loc: (5,2)-(5,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -37,35 +37,35 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (18...21) = "def"
- │ ├── operator_loc: (26...27) = "."
+ │ ├── def_keyword_loc: (4,0)-(4,3) = "def"
+ │ ├── operator_loc: (4,8)-(4,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (37...40) = "end"
- ├── @ DefNode (location: (42...70))
+ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ ├── @ DefNode (location: (8,0)-(11,3))
│ ├── name: :foo
- │ ├── name_loc: (51...54) = "foo"
+ │ ├── name_loc: (8,9)-(8,12) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (46...50))
+ │ │ @ SelfNode (location: (8,4)-(8,8))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (57...66))
+ │ │ @ StatementsNode (location: (9,2)-(10,5))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (57...60))
+ │ │ ├── @ CallNode (location: (9,2)-(9,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (57...60) = "bar"
+ │ │ │ ├── message_loc: (9,2)-(9,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ CallNode (location: (63...66))
+ │ │ └── @ CallNode (location: (10,2)-(10,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (63...66) = "baz"
+ │ │ ├── message_loc: (10,2)-(10,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -73,26 +73,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── locals: []
- │ ├── def_keyword_loc: (42...45) = "def"
- │ ├── operator_loc: (50...51) = "."
+ │ ├── def_keyword_loc: (8,0)-(8,3) = "def"
+ │ ├── operator_loc: (8,8)-(8,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (67...70) = "end"
- ├── @ DefNode (location: (72...93))
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ DefNode (location: (13,0)-(15,3))
│ ├── name: :bar
- │ ├── name_loc: (80...83) = "bar"
+ │ ├── name_loc: (13,8)-(13,11) = "bar"
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (76...79))
+ │ │ @ ConstantReadNode (location: (13,4)-(13,7))
│ │ └── name: :Foo
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (86...89))
+ │ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (86...89))
+ │ │ └── @ CallNode (location: (14,2)-(14,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (86...89) = "bar"
+ │ │ ├── message_loc: (14,2)-(14,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -100,34 +100,34 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (72...75) = "def"
- │ ├── operator_loc: (79...80) = "."
+ │ ├── def_keyword_loc: (13,0)-(13,3) = "def"
+ │ ├── operator_loc: (13,7)-(13,8) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (90...93) = "end"
- ├── @ DefNode (location: (95...128))
+ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ ├── @ DefNode (location: (17,0)-(20,3))
│ ├── name: :bar
- │ ├── name_loc: (115...118) = "bar"
+ │ ├── name_loc: (18,3)-(18,6) = "bar"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (99...114))
+ │ │ @ ParenthesesNode (location: (17,4)-(18,2))
│ │ ├── body:
- │ │ │ @ CallNode (location: (100...113))
+ │ │ │ @ CallNode (location: (17,5)-(18,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (100...103) = "foo"
+ │ │ │ ├── message_loc: (17,5)-(17,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (104...113))
+ │ │ │ │ @ BlockNode (location: (17,9)-(18,1))
│ │ │ │ ├── locals: [:bar]
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ BlockParametersNode (location: (106...111))
+ │ │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16))
│ │ │ │ │ ├── parameters:
- │ │ │ │ │ │ @ ParametersNode (location: (107...110))
+ │ │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15))
│ │ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (107...110))
+ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15))
│ │ │ │ │ │ │ └── name: :bar
│ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ ├── rest: ∅
@@ -136,23 +136,23 @@
│ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── locals: (length: 0)
- │ │ │ │ │ ├── opening_loc: (106...107) = "|"
- │ │ │ │ │ └── closing_loc: (110...111) = "|"
+ │ │ │ │ │ ├── opening_loc: (17,11)-(17,12) = "|"
+ │ │ │ │ │ └── closing_loc: (17,15)-(17,16) = "|"
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (104...105) = "{"
- │ │ │ │ └── closing_loc: (112...113) = "}"
+ │ │ │ │ ├── opening_loc: (17,9)-(17,10) = "{"
+ │ │ │ │ └── closing_loc: (18,0)-(18,1) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "foo"
- │ │ ├── opening_loc: (99...100) = "("
- │ │ └── closing_loc: (113...114) = ")"
+ │ │ ├── opening_loc: (17,4)-(17,5) = "("
+ │ │ └── closing_loc: (18,1)-(18,2) = ")"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (121...124))
+ │ │ @ StatementsNode (location: (19,2)-(19,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (121...124))
+ │ │ └── @ CallNode (location: (19,2)-(19,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (121...124) = "bar"
+ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -160,42 +160,42 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (95...98) = "def"
- │ ├── operator_loc: (114...115) = "."
+ │ ├── def_keyword_loc: (17,0)-(17,3) = "def"
+ │ ├── operator_loc: (18,2)-(18,3) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (125...128) = "end"
- ├── @ DefNode (location: (130...156))
+ │ └── end_keyword_loc: (20,0)-(20,3) = "end"
+ ├── @ DefNode (location: (22,0)-(24,3))
│ ├── name: :bar
- │ ├── name_loc: (143...146) = "bar"
+ │ ├── name_loc: (22,13)-(22,16) = "bar"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (134...142))
+ │ │ @ ParenthesesNode (location: (22,4)-(22,12))
│ │ ├── body:
- │ │ │ @ CallNode (location: (135...141))
+ │ │ │ @ CallNode (location: (22,5)-(22,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (135...138) = "foo"
- │ │ │ ├── opening_loc: (138...139) = "("
+ │ │ │ ├── message_loc: (22,5)-(22,8) = "foo"
+ │ │ │ ├── opening_loc: (22,8)-(22,9) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (139...140))
+ │ │ │ │ @ ArgumentsNode (location: (22,9)-(22,10))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (139...140))
+ │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10))
│ │ │ │ └── flags: decimal
- │ │ │ ├── closing_loc: (140...141) = ")"
+ │ │ │ ├── closing_loc: (22,10)-(22,11) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "foo"
- │ │ ├── opening_loc: (134...135) = "("
- │ │ └── closing_loc: (141...142) = ")"
+ │ │ ├── opening_loc: (22,4)-(22,5) = "("
+ │ │ └── closing_loc: (22,11)-(22,12) = ")"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (149...152))
+ │ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (149...152))
+ │ │ └── @ CallNode (location: (23,2)-(23,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (149...152) = "bar"
+ │ │ ├── message_loc: (23,2)-(23,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -203,46 +203,46 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (130...133) = "def"
- │ ├── operator_loc: (142...143) = "."
+ │ ├── def_keyword_loc: (22,0)-(22,3) = "def"
+ │ ├── operator_loc: (22,12)-(22,13) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (153...156) = "end"
- ├── @ DefNode (location: (158...190))
+ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ ├── @ DefNode (location: (26,0)-(28,3))
│ ├── name: :bar
- │ ├── name_loc: (177...180) = "bar"
+ │ ├── name_loc: (26,19)-(26,22) = "bar"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (162...176))
+ │ │ @ ParenthesesNode (location: (26,4)-(26,18))
│ │ ├── body:
- │ │ │ @ CallNode (location: (163...175))
+ │ │ │ @ CallNode (location: (26,5)-(26,17))
│ │ │ ├── receiver:
- │ │ │ │ @ ConstantPathNode (location: (163...171))
+ │ │ │ │ @ ConstantPathNode (location: (26,5)-(26,13))
│ │ │ │ ├── parent:
- │ │ │ │ │ @ ConstantReadNode (location: (163...166))
+ │ │ │ │ │ @ ConstantReadNode (location: (26,5)-(26,8))
│ │ │ │ │ └── name: :Foo
│ │ │ │ ├── child:
- │ │ │ │ │ @ ConstantReadNode (location: (168...171))
+ │ │ │ │ │ @ ConstantReadNode (location: (26,10)-(26,13))
│ │ │ │ │ └── name: :Bar
- │ │ │ │ └── delimiter_loc: (166...168) = "::"
- │ │ │ ├── call_operator_loc: (171...172) = "."
- │ │ │ ├── message_loc: (172...175) = "baz"
+ │ │ │ │ └── delimiter_loc: (26,8)-(26,10) = "::"
+ │ │ │ ├── call_operator_loc: (26,13)-(26,14) = "."
+ │ │ │ ├── message_loc: (26,14)-(26,17) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "baz"
- │ │ ├── opening_loc: (162...163) = "("
- │ │ └── closing_loc: (175...176) = ")"
+ │ │ ├── opening_loc: (26,4)-(26,5) = "("
+ │ │ └── closing_loc: (26,17)-(26,18) = ")"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (183...186))
+ │ │ @ StatementsNode (location: (27,2)-(27,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (183...186))
+ │ │ └── @ CallNode (location: (27,2)-(27,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (183...186) = "baz"
+ │ │ ├── message_loc: (27,2)-(27,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -250,36 +250,36 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── locals: []
- │ ├── def_keyword_loc: (158...161) = "def"
- │ ├── operator_loc: (176...177) = "."
+ │ ├── def_keyword_loc: (26,0)-(26,3) = "def"
+ │ ├── operator_loc: (26,18)-(26,19) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (187...190) = "end"
- ├── @ DefNode (location: (192...220))
+ │ └── end_keyword_loc: (28,0)-(28,3) = "end"
+ ├── @ DefNode (location: (30,0)-(32,3))
│ ├── name: :bar
- │ ├── name_loc: (207...210) = "bar"
+ │ ├── name_loc: (30,15)-(30,18) = "bar"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (196...206))
+ │ │ @ ParenthesesNode (location: (30,4)-(30,14))
│ │ ├── body:
- │ │ │ @ ConstantPathNode (location: (197...205))
+ │ │ │ @ ConstantPathNode (location: (30,5)-(30,13))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (197...200))
+ │ │ │ │ @ ConstantReadNode (location: (30,5)-(30,8))
│ │ │ │ └── name: :Foo
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (202...205))
+ │ │ │ │ @ ConstantReadNode (location: (30,10)-(30,13))
│ │ │ │ └── name: :Bar
- │ │ │ └── delimiter_loc: (200...202) = "::"
- │ │ ├── opening_loc: (196...197) = "("
- │ │ └── closing_loc: (205...206) = ")"
+ │ │ │ └── delimiter_loc: (30,8)-(30,10) = "::"
+ │ │ ├── opening_loc: (30,4)-(30,5) = "("
+ │ │ └── closing_loc: (30,13)-(30,14) = ")"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (213...216))
+ │ │ @ StatementsNode (location: (31,2)-(31,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (213...216))
+ │ │ └── @ CallNode (location: (31,2)-(31,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (213...216) = "baz"
+ │ │ ├── message_loc: (31,2)-(31,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -287,26 +287,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── locals: []
- │ ├── def_keyword_loc: (192...195) = "def"
- │ ├── operator_loc: (206...207) = "."
+ │ ├── def_keyword_loc: (30,0)-(30,3) = "def"
+ │ ├── operator_loc: (30,14)-(30,15) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (217...220) = "end"
- ├── @ DefNode (location: (222...243))
+ │ └── end_keyword_loc: (32,0)-(32,3) = "end"
+ ├── @ DefNode (location: (34,0)-(36,3))
│ ├── name: :bar
- │ ├── name_loc: (230...233) = "bar"
+ │ ├── name_loc: (34,8)-(34,11) = "bar"
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (226...229))
+ │ │ @ ConstantReadNode (location: (34,4)-(34,7))
│ │ └── name: :Foo
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (236...239))
+ │ │ @ StatementsNode (location: (35,2)-(35,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (236...239))
+ │ │ └── @ CallNode (location: (35,2)-(35,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (236...239) = "baz"
+ │ │ ├── message_loc: (35,2)-(35,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -314,20 +314,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── locals: []
- │ ├── def_keyword_loc: (222...225) = "def"
- │ ├── operator_loc: (229...230) = "."
+ │ ├── def_keyword_loc: (34,0)-(34,3) = "def"
+ │ ├── operator_loc: (34,7)-(34,8) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (240...243) = "end"
- └── @ DefNode (location: (245...266))
+ │ └── end_keyword_loc: (36,0)-(36,3) = "end"
+ └── @ DefNode (location: (38,0)-(40,3))
├── name: :bar
- ├── name_loc: (253...256) = "bar"
+ ├── name_loc: (38,8)-(38,11) = "bar"
├── receiver:
- │ @ CallNode (location: (249...252))
+ │ @ CallNode (location: (38,4)-(38,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (249...252) = "foo"
+ │ ├── message_loc: (38,4)-(38,7) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -336,12 +336,12 @@
│ └── name: "foo"
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (259...262))
+ │ @ StatementsNode (location: (39,2)-(39,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (259...262))
+ │ └── @ CallNode (location: (39,2)-(39,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (259...262) = "baz"
+ │ ├── message_loc: (39,2)-(39,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -349,9 +349,9 @@
│ ├── flags: variable_call
│ └── name: "baz"
├── locals: []
- ├── def_keyword_loc: (245...248) = "def"
- ├── operator_loc: (252...253) = "."
+ ├── def_keyword_loc: (38,0)-(38,3) = "def"
+ ├── operator_loc: (38,7)-(38,8) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (263...266) = "end"
+ └── end_keyword_loc: (40,0)-(40,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/dstr.txt b/test/yarp/snapshots/unparser/corpus/literal/dstr.txt
index 1414a0cffe..52365b2946 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/dstr.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/dstr.txt
@@ -1,62 +1,62 @@
-@ ProgramNode (location: (0...299))
+@ ProgramNode (location: (1,0)-(37,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...299))
+ @ StatementsNode (location: (1,0)-(37,1))
└── body: (length: 11)
- ├── @ IfNode (location: (0...20))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(3,3))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (3...7))
+ │ │ @ TrueNode (location: (1,3)-(1,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (10...16))
+ │ │ @ StatementsNode (location: (2,2)-(2,8))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (10...16))
- │ │ ├── opening_loc: (10...11) = "\""
+ │ │ └── @ InterpolatedStringNode (location: (2,2)-(2,8))
+ │ │ ├── opening_loc: (2,2)-(2,3) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (11...14))
- │ │ │ │ ├── opening_loc: (11...13) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (2,3)-(2,6))
+ │ │ │ │ ├── opening_loc: (2,3)-(2,5) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (13...14) = "}"
- │ │ │ └── @ StringNode (location: (14...15))
+ │ │ │ │ └── closing_loc: (2,5)-(2,6) = "}"
+ │ │ │ └── @ StringNode (location: (2,6)-(2,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (14...15) = "a"
+ │ │ │ ├── content_loc: (2,6)-(2,7) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── closing_loc: (15...16) = "\""
+ │ │ └── closing_loc: (2,7)-(2,8) = "\""
│ ├── consequent: ∅
- │ └── end_keyword_loc: (17...20) = "end"
- ├── @ IfNode (location: (21...68))
- │ ├── if_keyword_loc: (21...23) = "if"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ IfNode (location: (4,0)-(11,3))
+ │ ├── if_keyword_loc: (4,0)-(4,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (24...28))
+ │ │ @ TrueNode (location: (4,3)-(4,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (31...64))
+ │ │ @ StatementsNode (location: (5,2)-(10,3))
│ │ └── body: (length: 2)
- │ │ ├── @ InterpolatedStringNode (location: (31...41))
- │ │ │ ├── opening_loc: (31...41) = "<<-HEREDOC"
+ │ │ ├── @ InterpolatedStringNode (location: (5,2)-(5,12))
+ │ │ │ ├── opening_loc: (5,2)-(5,12) = "<<-HEREDOC"
│ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (42...44))
+ │ │ │ │ ├── @ StringNode (location: (6,0)-(6,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (42...44) = "a\n"
+ │ │ │ │ │ ├── content_loc: (6,0)-(6,0) = "a\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (44...47))
- │ │ │ │ │ ├── opening_loc: (44...46) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,0)-(7,3))
+ │ │ │ │ │ ├── opening_loc: (7,0)-(7,2) = "\#{"
│ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (46...47) = "}"
- │ │ │ │ └── @ StringNode (location: (47...51))
+ │ │ │ │ │ └── closing_loc: (7,2)-(7,3) = "}"
+ │ │ │ │ └── @ StringNode (location: (7,3)-(8,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (47...51) = "a\nb\n"
+ │ │ │ │ ├── content_loc: (7,3)-(8,0) = "a\nb\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "a\nb\n"
- │ │ │ └── closing_loc: (51...61) = " HEREDOC\n"
- │ │ └── @ CallNode (location: (63...64))
+ │ │ │ └── closing_loc: (9,0)-(9,0) = " HEREDOC\n"
+ │ │ └── @ CallNode (location: (10,2)-(10,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (63...64) = "x"
+ │ │ ├── message_loc: (10,2)-(10,3) = "x"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -64,258 +64,258 @@
│ │ ├── flags: variable_call
│ │ └── name: "x"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (65...68) = "end"
- ├── @ InterpolatedStringNode (location: (69...79))
- │ ├── opening_loc: (69...79) = "<<-HEREDOC"
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ InterpolatedStringNode (location: (12,0)-(12,10))
+ │ ├── opening_loc: (12,0)-(12,10) = "<<-HEREDOC"
│ ├── parts: (length: 7)
- │ │ ├── @ StringNode (location: (80...89))
+ │ │ ├── @ StringNode (location: (13,0)-(13,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (80...89) = "\\\#{}\\\#{}\n"
+ │ │ │ ├── content_loc: (13,0)-(13,0) = "\\\#{}\\\#{}\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\#{}\#{}\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (89...92))
- │ │ │ ├── opening_loc: (89...91) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (14,0)-(14,3))
+ │ │ │ ├── opening_loc: (14,0)-(14,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (91...92) = "}"
- │ │ ├── @ StringNode (location: (92...93))
+ │ │ │ └── closing_loc: (14,2)-(14,3) = "}"
+ │ │ ├── @ StringNode (location: (14,3)-(14,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (92...93) = "\n"
+ │ │ │ ├── content_loc: (14,3)-(14,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (93...96))
- │ │ │ ├── opening_loc: (93...95) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (15,0)-(15,3))
+ │ │ │ ├── opening_loc: (15,0)-(15,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (95...96) = "}"
- │ │ ├── @ StringNode (location: (96...97))
+ │ │ │ └── closing_loc: (15,2)-(15,3) = "}"
+ │ │ ├── @ StringNode (location: (15,3)-(15,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (96...97) = "\n"
+ │ │ │ ├── content_loc: (15,3)-(15,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (97...100))
- │ │ │ ├── opening_loc: (97...99) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (16,0)-(16,3))
+ │ │ │ ├── opening_loc: (16,0)-(16,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (99...100) = "}"
- │ │ └── @ StringNode (location: (100...101))
+ │ │ │ └── closing_loc: (16,2)-(16,3) = "}"
+ │ │ └── @ StringNode (location: (16,3)-(16,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (100...101) = "\n"
+ │ │ ├── content_loc: (16,3)-(16,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (101...109) = "HEREDOC\n"
- ├── @ RescueModifierNode (location: (109...130))
+ │ └── closing_loc: (17,0)-(17,0) = "HEREDOC\n"
+ ├── @ RescueModifierNode (location: (18,0)-(18,21))
│ ├── expression:
- │ │ @ InterpolatedStringNode (location: (109...119))
- │ │ ├── opening_loc: (109...119) = "<<-HEREDOC"
+ │ │ @ InterpolatedStringNode (location: (18,0)-(18,10))
+ │ │ ├── opening_loc: (18,0)-(18,10) = "<<-HEREDOC"
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (131...134))
- │ │ │ │ ├── opening_loc: (131...133) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (19,0)-(19,3))
+ │ │ │ │ ├── opening_loc: (19,0)-(19,2) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (133...134) = "}"
- │ │ │ └── @ StringNode (location: (134...137))
+ │ │ │ │ └── closing_loc: (19,2)-(19,3) = "}"
+ │ │ │ └── @ StringNode (location: (19,3)-(20,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (134...137) = "\na\n"
+ │ │ │ ├── content_loc: (19,3)-(20,0) = "\na\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\na\n"
- │ │ └── closing_loc: (137...145) = "HEREDOC\n"
- │ ├── keyword_loc: (120...126) = "rescue"
+ │ │ └── closing_loc: (21,0)-(21,0) = "HEREDOC\n"
+ │ ├── keyword_loc: (18,11)-(18,17) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (127...130))
- ├── @ InterpolatedStringNode (location: (145...151))
- │ ├── opening_loc: (145...146) = "\""
+ │ @ NilNode (location: (18,18)-(18,21))
+ ├── @ InterpolatedStringNode (location: (22,0)-(22,6))
+ │ ├── opening_loc: (22,0)-(22,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (146...147))
+ │ │ ├── @ StringNode (location: (22,1)-(22,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (146...147) = "a"
+ │ │ │ ├── content_loc: (22,1)-(22,2) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ EmbeddedVariableNode (location: (147...150))
- │ │ ├── operator_loc: (147...148) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (22,2)-(22,5))
+ │ │ ├── operator_loc: (22,2)-(22,3) = "#"
│ │ └── variable:
- │ │ @ NumberedReferenceReadNode (location: (148...150))
+ │ │ @ NumberedReferenceReadNode (location: (22,3)-(22,5))
│ │ └── number: 1
- │ └── closing_loc: (150...151) = "\""
- ├── @ InterpolatedStringNode (location: (152...158))
- │ ├── opening_loc: (152...153) = "\""
+ │ └── closing_loc: (22,5)-(22,6) = "\""
+ ├── @ InterpolatedStringNode (location: (23,0)-(23,6))
+ │ ├── opening_loc: (23,0)-(23,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (153...154))
+ │ │ ├── @ StringNode (location: (23,1)-(23,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (153...154) = "a"
+ │ │ │ ├── content_loc: (23,1)-(23,2) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ EmbeddedVariableNode (location: (154...157))
- │ │ ├── operator_loc: (154...155) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (23,2)-(23,5))
+ │ │ ├── operator_loc: (23,2)-(23,3) = "#"
│ │ └── variable:
- │ │ @ GlobalVariableReadNode (location: (155...157))
+ │ │ @ GlobalVariableReadNode (location: (23,3)-(23,5))
│ │ └── name: :$a
- │ └── closing_loc: (157...158) = "\""
- ├── @ InterpolatedStringNode (location: (159...165))
- │ ├── opening_loc: (159...160) = "\""
+ │ └── closing_loc: (23,5)-(23,6) = "\""
+ ├── @ InterpolatedStringNode (location: (24,0)-(24,6))
+ │ ├── opening_loc: (24,0)-(24,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (160...161))
+ │ │ ├── @ StringNode (location: (24,1)-(24,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (160...161) = "a"
+ │ │ │ ├── content_loc: (24,1)-(24,2) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ EmbeddedVariableNode (location: (161...164))
- │ │ ├── operator_loc: (161...162) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (24,2)-(24,5))
+ │ │ ├── operator_loc: (24,2)-(24,3) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (162...164))
+ │ │ @ InstanceVariableReadNode (location: (24,3)-(24,5))
│ │ └── name: :@a
- │ └── closing_loc: (164...165) = "\""
- ├── @ InterpolatedStringNode (location: (166...173))
- │ ├── opening_loc: (166...167) = "\""
+ │ └── closing_loc: (24,5)-(24,6) = "\""
+ ├── @ InterpolatedStringNode (location: (25,0)-(25,7))
+ │ ├── opening_loc: (25,0)-(25,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (167...168))
+ │ │ ├── @ StringNode (location: (25,1)-(25,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (167...168) = "a"
+ │ │ │ ├── content_loc: (25,1)-(25,2) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ EmbeddedVariableNode (location: (168...172))
- │ │ ├── operator_loc: (168...169) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (25,2)-(25,6))
+ │ │ ├── operator_loc: (25,2)-(25,3) = "#"
│ │ └── variable:
- │ │ @ ClassVariableReadNode (location: (169...172))
+ │ │ @ ClassVariableReadNode (location: (25,3)-(25,6))
│ │ └── name: :@@a
- │ └── closing_loc: (172...173) = "\""
- ├── @ IfNode (location: (174...225))
- │ ├── if_keyword_loc: (174...176) = "if"
+ │ └── closing_loc: (25,6)-(25,7) = "\""
+ ├── @ IfNode (location: (26,0)-(30,3))
+ │ ├── if_keyword_loc: (26,0)-(26,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (177...181))
+ │ │ @ TrueNode (location: (26,3)-(26,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (184...201))
+ │ │ @ StatementsNode (location: (27,2)-(27,19))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (184...201))
- │ │ ├── keyword_loc: (184...190) = "return"
+ │ │ └── @ ReturnNode (location: (27,2)-(27,19))
+ │ │ ├── keyword_loc: (27,2)-(27,8) = "return"
│ │ └── arguments:
- │ │ @ ArgumentsNode (location: (191...201))
+ │ │ @ ArgumentsNode (location: (27,9)-(27,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (191...201))
- │ │ ├── opening_loc: (191...201) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (27,9)-(27,19))
+ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (202...206))
+ │ │ │ ├── @ StringNode (location: (28,0)-(28,4))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (202...206) = " "
+ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (206...211))
- │ │ │ │ ├── opening_loc: (206...208) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9))
+ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (208...210))
+ │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (208...210))
+ │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── closing_loc: (210...211) = "}"
- │ │ │ └── @ StringNode (location: (211...212))
+ │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}"
+ │ │ │ └── @ StringNode (location: (28,9)-(28,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (211...212) = "\n"
+ │ │ │ ├── content_loc: (28,9)-(28,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (212...222) = " HEREDOC\n"
+ │ │ └── closing_loc: (29,0)-(29,0) = " HEREDOC\n"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (222...225) = "end"
- ├── @ CallNode (location: (226...241))
+ │ └── end_keyword_loc: (30,0)-(30,3) = "end"
+ ├── @ CallNode (location: (31,0)-(31,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (226...229) = "foo"
- │ ├── opening_loc: (229...230) = "("
+ │ ├── message_loc: (31,0)-(31,3) = "foo"
+ │ ├── opening_loc: (31,3)-(31,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (230...240))
+ │ │ @ ArgumentsNode (location: (31,4)-(31,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (230...240))
- │ │ ├── opening_loc: (230...240) = "<<-HEREDOC"
+ │ │ └── @ InterpolatedStringNode (location: (31,4)-(31,14))
+ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (242...244))
+ │ │ │ ├── @ StringNode (location: (32,0)-(32,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (242...244) = " "
+ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " "
- │ │ │ ├── @ EmbeddedStatementsNode (location: (244...250))
- │ │ │ │ ├── opening_loc: (244...246) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8))
+ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (246...249))
+ │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (246...249))
+ │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (246...249) = "bar"
+ │ │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ └── closing_loc: (249...250) = "}"
- │ │ │ └── @ StringNode (location: (250...251))
+ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}"
+ │ │ │ └── @ StringNode (location: (32,8)-(32,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (250...251) = "\n"
+ │ │ │ ├── content_loc: (32,8)-(32,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (251...259) = "HEREDOC\n"
- │ ├── closing_loc: (240...241) = ")"
+ │ │ └── closing_loc: (33,0)-(33,0) = "HEREDOC\n"
+ │ ├── closing_loc: (31,14)-(31,15) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- └── @ CallNode (location: (259...299))
+ └── @ CallNode (location: (34,0)-(37,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (259...262) = "foo"
- ├── opening_loc: (262...263) = "("
+ ├── message_loc: (34,0)-(34,3) = "foo"
+ ├── opening_loc: (34,3)-(34,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (263...273))
+ │ @ ArgumentsNode (location: (34,4)-(34,14))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedStringNode (location: (263...273))
- │ ├── opening_loc: (263...273) = "<<-HEREDOC"
+ │ └── @ InterpolatedStringNode (location: (34,4)-(34,14))
+ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (281...283))
+ │ │ ├── @ StringNode (location: (35,0)-(35,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (281...283) = " "
+ │ │ │ ├── content_loc: (35,0)-(35,2) = " "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " "
- │ │ ├── @ EmbeddedStatementsNode (location: (283...289))
- │ │ │ ├── opening_loc: (283...285) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8))
+ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (285...288))
+ │ │ │ │ @ StatementsNode (location: (35,4)-(35,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (285...288))
+ │ │ │ │ └── @ CallNode (location: (35,4)-(35,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (285...288) = "bar"
+ │ │ │ │ ├── message_loc: (35,4)-(35,7) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (288...289) = "}"
- │ │ └── @ StringNode (location: (289...290))
+ │ │ │ └── closing_loc: (35,7)-(35,8) = "}"
+ │ │ └── @ StringNode (location: (35,8)-(35,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (289...290) = "\n"
+ │ │ ├── content_loc: (35,8)-(35,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (290...298) = "HEREDOC\n"
- ├── closing_loc: (273...274) = ")"
+ │ └── closing_loc: (36,0)-(36,0) = "HEREDOC\n"
+ ├── closing_loc: (34,14)-(34,15) = ")"
├── block:
- │ @ BlockNode (location: (275...299))
+ │ @ BlockNode (location: (34,16)-(37,1))
│ ├── locals: [:x]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (277...280))
+ │ │ @ BlockParametersNode (location: (34,18)-(34,21))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (278...279))
+ │ │ │ @ ParametersNode (location: (34,19)-(34,20))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (278...279))
+ │ │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20))
│ │ │ │ └── name: :x
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -324,10 +324,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (277...278) = "|"
- │ │ └── closing_loc: (279...280) = "|"
+ │ │ ├── opening_loc: (34,18)-(34,19) = "|"
+ │ │ └── closing_loc: (34,20)-(34,21) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (275...276) = "{"
- │ └── closing_loc: (298...299) = "}"
+ │ ├── opening_loc: (34,16)-(34,17) = "{"
+ │ └── closing_loc: (37,0)-(37,1) = "}"
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/empty.txt b/test/yarp/snapshots/unparser/corpus/literal/empty.txt
index 81b8a103ea..870bdb6ad5 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/empty.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/empty.txt
@@ -1,5 +1,5 @@
-@ ProgramNode (location: (0...0))
+@ ProgramNode (location: (1,0)-(0,0))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...0))
+ @ StatementsNode (location: (1,0)-(0,0))
└── body: (length: 0)
diff --git a/test/yarp/snapshots/unparser/corpus/literal/empty_begin.txt b/test/yarp/snapshots/unparser/corpus/literal/empty_begin.txt
index a47209cf78..838b4bf6f0 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/empty_begin.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/empty_begin.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ ParenthesesNode (location: (0...2))
+ └── @ ParenthesesNode (location: (1,0)-(1,2))
├── body: ∅
- ├── opening_loc: (0...1) = "("
- └── closing_loc: (1...2) = ")"
+ ├── opening_loc: (1,0)-(1,1) = "("
+ └── closing_loc: (1,1)-(1,2) = ")"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/flipflop.txt b/test/yarp/snapshots/unparser/corpus/literal/flipflop.txt
index 34c36bc59b..48913a9e3f 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/flipflop.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/flipflop.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...68))
+@ ProgramNode (location: (1,0)-(6,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...68))
+ @ StatementsNode (location: (1,0)-(6,3))
└── body: (length: 2)
- ├── @ IfNode (location: (0...33))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(3,3))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ ParenthesesNode (location: (3...23))
+ │ │ @ ParenthesesNode (location: (1,3)-(1,23))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (4...22))
+ │ │ │ @ StatementsNode (location: (1,4)-(1,22))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FlipFlopNode (location: (4...22))
+ │ │ │ └── @ FlipFlopNode (location: (1,4)-(1,22))
│ │ │ ├── left:
- │ │ │ │ @ ParenthesesNode (location: (4...12))
+ │ │ │ │ @ ParenthesesNode (location: (1,4)-(1,12))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (5...11))
+ │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,11))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (5...11))
+ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,11))
│ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ CallNode (location: (5...6))
+ │ │ │ │ │ │ @ CallNode (location: (1,5)-(1,6))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (5...6) = "i"
+ │ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "i"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -29,30 +29,30 @@
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "i"
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (7...9) = "=="
+ │ │ │ │ │ ├── message_loc: (1,7)-(1,9) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (10...11))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (10...11))
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "=="
- │ │ │ │ ├── opening_loc: (4...5) = "("
- │ │ │ │ └── closing_loc: (11...12) = ")"
+ │ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ │ │ ├── right:
- │ │ │ │ @ ParenthesesNode (location: (14...22))
+ │ │ │ │ @ ParenthesesNode (location: (1,14)-(1,22))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (15...21))
+ │ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (15...21))
+ │ │ │ │ │ └── @ CallNode (location: (1,15)-(1,21))
│ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ CallNode (location: (15...16))
+ │ │ │ │ │ │ @ CallNode (location: (1,15)-(1,16))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (15...16) = "i"
+ │ │ │ │ │ │ ├── message_loc: (1,15)-(1,16) = "i"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -60,30 +60,30 @@
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "i"
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (17...19) = "=="
+ │ │ │ │ │ ├── message_loc: (1,17)-(1,19) = "=="
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (20...21))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (1,20)-(1,21))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (20...21))
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "=="
- │ │ │ │ ├── opening_loc: (14...15) = "("
- │ │ │ │ └── closing_loc: (21...22) = ")"
- │ │ │ ├── operator_loc: (12...14) = ".."
+ │ │ │ │ ├── opening_loc: (1,14)-(1,15) = "("
+ │ │ │ │ └── closing_loc: (1,21)-(1,22) = ")"
+ │ │ │ ├── operator_loc: (1,12)-(1,14) = ".."
│ │ │ └── flags: ∅
- │ │ ├── opening_loc: (3...4) = "("
- │ │ └── closing_loc: (22...23) = ")"
+ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ └── closing_loc: (1,22)-(1,23) = ")"
│ ├── statements:
- │ │ @ StatementsNode (location: (26...29))
+ │ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (26...29))
+ │ │ └── @ CallNode (location: (2,2)-(2,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (26...29) = "foo"
+ │ │ ├── message_loc: (2,2)-(2,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -91,26 +91,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (30...33) = "end"
- └── @ IfNode (location: (34...68))
- ├── if_keyword_loc: (34...36) = "if"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ IfNode (location: (4,0)-(6,3))
+ ├── if_keyword_loc: (4,0)-(4,2) = "if"
├── predicate:
- │ @ ParenthesesNode (location: (37...58))
+ │ @ ParenthesesNode (location: (4,3)-(4,24))
│ ├── body:
- │ │ @ StatementsNode (location: (38...57))
+ │ │ @ StatementsNode (location: (4,4)-(4,23))
│ │ └── body: (length: 1)
- │ │ └── @ FlipFlopNode (location: (38...57))
+ │ │ └── @ FlipFlopNode (location: (4,4)-(4,23))
│ │ ├── left:
- │ │ │ @ ParenthesesNode (location: (38...46))
+ │ │ │ @ ParenthesesNode (location: (4,4)-(4,12))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (39...45))
+ │ │ │ │ @ StatementsNode (location: (4,5)-(4,11))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (39...45))
+ │ │ │ │ └── @ CallNode (location: (4,5)-(4,11))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (39...40))
+ │ │ │ │ │ @ CallNode (location: (4,5)-(4,6))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (39...40) = "i"
+ │ │ │ │ │ ├── message_loc: (4,5)-(4,6) = "i"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -118,30 +118,30 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "i"
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (41...43) = "=="
+ │ │ │ │ ├── message_loc: (4,7)-(4,9) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (44...45))
+ │ │ │ │ │ @ ArgumentsNode (location: (4,10)-(4,11))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (44...45))
+ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "=="
- │ │ │ ├── opening_loc: (38...39) = "("
- │ │ │ └── closing_loc: (45...46) = ")"
+ │ │ │ ├── opening_loc: (4,4)-(4,5) = "("
+ │ │ │ └── closing_loc: (4,11)-(4,12) = ")"
│ │ ├── right:
- │ │ │ @ ParenthesesNode (location: (49...57))
+ │ │ │ @ ParenthesesNode (location: (4,15)-(4,23))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (50...56))
+ │ │ │ │ @ StatementsNode (location: (4,16)-(4,22))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (50...56))
+ │ │ │ │ └── @ CallNode (location: (4,16)-(4,22))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ CallNode (location: (50...51))
+ │ │ │ │ │ @ CallNode (location: (4,16)-(4,17))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (50...51) = "i"
+ │ │ │ │ │ ├── message_loc: (4,16)-(4,17) = "i"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -149,30 +149,30 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "i"
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (52...54) = "=="
+ │ │ │ │ ├── message_loc: (4,18)-(4,20) = "=="
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (55...56))
+ │ │ │ │ │ @ ArgumentsNode (location: (4,21)-(4,22))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (55...56))
+ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "=="
- │ │ │ ├── opening_loc: (49...50) = "("
- │ │ │ └── closing_loc: (56...57) = ")"
- │ │ ├── operator_loc: (46...49) = "..."
+ │ │ │ ├── opening_loc: (4,15)-(4,16) = "("
+ │ │ │ └── closing_loc: (4,22)-(4,23) = ")"
+ │ │ ├── operator_loc: (4,12)-(4,15) = "..."
│ │ └── flags: exclude_end
- │ ├── opening_loc: (37...38) = "("
- │ └── closing_loc: (57...58) = ")"
+ │ ├── opening_loc: (4,3)-(4,4) = "("
+ │ └── closing_loc: (4,23)-(4,24) = ")"
├── statements:
- │ @ StatementsNode (location: (61...64))
+ │ @ StatementsNode (location: (5,2)-(5,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (61...64))
+ │ └── @ CallNode (location: (5,2)-(5,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (61...64) = "foo"
+ │ ├── message_loc: (5,2)-(5,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -180,4 +180,4 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── consequent: ∅
- └── end_keyword_loc: (65...68) = "end"
+ └── end_keyword_loc: (6,0)-(6,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/for.txt b/test/yarp/snapshots/unparser/corpus/literal/for.txt
index 62fde3418d..52fb1a4673 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/for.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/for.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...119))
+@ ProgramNode (location: (1,0)-(12,3))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...119))
+ @ StatementsNode (location: (1,0)-(12,3))
└── body: (length: 4)
- ├── @ CallNode (location: (0...30))
+ ├── @ CallNode (location: (1,0)-(3,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "bar"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "bar"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...29))
+ │ │ @ ArgumentsNode (location: (1,4)-(3,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForNode (location: (4...29))
+ │ │ └── @ ForNode (location: (1,4)-(3,3))
│ │ ├── index:
- │ │ │ @ LocalVariableTargetNode (location: (8...9))
+ │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── collection:
- │ │ │ @ CallNode (location: (13...16))
+ │ │ │ @ CallNode (location: (1,13)-(1,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...16) = "bar"
+ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -28,36 +28,36 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (22...25))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (22...25))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (22...25) = "baz"
+ │ │ │ ├── message_loc: (2,2)-(2,5) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ ├── for_keyword_loc: (4...7) = "for"
- │ │ ├── in_keyword_loc: (10...12) = "in"
- │ │ ├── do_keyword_loc: (17...19) = "do"
- │ │ └── end_keyword_loc: (26...29) = "end"
- │ ├── closing_loc: (29...30) = ")"
+ │ │ ├── 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: ∅
│ └── name: "bar"
- ├── @ ForNode (location: (31...56))
+ ├── @ ForNode (location: (4,0)-(6,3))
│ ├── index:
- │ │ @ LocalVariableTargetNode (location: (35...36))
+ │ │ @ LocalVariableTargetNode (location: (4,4)-(4,5))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── collection:
- │ │ @ CallNode (location: (40...43))
+ │ │ @ CallNode (location: (4,9)-(4,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (40...43) = "bar"
+ │ │ ├── message_loc: (4,9)-(4,12) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -65,42 +65,42 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── statements:
- │ │ @ StatementsNode (location: (49...52))
+ │ │ @ StatementsNode (location: (5,2)-(5,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (49...52))
+ │ │ └── @ CallNode (location: (5,2)-(5,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (49...52) = "baz"
+ │ │ ├── message_loc: (5,2)-(5,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── for_keyword_loc: (31...34) = "for"
- │ ├── in_keyword_loc: (37...39) = "in"
- │ ├── do_keyword_loc: (44...46) = "do"
- │ └── end_keyword_loc: (53...56) = "end"
- ├── @ ForNode (location: (57...88))
+ │ ├── for_keyword_loc: (4,0)-(4,3) = "for"
+ │ ├── in_keyword_loc: (4,6)-(4,8) = "in"
+ │ ├── do_keyword_loc: (4,13)-(4,15) = "do"
+ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ ├── @ ForNode (location: (7,0)-(9,3))
│ ├── index:
- │ │ @ MultiTargetNode (location: (61...68))
+ │ │ @ MultiTargetNode (location: (7,4)-(7,11))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (62...63))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (7,5)-(7,6))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ SplatNode (location: (65...67))
- │ │ │ ├── operator_loc: (65...66) = "*"
+ │ │ │ └── @ SplatNode (location: (7,8)-(7,10))
+ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (66...67))
+ │ │ │ @ LocalVariableTargetNode (location: (7,9)-(7,10))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ ├── lparen_loc: (61...62) = "("
- │ │ └── rparen_loc: (67...68) = ")"
+ │ │ ├── lparen_loc: (7,4)-(7,5) = "("
+ │ │ └── rparen_loc: (7,10)-(7,11) = ")"
│ ├── collection:
- │ │ @ CallNode (location: (72...75))
+ │ │ @ CallNode (location: (7,15)-(7,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (72...75) = "bar"
+ │ │ ├── message_loc: (7,15)-(7,18) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -108,39 +108,39 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── statements:
- │ │ @ StatementsNode (location: (81...84))
+ │ │ @ StatementsNode (location: (8,2)-(8,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (81...84))
+ │ │ └── @ CallNode (location: (8,2)-(8,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (81...84) = "baz"
+ │ │ ├── message_loc: (8,2)-(8,5) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── for_keyword_loc: (57...60) = "for"
- │ ├── in_keyword_loc: (69...71) = "in"
- │ ├── do_keyword_loc: (76...78) = "do"
- │ └── end_keyword_loc: (85...88) = "end"
- └── @ ForNode (location: (89...119))
+ │ ├── for_keyword_loc: (7,0)-(7,3) = "for"
+ │ ├── in_keyword_loc: (7,12)-(7,14) = "in"
+ │ ├── do_keyword_loc: (7,19)-(7,21) = "do"
+ │ └── end_keyword_loc: (9,0)-(9,3) = "end"
+ └── @ ForNode (location: (10,0)-(12,3))
├── index:
- │ @ MultiTargetNode (location: (93...99))
+ │ @ MultiTargetNode (location: (10,4)-(10,10))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (94...95))
+ │ │ ├── @ LocalVariableTargetNode (location: (10,5)-(10,6))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (97...98))
+ │ │ └── @ LocalVariableTargetNode (location: (10,8)-(10,9))
│ │ ├── name: :b
│ │ └── depth: 0
- │ ├── lparen_loc: (93...94) = "("
- │ └── rparen_loc: (98...99) = ")"
+ │ ├── lparen_loc: (10,4)-(10,5) = "("
+ │ └── rparen_loc: (10,9)-(10,10) = ")"
├── collection:
- │ @ CallNode (location: (103...106))
+ │ @ CallNode (location: (10,14)-(10,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (103...106) = "bar"
+ │ ├── message_loc: (10,14)-(10,17) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -148,19 +148,19 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── statements:
- │ @ StatementsNode (location: (112...115))
+ │ @ StatementsNode (location: (11,2)-(11,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (112...115))
+ │ └── @ CallNode (location: (11,2)-(11,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (112...115) = "baz"
+ │ ├── message_loc: (11,2)-(11,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "baz"
- ├── for_keyword_loc: (89...92) = "for"
- ├── in_keyword_loc: (100...102) = "in"
- ├── do_keyword_loc: (107...109) = "do"
- └── end_keyword_loc: (116...119) = "end"
+ ├── for_keyword_loc: (10,0)-(10,3) = "for"
+ ├── in_keyword_loc: (10,11)-(10,13) = "in"
+ ├── do_keyword_loc: (10,18)-(10,20) = "do"
+ └── end_keyword_loc: (12,0)-(12,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/hookexe.txt b/test/yarp/snapshots/unparser/corpus/literal/hookexe.txt
index 2f171d8e0e..1637f95619 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/hookexe.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/hookexe.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(7,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(7,1))
└── body: (length: 3)
- ├── @ PreExecutionNode (location: (0...15))
+ ├── @ PreExecutionNode (location: (1,0)-(3,1))
│ ├── statements:
- │ │ @ StatementsNode (location: (10...13))
+ │ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (10...13))
+ │ │ └── @ CallNode (location: (2,2)-(2,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...13) = "foo"
+ │ │ ├── message_loc: (2,2)-(2,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (0...5) = "BEGIN"
- │ ├── opening_loc: (6...7) = "{"
- │ └── closing_loc: (14...15) = "}"
- ├── @ CallNode (location: (16...19))
+ │ ├── 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))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...19) = "bar"
+ │ ├── message_loc: (4,0)-(4,3) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── @ PostExecutionNode (location: (20...33))
+ └── @ PostExecutionNode (location: (5,0)-(7,1))
├── statements:
- │ @ StatementsNode (location: (28...31))
+ │ @ StatementsNode (location: (6,2)-(6,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (28...31))
+ │ └── @ CallNode (location: (6,2)-(6,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (28...31) = "baz"
+ │ ├── message_loc: (6,2)-(6,5) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "baz"
- ├── keyword_loc: (20...23) = "END"
- ├── opening_loc: (24...25) = "{"
- └── closing_loc: (32...33) = "}"
+ ├── keyword_loc: (5,0)-(5,3) = "END"
+ ├── opening_loc: (5,4)-(5,5) = "{"
+ └── closing_loc: (7,0)-(7,1) = "}"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/if.txt b/test/yarp/snapshots/unparser/corpus/literal/if.txt
index 6b5b3e007c..bf399d7dc9 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/if.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/if.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...246))
+@ ProgramNode (location: (1,0)-(36,3))
├── locals: [:foo, :pair]
└── statements:
- @ StatementsNode (location: (0...246))
+ @ StatementsNode (location: (1,0)-(36,3))
└── body: (length: 10)
- ├── @ IfNode (location: (0...18))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(3,3))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ MatchLastLineNode (location: (3...8))
- │ │ ├── opening_loc: (3...4) = "/"
- │ │ ├── content_loc: (4...7) = "foo"
- │ │ ├── closing_loc: (7...8) = "/"
+ │ │ @ MatchLastLineNode (location: (1,3)-(1,8))
+ │ │ ├── opening_loc: (1,3)-(1,4) = "/"
+ │ │ ├── content_loc: (1,4)-(1,7) = "foo"
+ │ │ ├── closing_loc: (1,7)-(1,8) = "/"
│ │ ├── unescaped: "foo"
│ │ └── flags: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (11...14))
+ │ │ @ StatementsNode (location: (2,2)-(2,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11...14))
+ │ │ └── @ CallNode (location: (2,2)-(2,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "bar"
+ │ │ ├── message_loc: (2,2)-(2,5) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -26,69 +26,69 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (15...18) = "end"
- ├── @ IfNode (location: (19...31))
- │ ├── if_keyword_loc: (19...21) = "if"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ IfNode (location: (4,0)-(6,3))
+ │ ├── if_keyword_loc: (4,0)-(4,2) = "if"
│ ├── predicate:
- │ │ @ IntegerNode (location: (22...23))
+ │ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (26...27))
+ │ │ @ StatementsNode (location: (5,2)-(5,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (26...27))
+ │ │ └── @ IntegerNode (location: (5,2)-(5,3))
│ │ └── flags: decimal
│ ├── consequent: ∅
- │ └── end_keyword_loc: (28...31) = "end"
- ├── @ IfNode (location: (32...53))
- │ ├── if_keyword_loc: (32...34) = "if"
+ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ ├── @ IfNode (location: (7,0)-(11,3))
+ │ ├── if_keyword_loc: (7,0)-(7,2) = "if"
│ ├── predicate:
- │ │ @ IntegerNode (location: (35...36))
+ │ │ @ IntegerNode (location: (7,3)-(7,4))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (39...40))
+ │ │ @ StatementsNode (location: (8,2)-(8,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (39...40))
+ │ │ └── @ IntegerNode (location: (8,2)-(8,3))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (41...53))
- │ │ ├── else_keyword_loc: (41...45) = "else"
+ │ │ @ ElseNode (location: (9,0)-(11,3))
+ │ │ ├── else_keyword_loc: (9,0)-(9,4) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (48...49))
+ │ │ │ @ StatementsNode (location: (10,2)-(10,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (48...49))
+ │ │ │ └── @ IntegerNode (location: (10,2)-(10,3))
│ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (50...53) = "end"
- │ └── end_keyword_loc: (50...53) = "end"
- ├── @ UnlessNode (location: (54...72))
- │ ├── keyword_loc: (54...60) = "unless"
+ │ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ UnlessNode (location: (12,0)-(14,3))
+ │ ├── keyword_loc: (12,0)-(12,6) = "unless"
│ ├── predicate:
- │ │ @ IntegerNode (location: (61...62))
+ │ │ @ IntegerNode (location: (12,7)-(12,8))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (65...68))
+ │ │ @ StatementsNode (location: (13,2)-(13,5))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (65...68))
+ │ │ └── @ NilNode (location: (13,2)-(13,5))
│ ├── consequent: ∅
- │ └── end_keyword_loc: (69...72) = "end"
- ├── @ UnlessNode (location: (73...89))
- │ ├── keyword_loc: (73...79) = "unless"
+ │ └── end_keyword_loc: (14,0)-(14,3) = "end"
+ ├── @ UnlessNode (location: (15,0)-(17,3))
+ │ ├── keyword_loc: (15,0)-(15,6) = "unless"
│ ├── predicate:
- │ │ @ IntegerNode (location: (80...81))
+ │ │ @ IntegerNode (location: (15,7)-(15,8))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (84...85))
+ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (84...85))
+ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ └── flags: decimal
│ ├── consequent: ∅
- │ └── end_keyword_loc: (86...89) = "end"
- ├── @ IfNode (location: (90...100))
- │ ├── if_keyword_loc: (90...92) = "if"
+ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ ├── @ IfNode (location: (18,0)-(19,3))
+ │ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
- │ │ @ CallNode (location: (93...96))
+ │ │ @ CallNode (location: (18,3)-(18,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (93...96) = "foo"
+ │ │ ├── message_loc: (18,3)-(18,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -97,90 +97,90 @@
│ │ └── name: "foo"
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (97...100) = "end"
- ├── @ ModuleNode (location: (102...133))
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ ModuleNode (location: (21,0)-(23,3))
│ ├── locals: [:foo]
- │ ├── module_keyword_loc: (102...108) = "module"
+ │ ├── module_keyword_loc: (21,0)-(21,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (109...110))
+ │ │ @ ConstantReadNode (location: (21,7)-(21,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (113...129))
+ │ │ @ StatementsNode (location: (22,2)-(22,18))
│ │ └── body: (length: 1)
- │ │ └── @ IfNode (location: (113...129))
- │ │ ├── if_keyword_loc: (123...125) = "if"
+ │ │ └── @ IfNode (location: (22,2)-(22,18))
+ │ │ ├── if_keyword_loc: (22,12)-(22,14) = "if"
│ │ ├── predicate:
- │ │ │ @ LocalVariableReadNode (location: (126...129))
+ │ │ │ @ LocalVariableReadNode (location: (22,15)-(22,18))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (113...122))
+ │ │ │ @ StatementsNode (location: (22,2)-(22,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (113...122))
+ │ │ │ └── @ LocalVariableWriteNode (location: (22,2)-(22,11))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (113...116) = "foo"
+ │ │ │ ├── name_loc: (22,2)-(22,5) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (119...122))
+ │ │ │ │ @ CallNode (location: (22,8)-(22,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (119...122) = "bar"
+ │ │ │ │ ├── message_loc: (22,8)-(22,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (117...118) = "="
+ │ │ │ └── operator_loc: (22,6)-(22,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
- │ ├── end_keyword_loc: (130...133) = "end"
+ │ ├── end_keyword_loc: (23,0)-(23,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (135...170))
+ ├── @ ModuleNode (location: (25,0)-(27,3))
│ ├── locals: [:foo]
- │ ├── module_keyword_loc: (135...141) = "module"
+ │ ├── module_keyword_loc: (25,0)-(25,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (142...143))
+ │ │ @ ConstantReadNode (location: (25,7)-(25,8))
│ │ └── name: :B
│ ├── body:
- │ │ @ StatementsNode (location: (146...166))
+ │ │ @ StatementsNode (location: (26,2)-(26,22))
│ │ └── body: (length: 1)
- │ │ └── @ UnlessNode (location: (146...166))
- │ │ ├── keyword_loc: (156...162) = "unless"
+ │ │ └── @ UnlessNode (location: (26,2)-(26,22))
+ │ │ ├── keyword_loc: (26,12)-(26,18) = "unless"
│ │ ├── predicate:
- │ │ │ @ LocalVariableReadNode (location: (163...166))
+ │ │ │ @ LocalVariableReadNode (location: (26,19)-(26,22))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (146...155))
+ │ │ │ @ StatementsNode (location: (26,2)-(26,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (146...155))
+ │ │ │ └── @ LocalVariableWriteNode (location: (26,2)-(26,11))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (146...149) = "foo"
+ │ │ │ ├── name_loc: (26,2)-(26,5) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (152...155))
+ │ │ │ │ @ CallNode (location: (26,8)-(26,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (152...155) = "bar"
+ │ │ │ │ ├── message_loc: (26,8)-(26,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (150...151) = "="
+ │ │ │ └── operator_loc: (26,6)-(26,7) = "="
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
- │ ├── end_keyword_loc: (167...170) = "end"
+ │ ├── end_keyword_loc: (27,0)-(27,3) = "end"
│ └── name: :B
- ├── @ UnlessNode (location: (171...197))
- │ ├── keyword_loc: (171...177) = "unless"
+ ├── @ UnlessNode (location: (28,0)-(30,3))
+ │ ├── keyword_loc: (28,0)-(28,6) = "unless"
│ ├── predicate:
- │ │ @ CallNode (location: (178...181))
+ │ │ @ CallNode (location: (28,7)-(28,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (178...181) = "foo"
+ │ │ ├── message_loc: (28,7)-(28,10) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -188,45 +188,45 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (184...193))
+ │ │ @ StatementsNode (location: (29,2)-(29,11))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (184...193))
+ │ │ └── @ LocalVariableWriteNode (location: (29,2)-(29,11))
│ │ ├── name: :foo
│ │ ├── depth: 0
- │ │ ├── name_loc: (184...187) = "foo"
+ │ │ ├── name_loc: (29,2)-(29,5) = "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (190...193))
+ │ │ │ @ CallNode (location: (29,8)-(29,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (190...193) = "bar"
+ │ │ │ ├── message_loc: (29,8)-(29,11) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (188...189) = "="
+ │ │ └── operator_loc: (29,6)-(29,7) = "="
│ ├── consequent: ∅
- │ └── end_keyword_loc: (194...197) = "end"
- └── @ IfNode (location: (198...246))
- ├── if_keyword_loc: (198...200) = "if"
+ │ └── end_keyword_loc: (30,0)-(30,3) = "end"
+ └── @ IfNode (location: (31,0)-(36,3))
+ ├── if_keyword_loc: (31,0)-(31,2) = "if"
├── predicate:
- │ @ CallNode (location: (201...222))
+ │ @ CallNode (location: (31,3)-(33,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (201...204) = "foo"
+ │ ├── message_loc: (31,3)-(31,6) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (205...222))
+ │ │ @ BlockNode (location: (31,7)-(33,1))
│ │ ├── locals: [:pair]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (207...213))
+ │ │ │ @ BlockParametersNode (location: (31,9)-(31,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (208...212))
+ │ │ │ │ @ ParametersNode (location: (31,10)-(31,14))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (208...212))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14))
│ │ │ │ │ └── name: :pair
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -235,34 +235,34 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (207...208) = "|"
- │ │ │ └── closing_loc: (212...213) = "|"
+ │ │ │ ├── opening_loc: (31,9)-(31,10) = "|"
+ │ │ │ └── closing_loc: (31,14)-(31,15) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (216...220))
+ │ │ │ @ StatementsNode (location: (32,2)-(32,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (216...220))
+ │ │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6))
│ │ │ ├── name: :pair
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (205...206) = "{"
- │ │ └── closing_loc: (221...222) = "}"
+ │ │ ├── opening_loc: (31,7)-(31,8) = "{"
+ │ │ └── closing_loc: (33,0)-(33,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (225...242))
+ │ @ StatementsNode (location: (34,2)-(35,5))
│ └── body: (length: 2)
- │ ├── @ LocalVariableWriteNode (location: (225...236))
+ │ ├── @ LocalVariableWriteNode (location: (34,2)-(34,13))
│ │ ├── name: :pair
│ │ ├── depth: 0
- │ │ ├── name_loc: (225...229) = "pair"
+ │ │ ├── name_loc: (34,2)-(34,6) = "pair"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (232...236))
- │ │ │ ├── opening_loc: (232...233) = ":"
- │ │ │ ├── value_loc: (233...236) = "foo"
+ │ │ │ @ SymbolNode (location: (34,9)-(34,13))
+ │ │ │ ├── opening_loc: (34,9)-(34,10) = ":"
+ │ │ │ ├── value_loc: (34,10)-(34,13) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── operator_loc: (230...231) = "="
- │ └── @ LocalVariableReadNode (location: (239...242))
+ │ │ └── operator_loc: (34,7)-(34,8) = "="
+ │ └── @ LocalVariableReadNode (location: (35,2)-(35,5))
│ ├── name: :foo
│ └── depth: 0
├── consequent: ∅
- └── end_keyword_loc: (243...246) = "end"
+ └── end_keyword_loc: (36,0)-(36,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/kwbegin.txt b/test/yarp/snapshots/unparser/corpus/literal/kwbegin.txt
index d2d6e33843..06cf243ee8 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/kwbegin.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/kwbegin.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...530))
+@ ProgramNode (location: (1,0)-(80,3))
├── locals: [:foo, :bar, :exception]
└── statements:
- @ StatementsNode (location: (0...530))
+ @ StatementsNode (location: (1,0)-(80,3))
└── body: (length: 14)
- ├── @ BeginNode (location: (0...16))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ ├── @ BeginNode (location: (1,0)-(3,3))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (6...12))
- │ │ ├── keyword_loc: (6...12) = "rescue"
+ │ │ @ RescueNode (location: (2,0)-(2,6))
+ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
@@ -16,27 +16,27 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- ├── @ BeginNode (location: (18...34))
- │ ├── begin_keyword_loc: (18...23) = "begin"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ BeginNode (location: (5,0)-(7,3))
+ │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (24...34))
- │ │ ├── ensure_keyword_loc: (24...30) = "ensure"
+ │ │ @ EnsureNode (location: (6,0)-(7,3))
+ │ │ ├── ensure_keyword_loc: (6,0)-(6,6) = "ensure"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (31...34) = "end"
- │ └── end_keyword_loc: (31...34) = "end"
- ├── @ BeginNode (location: (36...49))
- │ ├── begin_keyword_loc: (36...41) = "begin"
+ │ │ └── end_keyword_loc: (7,0)-(7,3) = "end"
+ │ └── end_keyword_loc: (7,0)-(7,3) = "end"
+ ├── @ BeginNode (location: (9,0)-(11,3))
+ │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (44...45))
+ │ │ @ StatementsNode (location: (10,2)-(10,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (44...45))
+ │ │ └── @ CallNode (location: (10,2)-(10,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (44...45) = "a"
+ │ │ ├── message_loc: (10,2)-(10,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -46,16 +46,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (46...49) = "end"
- ├── @ BeginNode (location: (51...75))
- │ ├── begin_keyword_loc: (51...56) = "begin"
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ BeginNode (location: (13,0)-(17,3))
+ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (59...60))
+ │ │ @ StatementsNode (location: (14,2)-(14,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (59...60))
+ │ │ └── @ CallNode (location: (14,2)-(14,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (59...60) = "a"
+ │ │ ├── message_loc: (14,2)-(14,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -63,18 +63,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (61...71))
- │ │ ├── keyword_loc: (61...67) = "rescue"
+ │ │ @ RescueNode (location: (15,0)-(16,3))
+ │ │ ├── keyword_loc: (15,0)-(15,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (70...71))
+ │ │ │ @ StatementsNode (location: (16,2)-(16,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (70...71))
+ │ │ │ └── @ CallNode (location: (16,2)-(16,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (70...71) = "b"
+ │ │ │ ├── message_loc: (16,2)-(16,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -84,26 +84,26 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (72...75) = "end"
- ├── @ BeginNode (location: (77...105))
- │ ├── begin_keyword_loc: (77...82) = "begin"
+ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ ├── @ BeginNode (location: (19,0)-(24,3))
+ │ ├── begin_keyword_loc: (19,0)-(19,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (85...90))
+ │ │ @ StatementsNode (location: (20,2)-(21,3))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (85...86))
+ │ │ ├── @ CallNode (location: (20,2)-(20,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (85...86) = "a"
+ │ │ │ ├── message_loc: (20,2)-(20,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── @ CallNode (location: (89...90))
+ │ │ └── @ CallNode (location: (21,2)-(21,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (89...90) = "b"
+ │ │ ├── message_loc: (21,2)-(21,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -111,18 +111,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (91...101))
- │ │ ├── keyword_loc: (91...97) = "rescue"
+ │ │ @ RescueNode (location: (22,0)-(23,3))
+ │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (100...101))
+ │ │ │ @ StatementsNode (location: (23,2)-(23,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (100...101))
+ │ │ │ └── @ CallNode (location: (23,2)-(23,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (100...101) = "b"
+ │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -132,15 +132,15 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (102...105) = "end"
- ├── @ BeginNode (location: (107...125))
- │ ├── begin_keyword_loc: (107...112) = "begin"
+ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ ├── @ BeginNode (location: (26,0)-(28,3))
+ │ ├── begin_keyword_loc: (26,0)-(26,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (113...121))
- │ │ ├── keyword_loc: (113...119) = "rescue"
+ │ │ @ RescueNode (location: (27,0)-(27,8))
+ │ │ ├── keyword_loc: (27,0)-(27,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (120...121))
+ │ │ │ └── @ ConstantReadNode (location: (27,7)-(27,8))
│ │ │ └── name: :A
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
@@ -148,35 +148,35 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (122...125) = "end"
- ├── @ BeginNode (location: (127...152))
- │ ├── begin_keyword_loc: (127...132) = "begin"
+ │ └── end_keyword_loc: (28,0)-(28,3) = "end"
+ ├── @ BeginNode (location: (30,0)-(32,3))
+ │ ├── begin_keyword_loc: (30,0)-(30,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (133...148))
- │ │ ├── keyword_loc: (133...139) = "rescue"
+ │ │ @ RescueNode (location: (31,0)-(31,15))
+ │ │ ├── keyword_loc: (31,0)-(31,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (140...141))
+ │ │ │ └── @ ConstantReadNode (location: (31,7)-(31,8))
│ │ │ └── name: :A
- │ │ ├── operator_loc: (142...144) = "=>"
+ │ │ ├── operator_loc: (31,9)-(31,11) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (145...148))
+ │ │ │ @ LocalVariableTargetNode (location: (31,12)-(31,15))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (149...152) = "end"
- ├── @ BeginNode (location: (154...204))
- │ ├── begin_keyword_loc: (154...159) = "begin"
+ │ └── end_keyword_loc: (32,0)-(32,3) = "end"
+ ├── @ BeginNode (location: (34,0)-(42,3))
+ │ ├── begin_keyword_loc: (34,0)-(34,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (162...163))
+ │ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (162...163))
+ │ │ └── @ CallNode (location: (35,2)-(35,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (162...163) = "a"
+ │ │ ├── message_loc: (35,2)-(35,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -184,20 +184,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (164...189))
- │ │ ├── keyword_loc: (164...170) = "rescue"
+ │ │ @ RescueNode (location: (36,0)-(39,3))
+ │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (171...172))
+ │ │ │ └── @ ConstantReadNode (location: (36,7)-(36,8))
│ │ │ └── name: :A
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (175...176))
+ │ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (175...176))
+ │ │ │ └── @ CallNode (location: (37,2)-(37,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (175...176) = "b"
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -205,20 +205,20 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ └── consequent:
- │ │ @ RescueNode (location: (177...189))
- │ │ ├── keyword_loc: (177...183) = "rescue"
+ │ │ @ RescueNode (location: (38,0)-(39,3))
+ │ │ ├── keyword_loc: (38,0)-(38,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (184...185))
+ │ │ │ └── @ ConstantReadNode (location: (38,7)-(38,8))
│ │ │ └── name: :B
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (188...189))
+ │ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (188...189))
+ │ │ │ └── @ CallNode (location: (39,2)-(39,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (188...189) = "c"
+ │ │ │ ├── message_loc: (39,2)-(39,3) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -228,40 +228,40 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
- │ │ @ EnsureNode (location: (190...204))
- │ │ ├── ensure_keyword_loc: (190...196) = "ensure"
+ │ │ @ EnsureNode (location: (40,0)-(42,3))
+ │ │ ├── ensure_keyword_loc: (40,0)-(40,6) = "ensure"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (199...200))
+ │ │ │ @ StatementsNode (location: (41,2)-(41,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (199...200))
+ │ │ │ └── @ CallNode (location: (41,2)-(41,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (199...200) = "d"
+ │ │ │ ├── message_loc: (41,2)-(41,3) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ └── end_keyword_loc: (201...204) = "end"
- │ └── end_keyword_loc: (201...204) = "end"
- ├── @ BeginNode (location: (206...273))
- │ ├── begin_keyword_loc: (206...211) = "begin"
+ │ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
+ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
+ ├── @ BeginNode (location: (44,0)-(53,3))
+ │ ├── begin_keyword_loc: (44,0)-(44,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (214...250))
+ │ │ @ StatementsNode (location: (45,2)-(49,5))
│ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (214...250))
- │ │ ├── begin_keyword_loc: (214...219) = "begin"
+ │ │ └── @ BeginNode (location: (45,2)-(49,5))
+ │ │ ├── begin_keyword_loc: (45,2)-(45,7) = "begin"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (224...235))
+ │ │ │ @ StatementsNode (location: (46,4)-(47,7))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (224...227))
+ │ │ │ ├── @ LocalVariableReadNode (location: (46,4)-(46,7))
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
- │ │ │ └── @ CallNode (location: (232...235))
+ │ │ │ └── @ CallNode (location: (47,4)-(47,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (232...235) = "bar"
+ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -269,8 +269,8 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (238...244))
- │ │ │ ├── keyword_loc: (238...244) = "rescue"
+ │ │ │ @ RescueNode (location: (48,2)-(48,8))
+ │ │ │ ├── keyword_loc: (48,2)-(48,8) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
@@ -278,30 +278,30 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (247...250) = "end"
+ │ │ └── end_keyword_loc: (49,2)-(49,5) = "end"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (251...269))
- │ │ ├── keyword_loc: (251...257) = "rescue"
+ │ │ @ RescueNode (location: (50,0)-(52,5))
+ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (260...269))
+ │ │ │ @ StatementsNode (location: (51,2)-(52,5))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (260...263))
+ │ │ │ ├── @ CallNode (location: (51,2)-(51,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (260...263) = "baz"
+ │ │ │ │ ├── message_loc: (51,2)-(51,5) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
- │ │ │ └── @ CallNode (location: (266...269))
+ │ │ │ └── @ CallNode (location: (52,2)-(52,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (266...269) = "bar"
+ │ │ │ ├── message_loc: (52,2)-(52,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -311,51 +311,51 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (270...273) = "end"
- ├── @ BeginNode (location: (275...337))
- │ ├── begin_keyword_loc: (275...280) = "begin"
+ │ └── end_keyword_loc: (53,0)-(53,3) = "end"
+ ├── @ BeginNode (location: (55,0)-(58,3))
+ │ ├── begin_keyword_loc: (55,0)-(55,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (283...316))
+ │ │ @ StatementsNode (location: (56,2)-(56,35))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (283...316))
+ │ │ └── @ RescueModifierNode (location: (56,2)-(56,35))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (283...299))
+ │ │ │ @ CallNode (location: (56,2)-(56,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (283...288) = "raise"
- │ │ │ ├── opening_loc: (288...289) = "("
+ │ │ │ ├── message_loc: (56,2)-(56,7) = "raise"
+ │ │ │ ├── opening_loc: (56,7)-(56,8) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (289...298))
+ │ │ │ │ @ ArgumentsNode (location: (56,8)-(56,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (289...298))
+ │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17))
│ │ │ │ └── name: :Exception
- │ │ │ ├── closing_loc: (298...299) = ")"
+ │ │ │ ├── closing_loc: (56,17)-(56,18) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "raise"
- │ │ ├── keyword_loc: (300...306) = "rescue"
+ │ │ ├── keyword_loc: (56,19)-(56,25) = "rescue"
│ │ └── rescue_expression:
- │ │ @ LocalVariableWriteNode (location: (307...316))
+ │ │ @ LocalVariableWriteNode (location: (56,26)-(56,35))
│ │ ├── name: :foo
│ │ ├── depth: 0
- │ │ ├── name_loc: (307...310) = "foo"
+ │ │ ├── name_loc: (56,26)-(56,29) = "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (313...316))
+ │ │ │ @ CallNode (location: (56,32)-(56,35))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (313...316) = "bar"
+ │ │ │ ├── message_loc: (56,32)-(56,35) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (311...312) = "="
+ │ │ └── operator_loc: (56,30)-(56,31) = "="
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (317...333))
- │ │ ├── keyword_loc: (317...323) = "rescue"
+ │ │ @ RescueNode (location: (57,0)-(57,16))
+ │ │ ├── keyword_loc: (57,0)-(57,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (324...333))
+ │ │ │ └── @ ConstantReadNode (location: (57,7)-(57,16))
│ │ │ └── name: :Exception
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
@@ -363,97 +363,97 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (334...337) = "end"
- ├── @ BeginNode (location: (339...374))
- │ ├── begin_keyword_loc: (339...344) = "begin"
+ │ └── end_keyword_loc: (58,0)-(58,3) = "end"
+ ├── @ BeginNode (location: (60,0)-(64,3))
+ │ ├── begin_keyword_loc: (60,0)-(60,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (347...350))
+ │ │ @ StatementsNode (location: (61,2)-(61,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (347...350))
+ │ │ └── @ LocalVariableReadNode (location: (61,2)-(61,5))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (351...370))
- │ │ ├── keyword_loc: (351...357) = "rescue"
+ │ │ @ RescueNode (location: (62,0)-(63,5))
+ │ │ ├── keyword_loc: (62,0)-(62,6) = "rescue"
│ │ ├── exceptions: (length: 0)
- │ │ ├── operator_loc: (358...360) = "=>"
+ │ │ ├── operator_loc: (62,7)-(62,9) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (361...364))
+ │ │ │ @ LocalVariableTargetNode (location: (62,10)-(62,13))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (367...370))
+ │ │ │ @ StatementsNode (location: (63,2)-(63,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (367...370))
+ │ │ │ └── @ LocalVariableReadNode (location: (63,2)-(63,5))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (371...374) = "end"
- ├── @ BeginNode (location: (376...428))
- │ ├── begin_keyword_loc: (376...381) = "begin"
+ │ └── end_keyword_loc: (64,0)-(64,3) = "end"
+ ├── @ BeginNode (location: (66,0)-(70,3))
+ │ ├── begin_keyword_loc: (66,0)-(66,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (384...387))
+ │ │ @ StatementsNode (location: (67,2)-(67,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (384...387))
+ │ │ └── @ LocalVariableReadNode (location: (67,2)-(67,5))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (388...424))
- │ │ ├── keyword_loc: (388...394) = "rescue"
+ │ │ @ RescueNode (location: (68,0)-(69,5))
+ │ │ ├── keyword_loc: (68,0)-(68,6) = "rescue"
│ │ ├── exceptions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (395...404))
+ │ │ │ ├── @ ConstantReadNode (location: (68,7)-(68,16))
│ │ │ │ └── name: :Exception
- │ │ │ └── @ ConstantReadNode (location: (406...411))
+ │ │ │ └── @ ConstantReadNode (location: (68,18)-(68,23))
│ │ │ └── name: :Other
- │ │ ├── operator_loc: (412...414) = "=>"
+ │ │ ├── operator_loc: (68,24)-(68,26) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (415...418))
+ │ │ │ @ LocalVariableTargetNode (location: (68,27)-(68,30))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (421...424))
+ │ │ │ @ StatementsNode (location: (69,2)-(69,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (421...424))
+ │ │ │ └── @ LocalVariableReadNode (location: (69,2)-(69,5))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (425...428) = "end"
- ├── @ BeginNode (location: (430...487))
- │ ├── begin_keyword_loc: (430...435) = "begin"
+ │ └── end_keyword_loc: (70,0)-(70,3) = "end"
+ ├── @ BeginNode (location: (72,0)-(76,3))
+ │ ├── begin_keyword_loc: (72,0)-(72,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (438...441))
+ │ │ @ StatementsNode (location: (73,2)-(73,5))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (438...441))
+ │ │ └── @ LocalVariableReadNode (location: (73,2)-(73,5))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (442...483))
- │ │ ├── keyword_loc: (442...448) = "rescue"
+ │ │ @ RescueNode (location: (74,0)-(75,5))
+ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue"
│ │ ├── exceptions: (length: 2)
- │ │ │ ├── @ ConstantReadNode (location: (449...458))
+ │ │ │ ├── @ ConstantReadNode (location: (74,7)-(74,16))
│ │ │ │ └── name: :SomeError
- │ │ │ └── @ SplatNode (location: (460...464))
- │ │ │ ├── operator_loc: (460...461) = "*"
+ │ │ │ └── @ SplatNode (location: (74,18)-(74,22))
+ │ │ │ ├── operator_loc: (74,18)-(74,19) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableReadNode (location: (461...464))
+ │ │ │ @ LocalVariableReadNode (location: (74,19)-(74,22))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
- │ │ ├── operator_loc: (465...467) = "=>"
+ │ │ ├── operator_loc: (74,23)-(74,25) = "=>"
│ │ ├── reference:
- │ │ │ @ LocalVariableTargetNode (location: (468...477))
+ │ │ │ @ LocalVariableTargetNode (location: (74,26)-(74,35))
│ │ │ ├── name: :exception
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (480...483))
+ │ │ │ @ StatementsNode (location: (75,2)-(75,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (480...483))
+ │ │ │ └── @ CallNode (location: (75,2)-(75,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (480...483) = "baz"
+ │ │ │ ├── message_loc: (75,2)-(75,5) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -463,27 +463,27 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (484...487) = "end"
- └── @ SingletonClassNode (location: (489...530))
+ │ └── end_keyword_loc: (76,0)-(76,3) = "end"
+ └── @ SingletonClassNode (location: (78,0)-(80,3))
├── locals: []
- ├── class_keyword_loc: (489...494) = "class"
- ├── operator_loc: (495...497) = "<<"
+ ├── class_keyword_loc: (78,0)-(78,5) = "class"
+ ├── operator_loc: (78,6)-(78,8) = "<<"
├── expression:
- │ @ SelfNode (location: (498...502))
+ │ @ SelfNode (location: (78,9)-(78,13))
├── body:
- │ @ StatementsNode (location: (505...526))
+ │ @ StatementsNode (location: (79,2)-(79,23))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (505...526))
+ │ └── @ RescueModifierNode (location: (79,2)-(79,23))
│ ├── expression:
- │ │ @ UndefNode (location: (505...515))
+ │ │ @ UndefNode (location: (79,2)-(79,12))
│ │ ├── names: (length: 1)
- │ │ │ └── @ SymbolNode (location: (511...515))
- │ │ │ ├── opening_loc: (511...512) = ":"
- │ │ │ ├── value_loc: (512...515) = "bar"
+ │ │ │ └── @ SymbolNode (location: (79,8)-(79,12))
+ │ │ │ ├── opening_loc: (79,8)-(79,9) = ":"
+ │ │ │ ├── value_loc: (79,9)-(79,12) = "bar"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "bar"
- │ │ └── keyword_loc: (505...510) = "undef"
- │ ├── keyword_loc: (516...522) = "rescue"
+ │ │ └── keyword_loc: (79,2)-(79,7) = "undef"
+ │ ├── keyword_loc: (79,13)-(79,19) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (523...526))
- └── end_keyword_loc: (527...530) = "end"
+ │ @ NilNode (location: (79,20)-(79,23))
+ └── end_keyword_loc: (80,0)-(80,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/lambda.txt b/test/yarp/snapshots/unparser/corpus/literal/lambda.txt
index da8f9b67a7..d1c6c75987 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/lambda.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/lambda.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...80))
+@ ProgramNode (location: (1,0)-(13,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...80))
+ @ StatementsNode (location: (1,0)-(13,1))
└── body: (length: 6)
- ├── @ CallNode (location: (0...10))
+ ├── @ CallNode (location: (1,0)-(2,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...6) = "lambda"
+ │ ├── message_loc: (1,0)-(1,6) = "lambda"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (7...10))
+ │ │ @ BlockNode (location: (1,7)-(2,1))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (7...8) = "{"
- │ │ └── closing_loc: (9...10) = "}"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ │ └── closing_loc: (2,0)-(2,1) = "}"
│ ├── flags: ∅
│ └── name: "lambda"
- ├── @ CallNode (location: (11...32))
+ ├── @ CallNode (location: (3,0)-(5,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...17) = "lambda"
+ │ ├── message_loc: (3,0)-(3,6) = "lambda"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (18...32))
+ │ │ @ BlockNode (location: (3,7)-(5,1))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (20...26))
+ │ │ │ @ BlockParametersNode (location: (3,9)-(3,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (21...25))
+ │ │ │ │ @ ParametersNode (location: (3,10)-(3,14))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (21...22))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (24...25))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (3,13)-(3,14))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -45,41 +45,41 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (20...21) = "|"
- │ │ │ └── closing_loc: (25...26) = "|"
+ │ │ │ ├── opening_loc: (3,9)-(3,10) = "|"
+ │ │ │ └── closing_loc: (3,14)-(3,15) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (29...30))
+ │ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (29...30))
+ │ │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (18...19) = "{"
- │ │ └── closing_loc: (31...32) = "}"
+ │ │ ├── opening_loc: (3,7)-(3,8) = "{"
+ │ │ └── closing_loc: (5,0)-(5,1) = "}"
│ ├── flags: ∅
│ └── name: "lambda"
- ├── @ LambdaNode (location: (33...41))
+ ├── @ LambdaNode (location: (6,0)-(7,1))
│ ├── locals: []
- │ ├── operator_loc: (33...35) = "->"
- │ ├── opening_loc: (38...39) = "{"
- │ ├── closing_loc: (40...41) = "}"
+ │ ├── operator_loc: (6,0)-(6,2) = "->"
+ │ ├── opening_loc: (6,5)-(6,6) = "{"
+ │ ├── closing_loc: (7,0)-(7,1) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (35...37))
+ │ │ @ BlockParametersNode (location: (6,2)-(6,4))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (35...36) = "("
- │ │ └── closing_loc: (36...37) = ")"
+ │ │ ├── opening_loc: (6,2)-(6,3) = "("
+ │ │ └── closing_loc: (6,3)-(6,4) = ")"
│ └── body: ∅
- ├── @ LambdaNode (location: (42...51))
+ ├── @ LambdaNode (location: (8,0)-(9,1))
│ ├── locals: [:a]
- │ ├── operator_loc: (42...44) = "->"
- │ ├── opening_loc: (48...49) = "{"
- │ ├── closing_loc: (50...51) = "}"
+ │ ├── operator_loc: (8,0)-(8,2) = "->"
+ │ ├── opening_loc: (8,6)-(8,7) = "{"
+ │ ├── closing_loc: (9,0)-(9,1) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (44...47))
+ │ │ @ BlockParametersNode (location: (8,2)-(8,5))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (45...46))
+ │ │ │ @ ParametersNode (location: (8,3)-(8,4))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (45...46))
+ │ │ │ │ └── @ RequiredParameterNode (location: (8,3)-(8,4))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -88,22 +88,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (44...45) = "("
- │ │ └── closing_loc: (46...47) = ")"
+ │ │ ├── opening_loc: (8,2)-(8,3) = "("
+ │ │ └── closing_loc: (8,4)-(8,5) = ")"
│ └── body: ∅
- ├── @ LambdaNode (location: (52...64))
+ ├── @ LambdaNode (location: (10,0)-(11,1))
│ ├── locals: [:a, :b]
- │ ├── operator_loc: (52...54) = "->"
- │ ├── opening_loc: (61...62) = "{"
- │ ├── closing_loc: (63...64) = "}"
+ │ ├── operator_loc: (10,0)-(10,2) = "->"
+ │ ├── opening_loc: (10,9)-(10,10) = "{"
+ │ ├── closing_loc: (11,0)-(11,1) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (54...60))
+ │ │ @ BlockParametersNode (location: (10,2)-(10,8))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (55...59))
+ │ │ │ @ ParametersNode (location: (10,3)-(10,7))
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (55...56))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (10,3)-(10,4))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (58...59))
+ │ │ │ │ └── @ RequiredParameterNode (location: (10,6)-(10,7))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -112,22 +112,22 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (54...55) = "("
- │ │ └── closing_loc: (59...60) = ")"
+ │ │ ├── opening_loc: (10,2)-(10,3) = "("
+ │ │ └── closing_loc: (10,7)-(10,8) = ")"
│ └── body: ∅
- └── @ LambdaNode (location: (65...80))
+ └── @ LambdaNode (location: (12,0)-(13,1))
├── locals: [:a, :b, :c]
- ├── operator_loc: (65...67) = "->"
- ├── opening_loc: (77...78) = "{"
- ├── closing_loc: (79...80) = "}"
+ ├── operator_loc: (12,0)-(12,2) = "->"
+ ├── opening_loc: (12,12)-(12,13) = "{"
+ ├── closing_loc: (13,0)-(13,1) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (67...76))
+ │ @ BlockParametersNode (location: (12,2)-(12,11))
│ ├── parameters:
- │ │ @ ParametersNode (location: (68...72))
+ │ │ @ ParametersNode (location: (12,3)-(12,7))
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ RequiredParameterNode (location: (68...69))
+ │ │ │ ├── @ RequiredParameterNode (location: (12,3)-(12,4))
│ │ │ │ └── name: :a
- │ │ │ └── @ RequiredParameterNode (location: (71...72))
+ │ │ │ └── @ RequiredParameterNode (location: (12,6)-(12,7))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -136,8 +136,8 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 1)
- │ │ └── @ BlockLocalVariableNode (location: (74...75))
+ │ │ └── @ BlockLocalVariableNode (location: (12,9)-(12,10))
│ │ └── name: :c
- │ ├── opening_loc: (67...68) = "("
- │ └── closing_loc: (75...76) = ")"
+ │ ├── opening_loc: (12,2)-(12,3) = "("
+ │ └── closing_loc: (12,10)-(12,11) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/unparser/corpus/literal/literal.txt b/test/yarp/snapshots/unparser/corpus/literal/literal.txt
index be4480dd3a..63524c5ef8 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/literal.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/literal.txt
@@ -1,1108 +1,1108 @@
-@ ProgramNode (location: (0...916))
+@ ProgramNode (location: (1,0)-(91,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...916))
+ @ StatementsNode (location: (1,0)-(91,2))
└── body: (length: 78)
- ├── @ HashNode (location: (0...38))
- │ ├── opening_loc: (0...1) = "{"
+ ├── @ HashNode (location: (1,0)-(1,38))
+ │ ├── opening_loc: (1,0)-(1,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (2...21))
+ │ │ ├── @ AssocNode (location: (1,2)-(1,21))
│ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (2...7))
+ │ │ │ │ @ StringNode (location: (1,2)-(1,7))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (2...3) = "\""
- │ │ │ │ ├── content_loc: (3...6) = "foo"
- │ │ │ │ ├── closing_loc: (6...7) = "\""
+ │ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\""
+ │ │ │ │ ├── content_loc: (1,3)-(1,6) = "foo"
+ │ │ │ │ ├── closing_loc: (1,6)-(1,7) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── value:
- │ │ │ │ @ InterpolatedStringNode (location: (11...21))
- │ │ │ │ ├── opening_loc: (11...21) = "<<-HEREDOC"
+ │ │ │ │ @ InterpolatedStringNode (location: (1,11)-(1,21))
+ │ │ │ │ ├── opening_loc: (1,11)-(1,21) = "<<-HEREDOC"
│ │ │ │ ├── parts: (length: 3)
- │ │ │ │ │ ├── @ StringNode (location: (39...41))
+ │ │ │ │ │ ├── @ StringNode (location: (2,0)-(2,2))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (39...41) = " "
+ │ │ │ │ │ │ ├── content_loc: (2,0)-(2,2) = " "
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: " "
- │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (41...44))
- │ │ │ │ │ │ ├── opening_loc: (41...43) = "\#{"
+ │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (2,2)-(2,5))
+ │ │ │ │ │ │ ├── opening_loc: (2,2)-(2,4) = "\#{"
│ │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ │ └── closing_loc: (43...44) = "}"
- │ │ │ │ │ └── @ StringNode (location: (44...45))
+ │ │ │ │ │ │ └── closing_loc: (2,4)-(2,5) = "}"
+ │ │ │ │ │ └── @ StringNode (location: (2,5)-(2,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (44...45) = "\n"
+ │ │ │ │ │ ├── content_loc: (2,5)-(2,0) = "\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ └── closing_loc: (45...53) = "HEREDOC\n"
- │ │ │ └── operator_loc: (8...10) = "=>"
- │ │ └── @ AssocNode (location: (23...36))
+ │ │ │ │ └── closing_loc: (3,0)-(3,0) = "HEREDOC\n"
+ │ │ │ └── operator_loc: (1,8)-(1,10) = "=>"
+ │ │ └── @ AssocNode (location: (1,23)-(1,36))
│ │ ├── key:
- │ │ │ @ StringNode (location: (23...28))
+ │ │ │ @ StringNode (location: (1,23)-(1,28))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (23...24) = "\""
- │ │ │ ├── content_loc: (24...27) = "bar"
- │ │ │ ├── closing_loc: (27...28) = "\""
+ │ │ │ ├── opening_loc: (1,23)-(1,24) = "\""
+ │ │ │ ├── content_loc: (1,24)-(1,27) = "bar"
+ │ │ │ ├── closing_loc: (1,27)-(1,28) = "\""
│ │ │ └── unescaped: "bar"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (32...36))
- │ │ │ ├── opening_loc: (32...33) = ":"
- │ │ │ ├── value_loc: (33...36) = "baz"
+ │ │ │ @ SymbolNode (location: (1,32)-(1,36))
+ │ │ │ ├── opening_loc: (1,32)-(1,33) = ":"
+ │ │ │ ├── value_loc: (1,33)-(1,36) = "baz"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "baz"
- │ │ └── operator_loc: (29...31) = "=>"
- │ └── closing_loc: (37...38) = "}"
- ├── @ HashNode (location: (53...84))
- │ ├── opening_loc: (53...54) = "{"
+ │ │ └── operator_loc: (1,29)-(1,31) = "=>"
+ │ └── closing_loc: (1,37)-(1,38) = "}"
+ ├── @ HashNode (location: (4,0)-(4,31))
+ │ ├── opening_loc: (4,0)-(4,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (55...67))
+ │ │ ├── @ AssocNode (location: (4,2)-(4,14))
│ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (55...60))
+ │ │ │ │ @ StringNode (location: (4,2)-(4,7))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (55...56) = "\""
- │ │ │ │ ├── content_loc: (56...59) = "foo"
- │ │ │ │ ├── closing_loc: (59...60) = "\""
+ │ │ │ │ ├── opening_loc: (4,2)-(4,3) = "\""
+ │ │ │ │ ├── content_loc: (4,3)-(4,6) = "foo"
+ │ │ │ │ ├── closing_loc: (4,6)-(4,7) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── value:
- │ │ │ │ @ StringNode (location: (64...67))
+ │ │ │ │ @ StringNode (location: (4,11)-(4,14))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (64...66) = "%("
- │ │ │ │ ├── content_loc: (66...66) = ""
- │ │ │ │ ├── closing_loc: (66...67) = ")"
+ │ │ │ │ ├── opening_loc: (4,11)-(4,13) = "%("
+ │ │ │ │ ├── content_loc: (4,13)-(4,13) = ""
+ │ │ │ │ ├── closing_loc: (4,13)-(4,14) = ")"
│ │ │ │ └── unescaped: ""
- │ │ │ └── operator_loc: (61...63) = "=>"
- │ │ └── @ AssocNode (location: (69...82))
+ │ │ │ └── operator_loc: (4,8)-(4,10) = "=>"
+ │ │ └── @ AssocNode (location: (4,16)-(4,29))
│ │ ├── key:
- │ │ │ @ StringNode (location: (69...74))
+ │ │ │ @ StringNode (location: (4,16)-(4,21))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (69...70) = "\""
- │ │ │ ├── content_loc: (70...73) = "bar"
- │ │ │ ├── closing_loc: (73...74) = "\""
+ │ │ │ ├── opening_loc: (4,16)-(4,17) = "\""
+ │ │ │ ├── content_loc: (4,17)-(4,20) = "bar"
+ │ │ │ ├── closing_loc: (4,20)-(4,21) = "\""
│ │ │ └── unescaped: "bar"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (78...82))
- │ │ │ ├── opening_loc: (78...79) = ":"
- │ │ │ ├── value_loc: (79...82) = "baz"
+ │ │ │ @ SymbolNode (location: (4,25)-(4,29))
+ │ │ │ ├── opening_loc: (4,25)-(4,26) = ":"
+ │ │ │ ├── value_loc: (4,26)-(4,29) = "baz"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "baz"
- │ │ └── operator_loc: (75...77) = "=>"
- │ └── closing_loc: (83...84) = "}"
- ├── @ ArrayNode (location: (85...97))
+ │ │ └── operator_loc: (4,22)-(4,24) = "=>"
+ │ └── closing_loc: (4,30)-(4,31) = "}"
+ ├── @ ArrayNode (location: (5,0)-(5,12))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (86...91))
+ │ │ ├── @ StringNode (location: (5,1)-(5,6))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (86...87) = "\""
- │ │ │ ├── content_loc: (87...90) = "foo"
- │ │ │ ├── closing_loc: (90...91) = "\""
+ │ │ │ ├── opening_loc: (5,1)-(5,2) = "\""
+ │ │ │ ├── content_loc: (5,2)-(5,5) = "foo"
+ │ │ │ ├── closing_loc: (5,5)-(5,6) = "\""
│ │ │ └── unescaped: "foo"
- │ │ └── @ StringNode (location: (93...96))
+ │ │ └── @ StringNode (location: (5,8)-(5,11))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (93...95) = "%("
- │ │ ├── content_loc: (95...95) = ""
- │ │ ├── closing_loc: (95...96) = ")"
+ │ │ ├── opening_loc: (5,8)-(5,10) = "%("
+ │ │ ├── content_loc: (5,10)-(5,10) = ""
+ │ │ ├── closing_loc: (5,10)-(5,11) = ")"
│ │ └── unescaped: ""
- │ ├── opening_loc: (85...86) = "["
- │ └── closing_loc: (96...97) = "]"
- ├── @ CallNode (location: (98...113))
+ │ ├── opening_loc: (5,0)-(5,1) = "["
+ │ └── closing_loc: (5,11)-(5,12) = "]"
+ ├── @ CallNode (location: (6,0)-(6,15))
│ ├── receiver:
- │ │ @ CallNode (location: (98...111))
+ │ │ @ CallNode (location: (6,0)-(6,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (98...99) = "a"
- │ │ ├── opening_loc: (99...100) = "("
+ │ │ ├── message_loc: (6,0)-(6,1) = "a"
+ │ │ ├── opening_loc: (6,1)-(6,2) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (100...110))
+ │ │ │ @ ArgumentsNode (location: (6,2)-(6,12))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (100...110))
- │ │ │ ├── opening_loc: (100...110) = "<<-HEREDOC"
+ │ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,12))
+ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC"
│ │ │ ├── parts: (length: 3)
- │ │ │ │ ├── @ StringNode (location: (114...116))
+ │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (114...116) = " "
+ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " "
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: " "
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (116...119))
- │ │ │ │ │ ├── opening_loc: (116...118) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5))
+ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{"
│ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (118...119) = "}"
- │ │ │ │ └── @ StringNode (location: (119...120))
+ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}"
+ │ │ │ │ └── @ StringNode (location: (7,5)-(7,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (119...120) = "\n"
+ │ │ │ │ ├── content_loc: (7,5)-(7,0) = "\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "\n"
- │ │ │ └── closing_loc: (120...128) = "HEREDOC\n"
- │ │ ├── closing_loc: (110...111) = ")"
+ │ │ │ └── closing_loc: (8,0)-(8,0) = "HEREDOC\n"
+ │ │ ├── closing_loc: (6,12)-(6,13) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "a"
- │ ├── call_operator_loc: (111...112) = "."
- │ ├── message_loc: (112...113) = "a"
+ │ ├── call_operator_loc: (6,13)-(6,14) = "."
+ │ ├── message_loc: (6,14)-(6,15) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (128...136))
+ ├── @ CallNode (location: (9,0)-(9,8))
│ ├── receiver:
- │ │ @ CallNode (location: (128...134))
+ │ │ @ CallNode (location: (9,0)-(9,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (128...129) = "a"
- │ │ ├── opening_loc: (129...130) = "("
+ │ │ ├── message_loc: (9,0)-(9,1) = "a"
+ │ │ ├── opening_loc: (9,1)-(9,2) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (130...133))
+ │ │ │ @ ArgumentsNode (location: (9,2)-(9,5))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (130...133))
+ │ │ │ └── @ StringNode (location: (9,2)-(9,5))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (130...132) = "%("
- │ │ │ ├── content_loc: (132...132) = ""
- │ │ │ ├── closing_loc: (132...133) = ")"
+ │ │ │ ├── opening_loc: (9,2)-(9,4) = "%("
+ │ │ │ ├── content_loc: (9,4)-(9,4) = ""
+ │ │ │ ├── closing_loc: (9,4)-(9,5) = ")"
│ │ │ └── unescaped: ""
- │ │ ├── closing_loc: (133...134) = ")"
+ │ │ ├── closing_loc: (9,5)-(9,6) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "a"
- │ ├── call_operator_loc: (134...135) = "."
- │ ├── message_loc: (135...136) = "a"
+ │ ├── call_operator_loc: (9,6)-(9,7) = "."
+ │ ├── message_loc: (9,7)-(9,8) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- ├── @ HashNode (location: (137...167))
- │ ├── opening_loc: (137...138) = "{"
+ ├── @ HashNode (location: (10,0)-(10,30))
+ │ ├── opening_loc: (10,0)-(10,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (139...158))
+ │ │ ├── @ AssocNode (location: (10,2)-(10,21))
│ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (139...144))
+ │ │ │ │ @ StringNode (location: (10,2)-(10,7))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (139...140) = "\""
- │ │ │ │ ├── content_loc: (140...143) = "foo"
- │ │ │ │ ├── closing_loc: (143...144) = "\""
+ │ │ │ │ ├── opening_loc: (10,2)-(10,3) = "\""
+ │ │ │ │ ├── content_loc: (10,3)-(10,6) = "foo"
+ │ │ │ │ ├── closing_loc: (10,6)-(10,7) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── value:
- │ │ │ │ @ InterpolatedStringNode (location: (148...158))
- │ │ │ │ ├── opening_loc: (148...158) = "<<-HEREDOC"
+ │ │ │ │ @ InterpolatedStringNode (location: (10,11)-(10,21))
+ │ │ │ │ ├── opening_loc: (10,11)-(10,21) = "<<-HEREDOC"
│ │ │ │ ├── parts: (length: 3)
- │ │ │ │ │ ├── @ StringNode (location: (168...170))
+ │ │ │ │ │ ├── @ StringNode (location: (11,0)-(11,2))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── content_loc: (168...170) = " "
+ │ │ │ │ │ │ ├── content_loc: (11,0)-(11,2) = " "
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: " "
- │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (170...173))
- │ │ │ │ │ │ ├── opening_loc: (170...172) = "\#{"
+ │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (11,2)-(11,5))
+ │ │ │ │ │ │ ├── opening_loc: (11,2)-(11,4) = "\#{"
│ │ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ │ └── closing_loc: (172...173) = "}"
- │ │ │ │ │ └── @ StringNode (location: (173...174))
+ │ │ │ │ │ │ └── closing_loc: (11,4)-(11,5) = "}"
+ │ │ │ │ │ └── @ StringNode (location: (11,5)-(11,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (173...174) = "\n"
+ │ │ │ │ │ ├── content_loc: (11,5)-(11,0) = "\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ └── closing_loc: (174...182) = "HEREDOC\n"
- │ │ │ └── operator_loc: (145...147) = "=>"
- │ │ └── @ AssocSplatNode (location: (160...165))
+ │ │ │ │ └── closing_loc: (12,0)-(12,0) = "HEREDOC\n"
+ │ │ │ └── operator_loc: (10,8)-(10,10) = "=>"
+ │ │ └── @ AssocSplatNode (location: (10,23)-(10,28))
│ │ ├── value:
- │ │ │ @ CallNode (location: (162...165))
+ │ │ │ @ CallNode (location: (10,25)-(10,28))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (162...165) = "baz"
+ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (160...162) = "**"
- │ └── closing_loc: (166...167) = "}"
- ├── @ HashNode (location: (182...205))
- │ ├── opening_loc: (182...183) = "{"
+ │ │ └── operator_loc: (10,23)-(10,25) = "**"
+ │ └── closing_loc: (10,29)-(10,30) = "}"
+ ├── @ HashNode (location: (13,0)-(13,23))
+ │ ├── opening_loc: (13,0)-(13,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (184...196))
+ │ │ ├── @ AssocNode (location: (13,2)-(13,14))
│ │ │ ├── key:
- │ │ │ │ @ StringNode (location: (184...189))
+ │ │ │ │ @ StringNode (location: (13,2)-(13,7))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (184...185) = "\""
- │ │ │ │ ├── content_loc: (185...188) = "foo"
- │ │ │ │ ├── closing_loc: (188...189) = "\""
+ │ │ │ │ ├── opening_loc: (13,2)-(13,3) = "\""
+ │ │ │ │ ├── content_loc: (13,3)-(13,6) = "foo"
+ │ │ │ │ ├── closing_loc: (13,6)-(13,7) = "\""
│ │ │ │ └── unescaped: "foo"
│ │ │ ├── value:
- │ │ │ │ @ StringNode (location: (193...196))
+ │ │ │ │ @ StringNode (location: (13,11)-(13,14))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (193...195) = "%("
- │ │ │ │ ├── content_loc: (195...195) = ""
- │ │ │ │ ├── closing_loc: (195...196) = ")"
+ │ │ │ │ ├── opening_loc: (13,11)-(13,13) = "%("
+ │ │ │ │ ├── content_loc: (13,13)-(13,13) = ""
+ │ │ │ │ ├── closing_loc: (13,13)-(13,14) = ")"
│ │ │ │ └── unescaped: ""
- │ │ │ └── operator_loc: (190...192) = "=>"
- │ │ └── @ AssocSplatNode (location: (198...203))
+ │ │ │ └── operator_loc: (13,8)-(13,10) = "=>"
+ │ │ └── @ AssocSplatNode (location: (13,16)-(13,21))
│ │ ├── value:
- │ │ │ @ CallNode (location: (200...203))
+ │ │ │ @ CallNode (location: (13,18)-(13,21))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (200...203) = "baz"
+ │ │ │ ├── message_loc: (13,18)-(13,21) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (198...200) = "**"
- │ └── closing_loc: (204...205) = "}"
- ├── @ InterpolatedStringNode (location: (206...220))
- │ ├── opening_loc: (206...207) = "\""
+ │ │ └── operator_loc: (13,16)-(13,18) = "**"
+ │ └── closing_loc: (13,22)-(13,23) = "}"
+ ├── @ InterpolatedStringNode (location: (14,0)-(14,14))
+ │ ├── opening_loc: (14,0)-(14,1) = "\""
│ ├── parts: (length: 5)
- │ │ ├── @ EmbeddedVariableNode (location: (207...210))
- │ │ │ ├── operator_loc: (207...208) = "#"
+ │ │ ├── @ EmbeddedVariableNode (location: (14,1)-(14,4))
+ │ │ │ ├── operator_loc: (14,1)-(14,2) = "#"
│ │ │ └── variable:
- │ │ │ @ InstanceVariableReadNode (location: (208...210))
+ │ │ │ @ InstanceVariableReadNode (location: (14,2)-(14,4))
│ │ │ └── name: :@a
- │ │ ├── @ StringNode (location: (210...211))
+ │ │ ├── @ StringNode (location: (14,4)-(14,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (210...211) = " "
+ │ │ │ ├── content_loc: (14,4)-(14,5) = " "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " "
- │ │ ├── @ EmbeddedVariableNode (location: (211...215))
- │ │ │ ├── operator_loc: (211...212) = "#"
+ │ │ ├── @ EmbeddedVariableNode (location: (14,5)-(14,9))
+ │ │ │ ├── operator_loc: (14,5)-(14,6) = "#"
│ │ │ └── variable:
- │ │ │ @ ClassVariableReadNode (location: (212...215))
+ │ │ │ @ ClassVariableReadNode (location: (14,6)-(14,9))
│ │ │ └── name: :@@a
- │ │ ├── @ StringNode (location: (215...216))
+ │ │ ├── @ StringNode (location: (14,9)-(14,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (215...216) = " "
+ │ │ │ ├── content_loc: (14,9)-(14,10) = " "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " "
- │ │ └── @ EmbeddedVariableNode (location: (216...219))
- │ │ ├── operator_loc: (216...217) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (14,10)-(14,13))
+ │ │ ├── operator_loc: (14,10)-(14,11) = "#"
│ │ └── variable:
- │ │ @ GlobalVariableReadNode (location: (217...219))
+ │ │ @ GlobalVariableReadNode (location: (14,11)-(14,13))
│ │ └── name: :$a
- │ └── closing_loc: (219...220) = "\""
- ├── @ IntegerNode (location: (221...222))
+ │ └── closing_loc: (14,13)-(14,14) = "\""
+ ├── @ IntegerNode (location: (15,0)-(15,1))
│ └── flags: decimal
- ├── @ CallNode (location: (223...226))
+ ├── @ CallNode (location: (16,0)-(16,3))
│ ├── receiver:
- │ │ @ IntegerNode (location: (224...226))
+ │ │ @ IntegerNode (location: (16,1)-(16,3))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (223...224) = "+"
+ │ ├── message_loc: (16,0)-(16,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+@"
- ├── @ IntegerNode (location: (227...228))
+ ├── @ IntegerNode (location: (17,0)-(17,1))
│ └── flags: decimal
- ├── @ IntegerNode (location: (229...230))
+ ├── @ IntegerNode (location: (18,0)-(18,1))
│ └── flags: decimal
- ├── @ RationalNode (location: (231...233))
+ ├── @ RationalNode (location: (19,0)-(19,2))
│ └── numeric:
- │ @ IntegerNode (location: (231...232))
+ │ @ IntegerNode (location: (19,0)-(19,1))
│ └── flags: decimal
- ├── @ RationalNode (location: (234...238))
+ ├── @ RationalNode (location: (20,0)-(20,4))
│ └── numeric:
- │ @ FloatNode (location: (234...237))
- ├── @ RationalNode (location: (239...243))
+ │ @ FloatNode (location: (20,0)-(20,3))
+ ├── @ RationalNode (location: (21,0)-(21,4))
│ └── numeric:
- │ @ FloatNode (location: (239...242))
- ├── @ ImaginaryNode (location: (244...246))
+ │ @ FloatNode (location: (21,0)-(21,3))
+ ├── @ ImaginaryNode (location: (22,0)-(22,2))
│ └── numeric:
- │ @ IntegerNode (location: (244...245))
+ │ @ IntegerNode (location: (22,0)-(22,1))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (247...250))
+ ├── @ ImaginaryNode (location: (23,0)-(23,3))
│ └── numeric:
- │ @ IntegerNode (location: (247...249))
+ │ @ IntegerNode (location: (23,0)-(23,2))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (251...255))
+ ├── @ ImaginaryNode (location: (24,0)-(24,4))
│ └── numeric:
- │ @ FloatNode (location: (251...254))
- ├── @ ImaginaryNode (location: (256...261))
+ │ @ FloatNode (location: (24,0)-(24,3))
+ ├── @ ImaginaryNode (location: (25,0)-(25,5))
│ └── numeric:
- │ @ FloatNode (location: (256...260))
- ├── @ ImaginaryNode (location: (262...294))
+ │ @ FloatNode (location: (25,0)-(25,4))
+ ├── @ ImaginaryNode (location: (26,0)-(26,32))
│ └── numeric:
- │ @ IntegerNode (location: (262...293))
+ │ @ IntegerNode (location: (26,0)-(26,31))
│ └── flags: decimal
- ├── @ ImaginaryNode (location: (295...298))
+ ├── @ ImaginaryNode (location: (27,0)-(27,3))
│ └── numeric:
- │ @ RationalNode (location: (295...297))
+ │ @ RationalNode (location: (27,0)-(27,2))
│ └── numeric:
- │ @ IntegerNode (location: (295...296))
+ │ @ IntegerNode (location: (27,0)-(27,1))
│ └── flags: decimal
- ├── @ StringConcatNode (location: (299...310))
+ ├── @ StringConcatNode (location: (28,0)-(28,11))
│ ├── left:
- │ │ @ StringNode (location: (299...304))
+ │ │ @ StringNode (location: (28,0)-(28,5))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (299...300) = "\""
- │ │ ├── content_loc: (300...303) = "foo"
- │ │ ├── closing_loc: (303...304) = "\""
+ │ │ ├── opening_loc: (28,0)-(28,1) = "\""
+ │ │ ├── content_loc: (28,1)-(28,4) = "foo"
+ │ │ ├── closing_loc: (28,4)-(28,5) = "\""
│ │ └── unescaped: "foo"
│ └── right:
- │ @ StringNode (location: (305...310))
+ │ @ StringNode (location: (28,6)-(28,11))
│ ├── flags: ∅
- │ ├── opening_loc: (305...306) = "\""
- │ ├── content_loc: (306...309) = "bar"
- │ ├── closing_loc: (309...310) = "\""
+ │ ├── opening_loc: (28,6)-(28,7) = "\""
+ │ ├── content_loc: (28,7)-(28,10) = "bar"
+ │ ├── closing_loc: (28,10)-(28,11) = "\""
│ └── unescaped: "bar"
- ├── @ InterpolatedStringNode (location: (311...326))
- │ ├── opening_loc: (311...312) = "\""
+ ├── @ InterpolatedStringNode (location: (29,0)-(29,15))
+ │ ├── opening_loc: (29,0)-(29,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (312...319))
+ │ │ ├── @ StringNode (location: (29,1)-(29,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (312...319) = "foobar "
+ │ │ │ ├── content_loc: (29,1)-(29,8) = "foobar "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foobar "
- │ │ └── @ EmbeddedStatementsNode (location: (319...325))
- │ │ ├── opening_loc: (319...321) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (29,8)-(29,14))
+ │ │ ├── opening_loc: (29,8)-(29,10) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (321...324))
+ │ │ │ @ StatementsNode (location: (29,10)-(29,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (321...324))
+ │ │ │ └── @ CallNode (location: (29,10)-(29,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (321...324) = "baz"
+ │ │ │ ├── message_loc: (29,10)-(29,13) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── closing_loc: (324...325) = "}"
- │ └── closing_loc: (325...326) = "\""
- ├── @ InterpolatedStringNode (location: (327...339))
- │ ├── opening_loc: (327...328) = "\""
+ │ │ └── closing_loc: (29,13)-(29,14) = "}"
+ │ └── closing_loc: (29,14)-(29,15) = "\""
+ ├── @ InterpolatedStringNode (location: (30,0)-(30,12))
+ │ ├── opening_loc: (30,0)-(30,1) = "\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (328...331))
+ │ │ ├── @ StringNode (location: (30,1)-(30,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (328...331) = "foo"
+ │ │ │ ├── content_loc: (30,1)-(30,4) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── @ EmbeddedStatementsNode (location: (331...335))
- │ │ │ ├── opening_loc: (331...333) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (30,4)-(30,8))
+ │ │ │ ├── opening_loc: (30,4)-(30,6) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (333...334))
+ │ │ │ │ @ StatementsNode (location: (30,6)-(30,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (333...334))
+ │ │ │ │ └── @ IntegerNode (location: (30,6)-(30,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (334...335) = "}"
- │ │ └── @ StringNode (location: (335...338))
+ │ │ │ └── closing_loc: (30,7)-(30,8) = "}"
+ │ │ └── @ StringNode (location: (30,8)-(30,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (335...338) = "bar"
+ │ │ ├── content_loc: (30,8)-(30,11) = "bar"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bar"
- │ └── closing_loc: (338...339) = "\""
- ├── @ InterpolatedStringNode (location: (340...349))
- │ ├── opening_loc: (340...341) = "\""
+ │ └── closing_loc: (30,11)-(30,12) = "\""
+ ├── @ InterpolatedStringNode (location: (31,0)-(31,9))
+ │ ├── opening_loc: (31,0)-(31,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (341...345))
+ │ │ ├── @ StringNode (location: (31,1)-(31,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (341...345) = "\\\\\\\\"
+ │ │ │ ├── content_loc: (31,1)-(31,5) = "\\\\\\\\"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\\\\"
- │ │ └── @ EmbeddedStatementsNode (location: (345...348))
- │ │ ├── opening_loc: (345...347) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (31,5)-(31,8))
+ │ │ ├── opening_loc: (31,5)-(31,7) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (347...348) = "}"
- │ └── closing_loc: (348...349) = "\""
- ├── @ InterpolatedStringNode (location: (350...359))
- │ ├── opening_loc: (350...351) = "\""
+ │ │ └── closing_loc: (31,7)-(31,8) = "}"
+ │ └── closing_loc: (31,8)-(31,9) = "\""
+ ├── @ InterpolatedStringNode (location: (32,0)-(32,9))
+ │ ├── opening_loc: (32,0)-(32,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (351...354))
- │ │ │ ├── opening_loc: (351...353) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (32,1)-(32,4))
+ │ │ │ ├── opening_loc: (32,1)-(32,3) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (353...354) = "}"
- │ │ └── @ StringNode (location: (354...358))
+ │ │ │ └── closing_loc: (32,3)-(32,4) = "}"
+ │ │ └── @ StringNode (location: (32,4)-(32,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (354...358) = "\\\#{}"
+ │ │ ├── content_loc: (32,4)-(32,8) = "\\\#{}"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#{}"
- │ └── closing_loc: (358...359) = "\""
- ├── @ InterpolatedStringNode (location: (360...369))
- │ ├── opening_loc: (360...361) = "\""
+ │ └── closing_loc: (32,8)-(32,9) = "\""
+ ├── @ InterpolatedStringNode (location: (33,0)-(33,9))
+ │ ├── opening_loc: (33,0)-(33,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (361...365))
+ │ │ ├── @ StringNode (location: (33,1)-(33,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (361...365) = "\\\#{}"
+ │ │ │ ├── content_loc: (33,1)-(33,5) = "\\\#{}"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\#{}"
- │ │ └── @ EmbeddedStatementsNode (location: (365...368))
- │ │ ├── opening_loc: (365...367) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (33,5)-(33,8))
+ │ │ ├── opening_loc: (33,5)-(33,7) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (367...368) = "}"
- │ └── closing_loc: (368...369) = "\""
- ├── @ StringNode (location: (370...385))
+ │ │ └── closing_loc: (33,7)-(33,8) = "}"
+ │ └── closing_loc: (33,8)-(33,9) = "\""
+ ├── @ StringNode (location: (34,0)-(34,15))
│ ├── flags: ∅
- │ ├── opening_loc: (370...371) = "\""
- │ ├── content_loc: (371...384) = "foo\\\\\\\#{@bar}"
- │ ├── closing_loc: (384...385) = "\""
+ │ ├── opening_loc: (34,0)-(34,1) = "\""
+ │ ├── content_loc: (34,1)-(34,14) = "foo\\\\\\\#{@bar}"
+ │ ├── closing_loc: (34,14)-(34,15) = "\""
│ └── unescaped: "foo\\\#{@bar}"
- ├── @ StringNode (location: (386...390))
+ ├── @ StringNode (location: (35,0)-(35,4))
│ ├── flags: ∅
- │ ├── opening_loc: (386...387) = "\""
- │ ├── content_loc: (387...389) = "\\\""
- │ ├── closing_loc: (389...390) = "\""
+ │ ├── opening_loc: (35,0)-(35,1) = "\""
+ │ ├── content_loc: (35,1)-(35,3) = "\\\""
+ │ ├── closing_loc: (35,3)-(35,4) = "\""
│ └── unescaped: "\""
- ├── @ StringNode (location: (391...400))
+ ├── @ StringNode (location: (36,0)-(36,9))
│ ├── flags: ∅
- │ ├── opening_loc: (391...392) = "\""
- │ ├── content_loc: (392...399) = "foo bar"
- │ ├── closing_loc: (399...400) = "\""
+ │ ├── opening_loc: (36,0)-(36,1) = "\""
+ │ ├── content_loc: (36,1)-(36,8) = "foo bar"
+ │ ├── closing_loc: (36,8)-(36,9) = "\""
│ └── unescaped: "foo bar"
- ├── @ StringNode (location: (401...411))
+ ├── @ StringNode (location: (37,0)-(37,10))
│ ├── flags: ∅
- │ ├── opening_loc: (401...402) = "\""
- │ ├── content_loc: (402...410) = "foo\\nbar"
- │ ├── closing_loc: (410...411) = "\""
+ │ ├── opening_loc: (37,0)-(37,1) = "\""
+ │ ├── content_loc: (37,1)-(37,9) = "foo\\nbar"
+ │ ├── closing_loc: (37,9)-(37,10) = "\""
│ └── unescaped: "foo\nbar"
- ├── @ XStringNode (location: (412...417))
- │ ├── opening_loc: (412...413) = "`"
- │ ├── content_loc: (413...416) = "foo"
- │ ├── closing_loc: (416...417) = "`"
+ ├── @ XStringNode (location: (38,0)-(38,5))
+ │ ├── opening_loc: (38,0)-(38,1) = "`"
+ │ ├── content_loc: (38,1)-(38,4) = "foo"
+ │ ├── closing_loc: (38,4)-(38,5) = "`"
│ └── unescaped: "foo"
- ├── @ InterpolatedXStringNode (location: (418...430))
- │ ├── opening_loc: (418...419) = "`"
+ ├── @ InterpolatedXStringNode (location: (39,0)-(39,12))
+ │ ├── opening_loc: (39,0)-(39,1) = "`"
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (419...422))
+ │ │ ├── @ StringNode (location: (39,1)-(39,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (419...422) = "foo"
+ │ │ │ ├── content_loc: (39,1)-(39,4) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedStatementsNode (location: (422...429))
- │ │ ├── opening_loc: (422...424) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (39,4)-(39,11))
+ │ │ ├── opening_loc: (39,4)-(39,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (424...428))
+ │ │ │ @ StatementsNode (location: (39,6)-(39,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ InstanceVariableReadNode (location: (424...428))
+ │ │ │ └── @ InstanceVariableReadNode (location: (39,6)-(39,10))
│ │ │ └── name: :@bar
- │ │ └── closing_loc: (428...429) = "}"
- │ └── closing_loc: (429...430) = "`"
- ├── @ XStringNode (location: (431...434))
- │ ├── opening_loc: (431...432) = "`"
- │ ├── content_loc: (432...433) = ")"
- │ ├── closing_loc: (433...434) = "`"
+ │ │ └── closing_loc: (39,10)-(39,11) = "}"
+ │ └── closing_loc: (39,11)-(39,12) = "`"
+ ├── @ XStringNode (location: (40,0)-(40,3))
+ │ ├── opening_loc: (40,0)-(40,1) = "`"
+ │ ├── content_loc: (40,1)-(40,2) = ")"
+ │ ├── closing_loc: (40,2)-(40,3) = "`"
│ └── unescaped: ")"
- ├── @ XStringNode (location: (435...439))
- │ ├── opening_loc: (435...436) = "`"
- │ ├── content_loc: (436...438) = "\\`"
- │ ├── closing_loc: (438...439) = "`"
+ ├── @ XStringNode (location: (41,0)-(41,4))
+ │ ├── opening_loc: (41,0)-(41,1) = "`"
+ │ ├── content_loc: (41,1)-(41,3) = "\\`"
+ │ ├── closing_loc: (41,3)-(41,4) = "`"
│ └── unescaped: "`"
- ├── @ XStringNode (location: (440...443))
- │ ├── opening_loc: (440...441) = "`"
- │ ├── content_loc: (441...442) = "\""
- │ ├── closing_loc: (442...443) = "`"
+ ├── @ XStringNode (location: (42,0)-(42,3))
+ │ ├── opening_loc: (42,0)-(42,1) = "`"
+ │ ├── content_loc: (42,1)-(42,2) = "\""
+ │ ├── closing_loc: (42,2)-(42,3) = "`"
│ └── unescaped: "\""
- ├── @ SymbolNode (location: (444...448))
- │ ├── opening_loc: (444...445) = ":"
- │ ├── value_loc: (445...448) = "foo"
+ ├── @ SymbolNode (location: (43,0)-(43,4))
+ │ ├── opening_loc: (43,0)-(43,1) = ":"
+ │ ├── value_loc: (43,1)-(43,4) = "foo"
│ ├── closing_loc: ∅
│ └── unescaped: "foo"
- ├── @ SymbolNode (location: (449...455))
- │ ├── opening_loc: (449...451) = ":\""
- │ ├── value_loc: (451...454) = "A B"
- │ ├── closing_loc: (454...455) = "\""
+ ├── @ SymbolNode (location: (44,0)-(44,6))
+ │ ├── opening_loc: (44,0)-(44,2) = ":\""
+ │ ├── value_loc: (44,2)-(44,5) = "A B"
+ │ ├── closing_loc: (44,5)-(44,6) = "\""
│ └── unescaped: "A B"
- ├── @ SymbolNode (location: (456...460))
- │ ├── opening_loc: (456...457) = ":"
- │ ├── value_loc: (457...460) = "foo"
+ ├── @ SymbolNode (location: (45,0)-(45,4))
+ │ ├── opening_loc: (45,0)-(45,1) = ":"
+ │ ├── value_loc: (45,1)-(45,4) = "foo"
│ ├── closing_loc: ∅
│ └── unescaped: "foo"
- ├── @ SymbolNode (location: (461...467))
- │ ├── opening_loc: (461...463) = ":\""
- │ ├── value_loc: (463...466) = "A B"
- │ ├── closing_loc: (466...467) = "\""
+ ├── @ SymbolNode (location: (46,0)-(46,6))
+ │ ├── opening_loc: (46,0)-(46,2) = ":\""
+ │ ├── value_loc: (46,2)-(46,5) = "A B"
+ │ ├── closing_loc: (46,5)-(46,6) = "\""
│ └── unescaped: "A B"
- ├── @ SymbolNode (location: (468...475))
- │ ├── opening_loc: (468...470) = ":\""
- │ ├── value_loc: (470...474) = "A\\\"B"
- │ ├── closing_loc: (474...475) = "\""
+ ├── @ SymbolNode (location: (47,0)-(47,7))
+ │ ├── opening_loc: (47,0)-(47,2) = ":\""
+ │ ├── value_loc: (47,2)-(47,6) = "A\\\"B"
+ │ ├── closing_loc: (47,6)-(47,7) = "\""
│ └── unescaped: "A\"B"
- ├── @ SymbolNode (location: (476...479))
- │ ├── opening_loc: (476...478) = ":\""
- │ ├── value_loc: (0...0) = ""
- │ ├── closing_loc: (478...479) = "\""
+ ├── @ SymbolNode (location: (48,0)-(48,3))
+ │ ├── opening_loc: (48,0)-(48,2) = ":\""
+ │ ├── value_loc: (1,0)-(0,0) = ""
+ │ ├── closing_loc: (48,2)-(48,3) = "\""
│ └── unescaped: ""
- ├── @ RegularExpressionNode (location: (480...485))
- │ ├── opening_loc: (480...481) = "/"
- │ ├── content_loc: (481...484) = "foo"
- │ ├── closing_loc: (484...485) = "/"
+ ├── @ RegularExpressionNode (location: (49,0)-(49,5))
+ │ ├── opening_loc: (49,0)-(49,1) = "/"
+ │ ├── content_loc: (49,1)-(49,4) = "foo"
+ │ ├── closing_loc: (49,4)-(49,5) = "/"
│ ├── unescaped: "foo"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (486...514))
- │ ├── opening_loc: (486...487) = "/"
- │ ├── content_loc: (487...513) = "[^-+',.\\/:@[:alnum:]\\[\\]]+"
- │ ├── closing_loc: (513...514) = "/"
+ ├── @ RegularExpressionNode (location: (50,0)-(50,28))
+ │ ├── opening_loc: (50,0)-(50,1) = "/"
+ │ ├── content_loc: (50,1)-(50,27) = "[^-+',.\\/:@[:alnum:]\\[\\]]+"
+ │ ├── closing_loc: (50,27)-(50,28) = "/"
│ ├── unescaped: "[^-+',./:@[:alnum:][]]+"
│ └── flags: ∅
- ├── @ InterpolatedRegularExpressionNode (location: (515...527))
- │ ├── opening_loc: (515...516) = "/"
+ ├── @ InterpolatedRegularExpressionNode (location: (51,0)-(51,12))
+ │ ├── opening_loc: (51,0)-(51,1) = "/"
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (516...519))
+ │ │ ├── @ StringNode (location: (51,1)-(51,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (516...519) = "foo"
+ │ │ │ ├── content_loc: (51,1)-(51,4) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedStatementsNode (location: (519...526))
- │ │ ├── opening_loc: (519...521) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (51,4)-(51,11))
+ │ │ ├── opening_loc: (51,4)-(51,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (521...525))
+ │ │ │ @ StatementsNode (location: (51,6)-(51,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ InstanceVariableReadNode (location: (521...525))
+ │ │ │ └── @ InstanceVariableReadNode (location: (51,6)-(51,10))
│ │ │ └── name: :@bar
- │ │ └── closing_loc: (525...526) = "}"
- │ ├── closing_loc: (526...527) = "/"
+ │ │ └── closing_loc: (51,10)-(51,11) = "}"
+ │ ├── closing_loc: (51,11)-(51,12) = "/"
│ └── flags: ∅
- ├── @ InterpolatedRegularExpressionNode (location: (528...543))
- │ ├── opening_loc: (528...529) = "/"
+ ├── @ InterpolatedRegularExpressionNode (location: (52,0)-(52,15))
+ │ ├── opening_loc: (52,0)-(52,1) = "/"
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (529...532))
+ │ │ ├── @ StringNode (location: (52,1)-(52,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (529...532) = "foo"
+ │ │ │ ├── content_loc: (52,1)-(52,4) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedStatementsNode (location: (532...539))
- │ │ ├── opening_loc: (532...534) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (52,4)-(52,11))
+ │ │ ├── opening_loc: (52,4)-(52,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (534...538))
+ │ │ │ @ StatementsNode (location: (52,6)-(52,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ InstanceVariableReadNode (location: (534...538))
+ │ │ │ └── @ InstanceVariableReadNode (location: (52,6)-(52,10))
│ │ │ └── name: :@bar
- │ │ └── closing_loc: (538...539) = "}"
- │ ├── closing_loc: (539...543) = "/imx"
+ │ │ └── closing_loc: (52,10)-(52,11) = "}"
+ │ ├── closing_loc: (52,11)-(52,15) = "/imx"
│ └── flags: ignore_case, extended, multi_line
- ├── @ InterpolatedRegularExpressionNode (location: (544...557))
- │ ├── opening_loc: (544...545) = "/"
+ ├── @ InterpolatedRegularExpressionNode (location: (53,0)-(53,13))
+ │ ├── opening_loc: (53,0)-(53,1) = "/"
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (545...556))
- │ │ ├── opening_loc: (545...547) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (53,1)-(53,12))
+ │ │ ├── opening_loc: (53,1)-(53,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (547...555))
+ │ │ │ @ StatementsNode (location: (53,3)-(53,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (547...555))
+ │ │ │ └── @ StringNode (location: (53,3)-(53,11))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (547...548) = "\""
- │ │ │ ├── content_loc: (548...554) = "\\u0000"
- │ │ │ ├── closing_loc: (554...555) = "\""
+ │ │ │ ├── opening_loc: (53,3)-(53,4) = "\""
+ │ │ │ ├── content_loc: (53,4)-(53,10) = "\\u0000"
+ │ │ │ ├── closing_loc: (53,10)-(53,11) = "\""
│ │ │ └── unescaped: "\u0000"
- │ │ └── closing_loc: (555...556) = "}"
- │ ├── closing_loc: (556...557) = "/"
+ │ │ └── closing_loc: (53,11)-(53,12) = "}"
+ │ ├── closing_loc: (53,12)-(53,13) = "/"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (558...562))
- │ ├── opening_loc: (558...559) = "/"
- │ ├── content_loc: (559...561) = "\\n"
- │ ├── closing_loc: (561...562) = "/"
+ ├── @ RegularExpressionNode (location: (54,0)-(54,4))
+ │ ├── opening_loc: (54,0)-(54,1) = "/"
+ │ ├── content_loc: (54,1)-(54,3) = "\\n"
+ │ ├── closing_loc: (54,3)-(54,4) = "/"
│ ├── unescaped: "\n"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (563...567))
- │ ├── opening_loc: (563...564) = "/"
- │ ├── content_loc: (564...566) = "\\n"
- │ ├── closing_loc: (566...567) = "/"
+ ├── @ RegularExpressionNode (location: (55,0)-(55,4))
+ │ ├── opening_loc: (55,0)-(55,1) = "/"
+ │ ├── content_loc: (55,1)-(55,3) = "\\n"
+ │ ├── closing_loc: (55,3)-(55,4) = "/"
│ ├── unescaped: "\n"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (568...573))
- │ ├── opening_loc: (568...569) = "/"
- │ ├── content_loc: (569...571) = "\\n"
- │ ├── closing_loc: (571...573) = "/x"
+ ├── @ RegularExpressionNode (location: (56,0)-(56,5))
+ │ ├── opening_loc: (56,0)-(56,1) = "/"
+ │ ├── content_loc: (56,1)-(56,3) = "\\n"
+ │ ├── closing_loc: (56,3)-(56,5) = "/x"
│ ├── unescaped: "\n"
│ └── flags: extended
- ├── @ RegularExpressionNode (location: (574...581))
- │ ├── opening_loc: (574...575) = "/"
- │ ├── content_loc: (575...579) = "\\/\\/"
- │ ├── closing_loc: (579...581) = "/x"
+ ├── @ RegularExpressionNode (location: (57,0)-(57,7))
+ │ ├── opening_loc: (57,0)-(57,1) = "/"
+ │ ├── content_loc: (57,1)-(57,5) = "\\/\\/"
+ │ ├── closing_loc: (57,5)-(57,7) = "/x"
│ ├── unescaped: "//"
│ └── flags: extended
- ├── @ InterpolatedSymbolNode (location: (582...597))
- │ ├── opening_loc: (582...584) = ":\""
+ ├── @ InterpolatedSymbolNode (location: (58,0)-(58,15))
+ │ ├── opening_loc: (58,0)-(58,2) = ":\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (584...587))
+ │ │ ├── @ StringNode (location: (58,2)-(58,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (584...587) = "foo"
+ │ │ │ ├── content_loc: (58,2)-(58,5) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ ├── @ EmbeddedStatementsNode (location: (587...593))
- │ │ │ ├── opening_loc: (587...589) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (58,5)-(58,11))
+ │ │ │ ├── opening_loc: (58,5)-(58,7) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (589...592))
+ │ │ │ │ @ StatementsNode (location: (58,7)-(58,10))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (589...592))
+ │ │ │ │ └── @ CallNode (location: (58,7)-(58,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (589...592) = "bar"
+ │ │ │ │ ├── message_loc: (58,7)-(58,10) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (592...593) = "}"
- │ │ └── @ StringNode (location: (593...596))
+ │ │ │ └── closing_loc: (58,10)-(58,11) = "}"
+ │ │ └── @ StringNode (location: (58,11)-(58,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (593...596) = "baz"
+ │ │ ├── content_loc: (58,11)-(58,14) = "baz"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "baz"
- │ └── closing_loc: (596...597) = "\""
- ├── @ InterpolatedSymbolNode (location: (598...609))
- │ ├── opening_loc: (598...600) = ":\""
+ │ └── closing_loc: (58,14)-(58,15) = "\""
+ ├── @ InterpolatedSymbolNode (location: (59,0)-(59,11))
+ │ ├── opening_loc: (59,0)-(59,2) = ":\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (600...608))
- │ │ ├── opening_loc: (600...602) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (59,2)-(59,10))
+ │ │ ├── opening_loc: (59,2)-(59,4) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (602...607))
+ │ │ │ @ StatementsNode (location: (59,4)-(59,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (602...607))
+ │ │ │ └── @ StringNode (location: (59,4)-(59,9))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (602...603) = "\""
- │ │ │ ├── content_loc: (603...606) = "foo"
- │ │ │ ├── closing_loc: (606...607) = "\""
+ │ │ │ ├── opening_loc: (59,4)-(59,5) = "\""
+ │ │ │ ├── content_loc: (59,5)-(59,8) = "foo"
+ │ │ │ ├── closing_loc: (59,8)-(59,9) = "\""
│ │ │ └── unescaped: "foo"
- │ │ └── closing_loc: (607...608) = "}"
- │ └── closing_loc: (608...609) = "\""
- ├── @ RangeNode (location: (610...624))
+ │ │ └── closing_loc: (59,9)-(59,10) = "}"
+ │ └── closing_loc: (59,10)-(59,11) = "\""
+ ├── @ RangeNode (location: (60,0)-(60,14))
│ ├── left:
- │ │ @ ParenthesesNode (location: (610...621))
+ │ │ @ ParenthesesNode (location: (60,0)-(60,11))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (611...620))
+ │ │ │ @ StatementsNode (location: (60,1)-(60,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (611...620))
+ │ │ │ └── @ CallNode (location: (60,1)-(60,10))
│ │ │ ├── receiver:
- │ │ │ │ @ FloatNode (location: (611...614))
+ │ │ │ │ @ FloatNode (location: (60,1)-(60,4))
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (615...616) = "/"
+ │ │ │ ├── message_loc: (60,5)-(60,6) = "/"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (617...620))
+ │ │ │ │ @ ArgumentsNode (location: (60,7)-(60,10))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (617...620))
+ │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10))
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "/"
- │ │ ├── opening_loc: (610...611) = "("
- │ │ └── closing_loc: (620...621) = ")"
+ │ │ ├── opening_loc: (60,0)-(60,1) = "("
+ │ │ └── closing_loc: (60,10)-(60,11) = ")"
│ ├── right:
- │ │ @ IntegerNode (location: (623...624))
+ │ │ @ IntegerNode (location: (60,13)-(60,14))
│ │ └── flags: decimal
- │ ├── operator_loc: (621...623) = ".."
+ │ ├── operator_loc: (60,11)-(60,13) = ".."
│ └── flags: ∅
- ├── @ RangeNode (location: (625...639))
+ ├── @ RangeNode (location: (61,0)-(61,14))
│ ├── left:
- │ │ @ IntegerNode (location: (625...626))
+ │ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ ParenthesesNode (location: (628...639))
+ │ │ @ ParenthesesNode (location: (61,3)-(61,14))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (629...638))
+ │ │ │ @ StatementsNode (location: (61,4)-(61,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (629...638))
+ │ │ │ └── @ CallNode (location: (61,4)-(61,13))
│ │ │ ├── receiver:
- │ │ │ │ @ FloatNode (location: (629...632))
+ │ │ │ │ @ FloatNode (location: (61,4)-(61,7))
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (633...634) = "/"
+ │ │ │ ├── message_loc: (61,8)-(61,9) = "/"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (635...638))
+ │ │ │ │ @ ArgumentsNode (location: (61,10)-(61,13))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (635...638))
+ │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13))
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "/"
- │ │ ├── opening_loc: (628...629) = "("
- │ │ └── closing_loc: (638...639) = ")"
- │ ├── operator_loc: (626...628) = ".."
+ │ │ ├── opening_loc: (61,3)-(61,4) = "("
+ │ │ └── closing_loc: (61,13)-(61,14) = ")"
+ │ ├── operator_loc: (61,1)-(61,3) = ".."
│ └── flags: ∅
- ├── @ RangeNode (location: (640...656))
+ ├── @ RangeNode (location: (62,0)-(62,16))
│ ├── left:
- │ │ @ ParenthesesNode (location: (640...651))
+ │ │ @ ParenthesesNode (location: (62,0)-(62,11))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (641...650))
+ │ │ │ @ StatementsNode (location: (62,1)-(62,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (641...650))
+ │ │ │ └── @ CallNode (location: (62,1)-(62,10))
│ │ │ ├── receiver:
- │ │ │ │ @ FloatNode (location: (641...644))
+ │ │ │ │ @ FloatNode (location: (62,1)-(62,4))
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (645...646) = "/"
+ │ │ │ ├── message_loc: (62,5)-(62,6) = "/"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (647...650))
+ │ │ │ │ @ ArgumentsNode (location: (62,7)-(62,10))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (647...650))
+ │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10))
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "/"
- │ │ ├── opening_loc: (640...641) = "("
- │ │ └── closing_loc: (650...651) = ")"
+ │ │ ├── opening_loc: (62,0)-(62,1) = "("
+ │ │ └── closing_loc: (62,10)-(62,11) = ")"
│ ├── right:
- │ │ @ IntegerNode (location: (653...656))
+ │ │ @ IntegerNode (location: (62,13)-(62,16))
│ │ └── flags: decimal
- │ ├── operator_loc: (651...653) = ".."
+ │ ├── operator_loc: (62,11)-(62,13) = ".."
│ └── flags: ∅
- ├── @ FloatNode (location: (657...661))
- ├── @ FloatNode (location: (662...665))
- ├── @ ArrayNode (location: (666...672))
+ ├── @ FloatNode (location: (63,0)-(63,4))
+ ├── @ FloatNode (location: (64,0)-(64,3))
+ ├── @ ArrayNode (location: (65,0)-(65,6))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (667...668))
+ │ │ ├── @ IntegerNode (location: (65,1)-(65,2))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (670...671))
+ │ │ └── @ IntegerNode (location: (65,4)-(65,5))
│ │ └── flags: decimal
- │ ├── opening_loc: (666...667) = "["
- │ └── closing_loc: (671...672) = "]"
- ├── @ ArrayNode (location: (673...684))
+ │ ├── opening_loc: (65,0)-(65,1) = "["
+ │ └── closing_loc: (65,5)-(65,6) = "]"
+ ├── @ ArrayNode (location: (66,0)-(66,11))
│ ├── elements: (length: 3)
- │ │ ├── @ IntegerNode (location: (674...675))
+ │ │ ├── @ IntegerNode (location: (66,1)-(66,2))
│ │ │ └── flags: decimal
- │ │ ├── @ ParenthesesNode (location: (677...679))
+ │ │ ├── @ ParenthesesNode (location: (66,4)-(66,6))
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (677...678) = "("
- │ │ │ └── closing_loc: (678...679) = ")"
- │ │ └── @ CallNode (location: (681...683))
+ │ │ │ ├── opening_loc: (66,4)-(66,5) = "("
+ │ │ │ └── closing_loc: (66,5)-(66,6) = ")"
+ │ │ └── @ CallNode (location: (66,8)-(66,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (681...683) = "n2"
+ │ │ ├── message_loc: (66,8)-(66,10) = "n2"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "n2"
- │ ├── opening_loc: (673...674) = "["
- │ └── closing_loc: (683...684) = "]"
- ├── @ ArrayNode (location: (685...688))
+ │ ├── opening_loc: (66,0)-(66,1) = "["
+ │ └── closing_loc: (66,10)-(66,11) = "]"
+ ├── @ ArrayNode (location: (67,0)-(67,3))
│ ├── elements: (length: 1)
- │ │ └── @ IntegerNode (location: (686...687))
+ │ │ └── @ IntegerNode (location: (67,1)-(67,2))
│ │ └── flags: decimal
- │ ├── opening_loc: (685...686) = "["
- │ └── closing_loc: (687...688) = "]"
- ├── @ ArrayNode (location: (689...691))
+ │ ├── opening_loc: (67,0)-(67,1) = "["
+ │ └── closing_loc: (67,2)-(67,3) = "]"
+ ├── @ ArrayNode (location: (68,0)-(68,2))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (689...690) = "["
- │ └── closing_loc: (690...691) = "]"
- ├── @ ArrayNode (location: (692...702))
+ │ ├── opening_loc: (68,0)-(68,1) = "["
+ │ └── closing_loc: (68,1)-(68,2) = "]"
+ ├── @ ArrayNode (location: (69,0)-(69,10))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (693...694))
+ │ │ ├── @ IntegerNode (location: (69,1)-(69,2))
│ │ │ └── flags: decimal
- │ │ └── @ SplatNode (location: (696...701))
- │ │ ├── operator_loc: (696...697) = "*"
+ │ │ └── @ SplatNode (location: (69,4)-(69,9))
+ │ │ ├── operator_loc: (69,4)-(69,5) = "*"
│ │ └── expression:
- │ │ @ InstanceVariableReadNode (location: (697...701))
+ │ │ @ InstanceVariableReadNode (location: (69,5)-(69,9))
│ │ └── name: :@foo
- │ ├── opening_loc: (692...693) = "["
- │ └── closing_loc: (701...702) = "]"
- ├── @ ArrayNode (location: (703...713))
+ │ ├── opening_loc: (69,0)-(69,1) = "["
+ │ └── closing_loc: (69,9)-(69,10) = "]"
+ ├── @ ArrayNode (location: (70,0)-(70,10))
│ ├── elements: (length: 2)
- │ │ ├── @ SplatNode (location: (704...709))
- │ │ │ ├── operator_loc: (704...705) = "*"
+ │ │ ├── @ SplatNode (location: (70,1)-(70,6))
+ │ │ │ ├── operator_loc: (70,1)-(70,2) = "*"
│ │ │ └── expression:
- │ │ │ @ InstanceVariableReadNode (location: (705...709))
+ │ │ │ @ InstanceVariableReadNode (location: (70,2)-(70,6))
│ │ │ └── name: :@foo
- │ │ └── @ IntegerNode (location: (711...712))
+ │ │ └── @ IntegerNode (location: (70,8)-(70,9))
│ │ └── flags: decimal
- │ ├── opening_loc: (703...704) = "["
- │ └── closing_loc: (712...713) = "]"
- ├── @ ArrayNode (location: (714...728))
+ │ ├── opening_loc: (70,0)-(70,1) = "["
+ │ └── closing_loc: (70,9)-(70,10) = "]"
+ ├── @ ArrayNode (location: (71,0)-(71,14))
│ ├── elements: (length: 2)
- │ │ ├── @ SplatNode (location: (715...720))
- │ │ │ ├── operator_loc: (715...716) = "*"
+ │ │ ├── @ SplatNode (location: (71,1)-(71,6))
+ │ │ │ ├── operator_loc: (71,1)-(71,2) = "*"
│ │ │ └── expression:
- │ │ │ @ InstanceVariableReadNode (location: (716...720))
+ │ │ │ @ InstanceVariableReadNode (location: (71,2)-(71,6))
│ │ │ └── name: :@foo
- │ │ └── @ SplatNode (location: (722...727))
- │ │ ├── operator_loc: (722...723) = "*"
+ │ │ └── @ SplatNode (location: (71,8)-(71,13))
+ │ │ ├── operator_loc: (71,8)-(71,9) = "*"
│ │ └── expression:
- │ │ @ InstanceVariableReadNode (location: (723...727))
+ │ │ @ InstanceVariableReadNode (location: (71,9)-(71,13))
│ │ └── name: :@baz
- │ ├── opening_loc: (714...715) = "["
- │ └── closing_loc: (727...728) = "]"
- ├── @ HashNode (location: (729...731))
- │ ├── opening_loc: (729...730) = "{"
+ │ ├── opening_loc: (71,0)-(71,1) = "["
+ │ └── closing_loc: (71,13)-(71,14) = "]"
+ ├── @ HashNode (location: (72,0)-(72,2))
+ │ ├── opening_loc: (72,0)-(72,1) = "{"
│ ├── elements: (length: 0)
- │ └── closing_loc: (730...731) = "}"
- ├── @ HashNode (location: (732...744))
- │ ├── opening_loc: (732...733) = "{"
+ │ └── closing_loc: (72,1)-(72,2) = "}"
+ ├── @ HashNode (location: (73,0)-(73,12))
+ │ ├── opening_loc: (73,0)-(73,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (734...742))
+ │ │ └── @ AssocNode (location: (73,2)-(73,10))
│ │ ├── key:
- │ │ │ @ ParenthesesNode (location: (734...736))
+ │ │ │ @ ParenthesesNode (location: (73,2)-(73,4))
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (734...735) = "("
- │ │ │ └── closing_loc: (735...736) = ")"
+ │ │ │ ├── opening_loc: (73,2)-(73,3) = "("
+ │ │ │ └── closing_loc: (73,3)-(73,4) = ")"
│ │ ├── value:
- │ │ │ @ ParenthesesNode (location: (740...742))
+ │ │ │ @ ParenthesesNode (location: (73,8)-(73,10))
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (740...741) = "("
- │ │ │ └── closing_loc: (741...742) = ")"
- │ │ └── operator_loc: (737...739) = "=>"
- │ └── closing_loc: (743...744) = "}"
- ├── @ HashNode (location: (745...755))
- │ ├── opening_loc: (745...746) = "{"
+ │ │ │ ├── opening_loc: (73,8)-(73,9) = "("
+ │ │ │ └── closing_loc: (73,9)-(73,10) = ")"
+ │ │ └── operator_loc: (73,5)-(73,7) = "=>"
+ │ └── closing_loc: (73,11)-(73,12) = "}"
+ ├── @ HashNode (location: (74,0)-(74,10))
+ │ ├── opening_loc: (74,0)-(74,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (747...753))
+ │ │ └── @ AssocNode (location: (74,2)-(74,8))
│ │ ├── key:
- │ │ │ @ IntegerNode (location: (747...748))
+ │ │ │ @ IntegerNode (location: (74,2)-(74,3))
│ │ │ └── flags: decimal
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (752...753))
+ │ │ │ @ IntegerNode (location: (74,7)-(74,8))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (749...751) = "=>"
- │ └── closing_loc: (754...755) = "}"
- ├── @ HashNode (location: (756...774))
- │ ├── opening_loc: (756...757) = "{"
+ │ │ └── operator_loc: (74,4)-(74,6) = "=>"
+ │ └── closing_loc: (74,9)-(74,10) = "}"
+ ├── @ HashNode (location: (75,0)-(75,18))
+ │ ├── opening_loc: (75,0)-(75,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (758...764))
+ │ │ ├── @ AssocNode (location: (75,2)-(75,8))
│ │ │ ├── key:
- │ │ │ │ @ IntegerNode (location: (758...759))
+ │ │ │ │ @ IntegerNode (location: (75,2)-(75,3))
│ │ │ │ └── flags: decimal
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (763...764))
+ │ │ │ │ @ IntegerNode (location: (75,7)-(75,8))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (760...762) = "=>"
- │ │ └── @ AssocNode (location: (766...772))
+ │ │ │ └── operator_loc: (75,4)-(75,6) = "=>"
+ │ │ └── @ AssocNode (location: (75,10)-(75,16))
│ │ ├── key:
- │ │ │ @ IntegerNode (location: (766...767))
+ │ │ │ @ IntegerNode (location: (75,10)-(75,11))
│ │ │ └── flags: decimal
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (771...772))
+ │ │ │ @ IntegerNode (location: (75,15)-(75,16))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (768...770) = "=>"
- │ └── closing_loc: (773...774) = "}"
- ├── @ HashNode (location: (775...802))
- │ ├── opening_loc: (775...776) = "{"
+ │ │ └── operator_loc: (75,12)-(75,14) = "=>"
+ │ └── closing_loc: (75,17)-(75,18) = "}"
+ ├── @ HashNode (location: (76,0)-(76,27))
+ │ ├── opening_loc: (76,0)-(76,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (777...794))
+ │ │ ├── @ AssocNode (location: (76,2)-(76,19))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (777...779))
+ │ │ │ │ @ SymbolNode (location: (76,2)-(76,4))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (777...778) = "a"
- │ │ │ │ ├── closing_loc: (778...779) = ":"
+ │ │ │ │ ├── value_loc: (76,2)-(76,3) = "a"
+ │ │ │ │ ├── closing_loc: (76,3)-(76,4) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ ParenthesesNode (location: (780...794))
+ │ │ │ │ @ ParenthesesNode (location: (76,5)-(76,19))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (781...793))
+ │ │ │ │ │ @ StatementsNode (location: (76,6)-(76,18))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ RescueModifierNode (location: (781...793))
+ │ │ │ │ │ └── @ RescueModifierNode (location: (76,6)-(76,18))
│ │ │ │ │ ├── expression:
- │ │ │ │ │ │ @ IntegerNode (location: (781...782))
+ │ │ │ │ │ │ @ IntegerNode (location: (76,6)-(76,7))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ ├── keyword_loc: (783...789) = "rescue"
+ │ │ │ │ │ ├── keyword_loc: (76,8)-(76,14) = "rescue"
│ │ │ │ │ └── rescue_expression:
- │ │ │ │ │ @ CallNode (location: (790...793))
+ │ │ │ │ │ @ CallNode (location: (76,15)-(76,18))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (790...793) = "foo"
+ │ │ │ │ │ ├── message_loc: (76,15)-(76,18) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "foo"
- │ │ │ │ ├── opening_loc: (780...781) = "("
- │ │ │ │ └── closing_loc: (793...794) = ")"
+ │ │ │ │ ├── opening_loc: (76,5)-(76,6) = "("
+ │ │ │ │ └── closing_loc: (76,18)-(76,19) = ")"
│ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (796...800))
+ │ │ └── @ AssocNode (location: (76,21)-(76,25))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (796...798))
+ │ │ │ @ SymbolNode (location: (76,21)-(76,23))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (796...797) = "b"
- │ │ │ ├── closing_loc: (797...798) = ":"
+ │ │ │ ├── value_loc: (76,21)-(76,22) = "b"
+ │ │ │ ├── closing_loc: (76,22)-(76,23) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (799...800))
+ │ │ │ @ IntegerNode (location: (76,24)-(76,25))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (801...802) = "}"
- ├── @ HashNode (location: (803...817))
- │ ├── opening_loc: (803...804) = "{"
+ │ └── closing_loc: (76,26)-(76,27) = "}"
+ ├── @ HashNode (location: (77,0)-(77,14))
+ │ ├── opening_loc: (77,0)-(77,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (805...809))
+ │ │ ├── @ AssocNode (location: (77,2)-(77,6))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (805...807))
+ │ │ │ │ @ SymbolNode (location: (77,2)-(77,4))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (805...806) = "a"
- │ │ │ │ ├── closing_loc: (806...807) = ":"
+ │ │ │ │ ├── value_loc: (77,2)-(77,3) = "a"
+ │ │ │ │ ├── closing_loc: (77,3)-(77,4) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (808...809))
+ │ │ │ │ @ IntegerNode (location: (77,5)-(77,6))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (811...815))
+ │ │ └── @ AssocNode (location: (77,8)-(77,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (811...813))
+ │ │ │ @ SymbolNode (location: (77,8)-(77,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (811...812) = "b"
- │ │ │ ├── closing_loc: (812...813) = ":"
+ │ │ │ ├── value_loc: (77,8)-(77,9) = "b"
+ │ │ │ ├── closing_loc: (77,9)-(77,10) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (814...815))
+ │ │ │ @ IntegerNode (location: (77,11)-(77,12))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (816...817) = "}"
- ├── @ HashNode (location: (818...827))
- │ ├── opening_loc: (818...819) = "{"
+ │ └── closing_loc: (77,13)-(77,14) = "}"
+ ├── @ HashNode (location: (78,0)-(78,9))
+ │ ├── opening_loc: (78,0)-(78,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (820...825))
+ │ │ └── @ AssocNode (location: (78,2)-(78,7))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (820...822))
+ │ │ │ @ SymbolNode (location: (78,2)-(78,4))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (820...821) = "a"
- │ │ │ ├── closing_loc: (821...822) = ":"
+ │ │ │ ├── value_loc: (78,2)-(78,3) = "a"
+ │ │ │ ├── closing_loc: (78,3)-(78,4) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ SymbolNode (location: (823...825))
- │ │ │ ├── opening_loc: (823...824) = ":"
- │ │ │ ├── value_loc: (824...825) = "a"
+ │ │ │ @ SymbolNode (location: (78,5)-(78,7))
+ │ │ │ ├── opening_loc: (78,5)-(78,6) = ":"
+ │ │ │ ├── value_loc: (78,6)-(78,7) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (826...827) = "}"
- ├── @ HashNode (location: (828...843))
- │ ├── opening_loc: (828...829) = "{"
+ │ └── closing_loc: (78,8)-(78,9) = "}"
+ ├── @ HashNode (location: (79,0)-(79,15))
+ │ ├── opening_loc: (79,0)-(79,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (830...841))
+ │ │ └── @ AssocNode (location: (79,2)-(79,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (830...836))
- │ │ │ ├── opening_loc: (830...832) = ":\""
- │ │ │ ├── value_loc: (832...835) = "a b"
- │ │ │ ├── closing_loc: (835...836) = "\""
+ │ │ │ @ SymbolNode (location: (79,2)-(79,8))
+ │ │ │ ├── opening_loc: (79,2)-(79,4) = ":\""
+ │ │ │ ├── value_loc: (79,4)-(79,7) = "a b"
+ │ │ │ ├── closing_loc: (79,7)-(79,8) = "\""
│ │ │ └── unescaped: "a b"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (840...841))
+ │ │ │ @ IntegerNode (location: (79,12)-(79,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (837...839) = "=>"
- │ └── closing_loc: (842...843) = "}"
- ├── @ HashNode (location: (844...856))
- │ ├── opening_loc: (844...845) = "{"
+ │ │ └── operator_loc: (79,9)-(79,11) = "=>"
+ │ └── closing_loc: (79,14)-(79,15) = "}"
+ ├── @ HashNode (location: (80,0)-(80,12))
+ │ ├── opening_loc: (80,0)-(80,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (846...854))
+ │ │ └── @ AssocNode (location: (80,2)-(80,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (846...849))
- │ │ │ ├── opening_loc: (846...847) = ":"
- │ │ │ ├── value_loc: (847...849) = "-@"
+ │ │ │ @ SymbolNode (location: (80,2)-(80,5))
+ │ │ │ ├── opening_loc: (80,2)-(80,3) = ":"
+ │ │ │ ├── value_loc: (80,3)-(80,5) = "-@"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "-@"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (853...854))
+ │ │ │ @ IntegerNode (location: (80,9)-(80,10))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (850...852) = "=>"
- │ └── closing_loc: (855...856) = "}"
- ├── @ InterpolatedStringNode (location: (857...869))
- │ ├── opening_loc: (857...858) = "\""
+ │ │ └── operator_loc: (80,6)-(80,8) = "=>"
+ │ └── closing_loc: (80,11)-(80,12) = "}"
+ ├── @ InterpolatedStringNode (location: (81,0)-(82,7))
+ │ ├── opening_loc: (81,0)-(81,1) = "\""
│ ├── parts: (length: 4)
- │ │ ├── @ EmbeddedStatementsNode (location: (858...861))
- │ │ │ ├── opening_loc: (858...860) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (81,1)-(81,4))
+ │ │ │ ├── opening_loc: (81,1)-(81,3) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (860...861) = "}"
- │ │ ├── @ StringNode (location: (861...862))
+ │ │ │ └── closing_loc: (81,3)-(81,4) = "}"
+ │ │ ├── @ StringNode (location: (81,4)-(81,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (861...862) = "\n"
+ │ │ │ ├── content_loc: (81,4)-(81,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (862...865))
- │ │ │ ├── opening_loc: (862...864) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (82,0)-(82,3))
+ │ │ │ ├── opening_loc: (82,0)-(82,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (864...865) = "}"
- │ │ └── @ StringNode (location: (865...868))
+ │ │ │ └── closing_loc: (82,2)-(82,3) = "}"
+ │ │ └── @ StringNode (location: (82,3)-(82,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (865...868) = "\\na"
+ │ │ ├── content_loc: (82,3)-(82,6) = "\\na"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\na"
- │ └── closing_loc: (868...869) = "\""
- ├── @ CallNode (location: (870...892))
+ │ └── closing_loc: (82,6)-(82,7) = "\""
+ ├── @ CallNode (location: (83,0)-(86,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (870...873) = "foo"
+ │ ├── message_loc: (83,0)-(83,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (874...892))
+ │ │ @ BlockNode (location: (83,4)-(86,1))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (878...890))
+ │ │ │ @ StatementsNode (location: (84,2)-(85,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ InterpolatedStringNode (location: (878...890))
- │ │ │ ├── opening_loc: (878...879) = "\""
+ │ │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7))
+ │ │ │ ├── opening_loc: (84,2)-(84,3) = "\""
│ │ │ ├── parts: (length: 4)
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (879...882))
- │ │ │ │ │ ├── opening_loc: (879...881) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6))
+ │ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{"
│ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (881...882) = "}"
- │ │ │ │ ├── @ StringNode (location: (882...883))
+ │ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}"
+ │ │ │ │ ├── @ StringNode (location: (84,6)-(84,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (882...883) = "\n"
+ │ │ │ │ │ ├── content_loc: (84,6)-(84,0) = "\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "\n"
- │ │ │ │ ├── @ EmbeddedStatementsNode (location: (883...886))
- │ │ │ │ │ ├── opening_loc: (883...885) = "\#{"
+ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3))
+ │ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{"
│ │ │ │ │ ├── statements: ∅
- │ │ │ │ │ └── closing_loc: (885...886) = "}"
- │ │ │ │ └── @ StringNode (location: (886...889))
+ │ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}"
+ │ │ │ │ └── @ StringNode (location: (85,3)-(85,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (886...889) = "\\na"
+ │ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "\na"
- │ │ │ └── closing_loc: (889...890) = "\""
- │ │ ├── opening_loc: (874...875) = "{"
- │ │ └── closing_loc: (891...892) = "}"
+ │ │ │ └── closing_loc: (85,6)-(85,7) = "\""
+ │ │ ├── opening_loc: (83,4)-(83,5) = "{"
+ │ │ └── closing_loc: (86,0)-(86,1) = "}"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ SymbolNode (location: (893...901))
- │ ├── opening_loc: (893...895) = ":\""
- │ ├── value_loc: (895...900) = "a\\\\\nb"
- │ ├── closing_loc: (900...901) = "\""
+ ├── @ SymbolNode (location: (87,0)-(88,2))
+ │ ├── opening_loc: (87,0)-(87,2) = ":\""
+ │ ├── value_loc: (87,2)-(88,1) = "a\\\\\nb"
+ │ ├── closing_loc: (88,1)-(88,2) = "\""
│ └── unescaped: "a\\\nb"
- └── @ InterpolatedXStringNode (location: (902...916))
- ├── opening_loc: (902...903) = "`"
+ └── @ InterpolatedXStringNode (location: (89,0)-(91,2))
+ ├── opening_loc: (89,0)-(89,1) = "`"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (903...907))
+ │ ├── @ StringNode (location: (89,1)-(89,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (903...907) = " x\n"
+ │ │ ├── content_loc: (89,1)-(89,0) = " x\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " x\n"
- │ ├── @ EmbeddedStatementsNode (location: (907...913))
- │ │ ├── opening_loc: (907...909) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (90,0)-(90,6))
+ │ │ ├── opening_loc: (90,0)-(90,2) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (909...912))
+ │ │ │ @ StatementsNode (location: (90,2)-(90,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (909...912))
+ │ │ │ └── @ CallNode (location: (90,2)-(90,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (909...912) = "foo"
+ │ │ │ ├── message_loc: (90,2)-(90,5) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── closing_loc: (912...913) = "}"
- │ └── @ StringNode (location: (913...915))
+ │ │ └── closing_loc: (90,5)-(90,6) = "}"
+ │ └── @ StringNode (location: (90,6)-(91,1))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (913...915) = "\n#"
+ │ ├── content_loc: (90,6)-(91,1) = "\n#"
│ ├── closing_loc: ∅
│ └── unescaped: "\n#"
- └── closing_loc: (915...916) = "`"
+ └── closing_loc: (91,1)-(91,2) = "`"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/module.txt b/test/yarp/snapshots/unparser/corpus/literal/module.txt
index 74f960f946..826b8628f7 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/module.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/module.txt
@@ -1,105 +1,105 @@
-@ ProgramNode (location: (0...106))
+@ ProgramNode (location: (1,0)-(16,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...106))
+ @ StatementsNode (location: (1,0)-(16,3))
└── body: (length: 4)
- ├── @ ModuleNode (location: (0...12))
+ ├── @ ModuleNode (location: (1,0)-(2,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (0...6) = "module"
+ │ ├── module_keyword_loc: (1,0)-(1,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (7...8))
+ │ │ @ ConstantReadNode (location: (1,7)-(1,8))
│ │ └── name: :A
│ ├── body: ∅
- │ ├── end_keyword_loc: (9...12) = "end"
+ │ ├── end_keyword_loc: (2,0)-(2,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (14...29))
+ ├── @ ModuleNode (location: (4,0)-(5,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (14...20) = "module"
+ │ ├── module_keyword_loc: (4,0)-(4,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (21...25))
+ │ │ @ ConstantPathNode (location: (4,7)-(4,11))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (21...22))
+ │ │ │ @ ConstantReadNode (location: (4,7)-(4,8))
│ │ │ └── name: :A
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (24...25))
+ │ │ │ @ ConstantReadNode (location: (4,10)-(4,11))
│ │ │ └── name: :B
- │ │ └── delimiter_loc: (22...24) = "::"
+ │ │ └── delimiter_loc: (4,8)-(4,10) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (26...29) = "end"
+ │ ├── end_keyword_loc: (5,0)-(5,3) = "end"
│ └── name: :B
- ├── @ ModuleNode (location: (31...49))
+ ├── @ ModuleNode (location: (7,0)-(8,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (31...37) = "module"
+ │ ├── module_keyword_loc: (7,0)-(7,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (38...45))
+ │ │ @ ConstantPathNode (location: (7,7)-(7,14))
│ │ ├── parent:
- │ │ │ @ ConstantPathNode (location: (38...42))
+ │ │ │ @ ConstantPathNode (location: (7,7)-(7,11))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (38...39))
+ │ │ │ │ @ ConstantReadNode (location: (7,7)-(7,8))
│ │ │ │ └── name: :A
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (41...42))
+ │ │ │ │ @ ConstantReadNode (location: (7,10)-(7,11))
│ │ │ │ └── name: :B
- │ │ │ └── delimiter_loc: (39...41) = "::"
+ │ │ │ └── delimiter_loc: (7,8)-(7,10) = "::"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (44...45))
+ │ │ │ @ ConstantReadNode (location: (7,13)-(7,14))
│ │ │ └── name: :C
- │ │ └── delimiter_loc: (42...44) = "::"
+ │ │ └── delimiter_loc: (7,11)-(7,13) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (46...49) = "end"
+ │ ├── end_keyword_loc: (8,0)-(8,3) = "end"
│ └── name: :C
- └── @ ModuleNode (location: (51...106))
+ └── @ ModuleNode (location: (10,0)-(16,3))
├── locals: []
- ├── module_keyword_loc: (51...57) = "module"
+ ├── module_keyword_loc: (10,0)-(10,6) = "module"
├── constant_path:
- │ @ ConstantReadNode (location: (58...59))
+ │ @ ConstantReadNode (location: (10,7)-(10,8))
│ └── name: :A
├── body:
- │ @ StatementsNode (location: (62...102))
+ │ @ StatementsNode (location: (11,2)-(15,5))
│ └── body: (length: 2)
- │ ├── @ CallNode (location: (62...76))
+ │ ├── @ CallNode (location: (11,2)-(11,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (62...69) = "include"
- │ │ ├── opening_loc: (69...70) = "("
+ │ │ ├── message_loc: (11,2)-(11,9) = "include"
+ │ │ ├── opening_loc: (11,9)-(11,10) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (70...75))
+ │ │ │ @ ArgumentsNode (location: (11,10)-(11,15))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (70...75))
+ │ │ │ └── @ CallNode (location: (11,10)-(11,15))
│ │ │ ├── receiver:
- │ │ │ │ @ ConstantReadNode (location: (70...71))
+ │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11))
│ │ │ │ └── name: :B
- │ │ │ ├── call_operator_loc: (71...72) = "."
- │ │ │ ├── message_loc: (72...75) = "new"
+ │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "."
+ │ │ │ ├── message_loc: (11,12)-(11,15) = "new"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "new"
- │ │ ├── closing_loc: (75...76) = ")"
+ │ │ ├── closing_loc: (11,15)-(11,16) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "include"
- │ └── @ DefNode (location: (80...102))
+ │ └── @ DefNode (location: (13,2)-(15,5))
│ ├── name: :foo
- │ ├── name_loc: (84...87) = "foo"
+ │ ├── name_loc: (13,6)-(13,9) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (92...96))
+ │ │ @ StatementsNode (location: (14,4)-(14,8))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (92...96))
- │ │ ├── opening_loc: (92...93) = ":"
- │ │ ├── value_loc: (93...96) = "bar"
+ │ │ └── @ SymbolNode (location: (14,4)-(14,8))
+ │ │ ├── opening_loc: (14,4)-(14,5) = ":"
+ │ │ ├── value_loc: (14,5)-(14,8) = "bar"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bar"
│ ├── locals: []
- │ ├── def_keyword_loc: (80...83) = "def"
+ │ ├── def_keyword_loc: (13,2)-(13,5) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (99...102) = "end"
- ├── end_keyword_loc: (103...106) = "end"
+ │ └── end_keyword_loc: (15,2)-(15,5) = "end"
+ ├── end_keyword_loc: (16,0)-(16,3) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/unparser/corpus/literal/opasgn.txt b/test/yarp/snapshots/unparser/corpus/literal/opasgn.txt
index 46accb0402..91f92de04d 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/opasgn.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/opasgn.txt
@@ -1,61 +1,61 @@
-@ ProgramNode (location: (0...233))
+@ ProgramNode (location: (1,0)-(24,10))
├── locals: [:a, :h]
└── statements:
- @ StatementsNode (location: (0...233))
+ @ StatementsNode (location: (1,0)-(24,10))
└── body: (length: 24)
- ├── @ LocalVariableOperatorWriteNode (location: (0...6))
- │ ├── name_loc: (0...1) = "a"
- │ ├── operator_loc: (2...4) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,6))
+ │ ├── name_loc: (1,0)-(1,1) = "a"
+ │ ├── operator_loc: (1,2)-(1,4) = "+="
│ ├── value:
- │ │ @ IntegerNode (location: (5...6))
+ │ │ @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (7...13))
- │ ├── name_loc: (7...8) = "a"
- │ ├── operator_loc: (9...11) = "-="
+ ├── @ LocalVariableOperatorWriteNode (location: (2,0)-(2,6))
+ │ ├── name_loc: (2,0)-(2,1) = "a"
+ │ ├── operator_loc: (2,2)-(2,4) = "-="
│ ├── value:
- │ │ @ IntegerNode (location: (12...13))
+ │ │ @ IntegerNode (location: (2,5)-(2,6))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :-
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (14...21))
- │ ├── name_loc: (14...15) = "a"
- │ ├── operator_loc: (16...19) = "**="
+ ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,7))
+ │ ├── name_loc: (3,0)-(3,1) = "a"
+ │ ├── operator_loc: (3,2)-(3,5) = "**="
│ ├── value:
- │ │ @ IntegerNode (location: (20...21))
+ │ │ @ IntegerNode (location: (3,6)-(3,7))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :**
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (22...28))
- │ ├── name_loc: (22...23) = "a"
- │ ├── operator_loc: (24...26) = "*="
+ ├── @ LocalVariableOperatorWriteNode (location: (4,0)-(4,6))
+ │ ├── name_loc: (4,0)-(4,1) = "a"
+ │ ├── operator_loc: (4,2)-(4,4) = "*="
│ ├── value:
- │ │ @ IntegerNode (location: (27...28))
+ │ │ @ IntegerNode (location: (4,5)-(4,6))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :*
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (29...35))
- │ ├── name_loc: (29...30) = "a"
- │ ├── operator_loc: (31...33) = "/="
+ ├── @ LocalVariableOperatorWriteNode (location: (5,0)-(5,6))
+ │ ├── name_loc: (5,0)-(5,1) = "a"
+ │ ├── operator_loc: (5,2)-(5,4) = "/="
│ ├── value:
- │ │ @ IntegerNode (location: (34...35))
+ │ │ @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :/
│ └── depth: 0
- ├── @ LocalVariableAndWriteNode (location: (36...43))
- │ ├── name_loc: (36...37) = "a"
- │ ├── operator_loc: (38...41) = "&&="
+ ├── @ LocalVariableAndWriteNode (location: (6,0)-(6,7))
+ │ ├── name_loc: (6,0)-(6,1) = "a"
+ │ ├── operator_loc: (6,2)-(6,5) = "&&="
│ ├── value:
- │ │ @ CallNode (location: (42...43))
+ │ │ @ CallNode (location: (6,6)-(6,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...43) = "b"
+ │ │ ├── message_loc: (6,6)-(6,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -64,93 +64,93 @@
│ │ └── name: "b"
│ ├── name: :a
│ └── depth: 0
- ├── @ LocalVariableOrWriteNode (location: (44...51))
- │ ├── name_loc: (44...45) = "a"
- │ ├── operator_loc: (46...49) = "||="
+ ├── @ LocalVariableOrWriteNode (location: (7,0)-(7,7))
+ │ ├── name_loc: (7,0)-(7,1) = "a"
+ │ ├── operator_loc: (7,2)-(7,5) = "||="
│ ├── value:
- │ │ @ IntegerNode (location: (50...51))
+ │ │ @ IntegerNode (location: (7,6)-(7,7))
│ │ └── flags: decimal
│ ├── name: :a
│ └── depth: 0
- ├── @ CallNode (location: (52...65))
+ ├── @ CallNode (location: (8,0)-(8,13))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (52...61))
+ │ │ @ ParenthesesNode (location: (8,0)-(8,9))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (53...60))
+ │ │ │ @ StatementsNode (location: (8,1)-(8,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableOrWriteNode (location: (53...60))
- │ │ │ ├── name_loc: (53...54) = "a"
- │ │ │ ├── operator_loc: (55...58) = "||="
+ │ │ │ └── @ LocalVariableOrWriteNode (location: (8,1)-(8,8))
+ │ │ │ ├── name_loc: (8,1)-(8,2) = "a"
+ │ │ │ ├── operator_loc: (8,3)-(8,6) = "||="
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (59...60))
+ │ │ │ │ @ IntegerNode (location: (8,7)-(8,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (52...53) = "("
- │ │ └── closing_loc: (60...61) = ")"
- │ ├── call_operator_loc: (61...62) = "."
- │ ├── message_loc: (62...65) = "bar"
+ │ │ ├── opening_loc: (8,0)-(8,1) = "("
+ │ │ └── closing_loc: (8,8)-(8,9) = ")"
+ │ ├── call_operator_loc: (8,9)-(8,10) = "."
+ │ ├── message_loc: (8,10)-(8,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (66...83))
+ ├── @ CallNode (location: (9,0)-(9,17))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (66...76))
+ │ │ @ ParenthesesNode (location: (9,0)-(9,10))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (67...75))
+ │ │ │ @ StatementsNode (location: (9,1)-(9,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableOrWriteNode (location: (67...75))
- │ │ │ ├── name_loc: (67...68) = "h"
- │ │ │ ├── operator_loc: (69...72) = "||="
+ │ │ │ └── @ LocalVariableOrWriteNode (location: (9,1)-(9,9))
+ │ │ │ ├── name_loc: (9,1)-(9,2) = "h"
+ │ │ │ ├── operator_loc: (9,3)-(9,6) = "||="
│ │ │ ├── value:
- │ │ │ │ @ HashNode (location: (73...75))
- │ │ │ │ ├── opening_loc: (73...74) = "{"
+ │ │ │ │ @ HashNode (location: (9,7)-(9,9))
+ │ │ │ │ ├── opening_loc: (9,7)-(9,8) = "{"
│ │ │ │ ├── elements: (length: 0)
- │ │ │ │ └── closing_loc: (74...75) = "}"
+ │ │ │ │ └── closing_loc: (9,8)-(9,9) = "}"
│ │ │ ├── name: :h
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (66...67) = "("
- │ │ └── closing_loc: (75...76) = ")"
+ │ │ ├── opening_loc: (9,0)-(9,1) = "("
+ │ │ └── closing_loc: (9,9)-(9,10) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (76...79) = "[k]"
- │ ├── opening_loc: (76...77) = "["
+ │ ├── message_loc: (9,10)-(9,13) = "[k]"
+ │ ├── opening_loc: (9,10)-(9,11) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (77...83))
+ │ │ @ ArgumentsNode (location: (9,11)-(9,17))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (77...78))
+ │ │ ├── @ CallNode (location: (9,11)-(9,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (77...78) = "k"
+ │ │ │ ├── message_loc: (9,11)-(9,12) = "k"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "k"
- │ │ └── @ CallNode (location: (82...83))
+ │ │ └── @ CallNode (location: (9,16)-(9,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (82...83) = "v"
+ │ │ ├── message_loc: (9,16)-(9,17) = "v"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "v"
- │ ├── closing_loc: (78...79) = "]"
+ │ ├── closing_loc: (9,12)-(9,13) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallOperatorWriteNode (location: (84...92))
+ ├── @ CallOperatorWriteNode (location: (10,0)-(10,8))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (84...85))
+ │ │ @ LocalVariableReadNode (location: (10,0)-(10,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (85...86) = "."
- │ ├── message_loc: (86...87) = "b"
+ │ ├── call_operator_loc: (10,1)-(10,2) = "."
+ │ ├── message_loc: (10,2)-(10,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -158,17 +158,17 @@
│ ├── read_name: "b"
│ ├── write_name: "b="
│ ├── operator: :+
- │ ├── operator_loc: (88...90) = "+="
+ │ ├── operator_loc: (10,4)-(10,6) = "+="
│ └── value:
- │ @ IntegerNode (location: (91...92))
+ │ @ IntegerNode (location: (10,7)-(10,8))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (93...101))
+ ├── @ CallOperatorWriteNode (location: (11,0)-(11,8))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (93...94))
+ │ │ @ LocalVariableReadNode (location: (11,0)-(11,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (94...95) = "."
- │ ├── message_loc: (95...96) = "b"
+ │ ├── call_operator_loc: (11,1)-(11,2) = "."
+ │ ├── message_loc: (11,2)-(11,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -176,17 +176,17 @@
│ ├── read_name: "b"
│ ├── write_name: "b="
│ ├── operator: :-
- │ ├── operator_loc: (97...99) = "-="
+ │ ├── operator_loc: (11,4)-(11,6) = "-="
│ └── value:
- │ @ IntegerNode (location: (100...101))
+ │ @ IntegerNode (location: (11,7)-(11,8))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (102...111))
+ ├── @ CallOperatorWriteNode (location: (12,0)-(12,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (102...103))
+ │ │ @ LocalVariableReadNode (location: (12,0)-(12,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (103...104) = "."
- │ ├── message_loc: (104...105) = "b"
+ │ ├── call_operator_loc: (12,1)-(12,2) = "."
+ │ ├── message_loc: (12,2)-(12,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -194,17 +194,17 @@
│ ├── read_name: "b"
│ ├── write_name: "b="
│ ├── operator: :**
- │ ├── operator_loc: (106...109) = "**="
+ │ ├── operator_loc: (12,4)-(12,7) = "**="
│ └── value:
- │ @ IntegerNode (location: (110...111))
+ │ @ IntegerNode (location: (12,8)-(12,9))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (112...120))
+ ├── @ CallOperatorWriteNode (location: (13,0)-(13,8))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (112...113))
+ │ │ @ LocalVariableReadNode (location: (13,0)-(13,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (113...114) = "."
- │ ├── message_loc: (114...115) = "b"
+ │ ├── call_operator_loc: (13,1)-(13,2) = "."
+ │ ├── message_loc: (13,2)-(13,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -212,17 +212,17 @@
│ ├── read_name: "b"
│ ├── write_name: "b="
│ ├── operator: :*
- │ ├── operator_loc: (116...118) = "*="
+ │ ├── operator_loc: (13,4)-(13,6) = "*="
│ └── value:
- │ @ IntegerNode (location: (119...120))
+ │ @ IntegerNode (location: (13,7)-(13,8))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (121...129))
+ ├── @ CallOperatorWriteNode (location: (14,0)-(14,8))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (121...122))
+ │ │ @ LocalVariableReadNode (location: (14,0)-(14,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (122...123) = "."
- │ ├── message_loc: (123...124) = "b"
+ │ ├── call_operator_loc: (14,1)-(14,2) = "."
+ │ ├── message_loc: (14,2)-(14,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -230,282 +230,282 @@
│ ├── read_name: "b"
│ ├── write_name: "b="
│ ├── operator: :/
- │ ├── operator_loc: (125...127) = "/="
+ │ ├── operator_loc: (14,4)-(14,6) = "/="
│ └── value:
- │ @ IntegerNode (location: (128...129))
+ │ @ IntegerNode (location: (14,7)-(14,8))
│ └── flags: decimal
- ├── @ CallAndWriteNode (location: (130...139))
+ ├── @ CallAndWriteNode (location: (15,0)-(15,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (130...131))
+ │ │ @ LocalVariableReadNode (location: (15,0)-(15,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (131...132) = "."
- │ ├── message_loc: (132...133) = "b"
+ │ ├── call_operator_loc: (15,1)-(15,2) = "."
+ │ ├── message_loc: (15,2)-(15,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── flags: ∅
│ ├── read_name: "b"
│ ├── write_name: "b="
- │ ├── operator_loc: (134...137) = "&&="
+ │ ├── operator_loc: (15,4)-(15,7) = "&&="
│ └── value:
- │ @ CallNode (location: (138...139))
+ │ @ CallNode (location: (15,8)-(15,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (138...139) = "b"
+ │ ├── message_loc: (15,8)-(15,9) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── @ CallOrWriteNode (location: (140...149))
+ ├── @ CallOrWriteNode (location: (16,0)-(16,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (140...141))
+ │ │ @ LocalVariableReadNode (location: (16,0)-(16,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── call_operator_loc: (141...142) = "."
- │ ├── message_loc: (142...143) = "b"
+ │ ├── call_operator_loc: (16,1)-(16,2) = "."
+ │ ├── message_loc: (16,2)-(16,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── flags: ∅
│ ├── read_name: "b"
│ ├── write_name: "b="
- │ ├── operator_loc: (144...147) = "||="
+ │ ├── operator_loc: (16,4)-(16,7) = "||="
│ └── value:
- │ @ IntegerNode (location: (148...149))
+ │ @ IntegerNode (location: (16,8)-(16,9))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (150...159))
+ ├── @ CallOperatorWriteNode (location: (17,0)-(17,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (150...151))
+ │ │ @ LocalVariableReadNode (location: (17,0)-(17,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (151...154) = "[b]"
- │ ├── opening_loc: (151...152) = "["
+ │ ├── message_loc: (17,1)-(17,4) = "[b]"
+ │ ├── opening_loc: (17,1)-(17,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (152...153))
+ │ │ @ ArgumentsNode (location: (17,2)-(17,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (152...153))
+ │ │ └── @ CallNode (location: (17,2)-(17,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (152...153) = "b"
+ │ │ ├── message_loc: (17,2)-(17,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (153...154) = "]"
+ │ ├── closing_loc: (17,3)-(17,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :+
- │ ├── operator_loc: (155...157) = "+="
+ │ ├── operator_loc: (17,5)-(17,7) = "+="
│ └── value:
- │ @ IntegerNode (location: (158...159))
+ │ @ IntegerNode (location: (17,8)-(17,9))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (160...169))
+ ├── @ CallOperatorWriteNode (location: (18,0)-(18,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (160...161))
+ │ │ @ LocalVariableReadNode (location: (18,0)-(18,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (161...164) = "[b]"
- │ ├── opening_loc: (161...162) = "["
+ │ ├── message_loc: (18,1)-(18,4) = "[b]"
+ │ ├── opening_loc: (18,1)-(18,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (162...163))
+ │ │ @ ArgumentsNode (location: (18,2)-(18,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (162...163))
+ │ │ └── @ CallNode (location: (18,2)-(18,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (162...163) = "b"
+ │ │ ├── message_loc: (18,2)-(18,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (163...164) = "]"
+ │ ├── closing_loc: (18,3)-(18,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :-
- │ ├── operator_loc: (165...167) = "-="
+ │ ├── operator_loc: (18,5)-(18,7) = "-="
│ └── value:
- │ @ IntegerNode (location: (168...169))
+ │ @ IntegerNode (location: (18,8)-(18,9))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (170...180))
+ ├── @ CallOperatorWriteNode (location: (19,0)-(19,10))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (170...171))
+ │ │ @ LocalVariableReadNode (location: (19,0)-(19,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (171...174) = "[b]"
- │ ├── opening_loc: (171...172) = "["
+ │ ├── message_loc: (19,1)-(19,4) = "[b]"
+ │ ├── opening_loc: (19,1)-(19,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (172...173))
+ │ │ @ ArgumentsNode (location: (19,2)-(19,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (172...173))
+ │ │ └── @ CallNode (location: (19,2)-(19,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (172...173) = "b"
+ │ │ ├── message_loc: (19,2)-(19,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (173...174) = "]"
+ │ ├── closing_loc: (19,3)-(19,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :**
- │ ├── operator_loc: (175...178) = "**="
+ │ ├── operator_loc: (19,5)-(19,8) = "**="
│ └── value:
- │ @ IntegerNode (location: (179...180))
+ │ @ IntegerNode (location: (19,9)-(19,10))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (181...190))
+ ├── @ CallOperatorWriteNode (location: (20,0)-(20,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (181...182))
+ │ │ @ LocalVariableReadNode (location: (20,0)-(20,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (182...185) = "[b]"
- │ ├── opening_loc: (182...183) = "["
+ │ ├── message_loc: (20,1)-(20,4) = "[b]"
+ │ ├── opening_loc: (20,1)-(20,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (183...184))
+ │ │ @ ArgumentsNode (location: (20,2)-(20,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (183...184))
+ │ │ └── @ CallNode (location: (20,2)-(20,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (183...184) = "b"
+ │ │ ├── message_loc: (20,2)-(20,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (184...185) = "]"
+ │ ├── closing_loc: (20,3)-(20,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :*
- │ ├── operator_loc: (186...188) = "*="
+ │ ├── operator_loc: (20,5)-(20,7) = "*="
│ └── value:
- │ @ IntegerNode (location: (189...190))
+ │ @ IntegerNode (location: (20,8)-(20,9))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (191...200))
+ ├── @ CallOperatorWriteNode (location: (21,0)-(21,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (191...192))
+ │ │ @ LocalVariableReadNode (location: (21,0)-(21,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (192...195) = "[b]"
- │ ├── opening_loc: (192...193) = "["
+ │ ├── message_loc: (21,1)-(21,4) = "[b]"
+ │ ├── opening_loc: (21,1)-(21,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (193...194))
+ │ │ @ ArgumentsNode (location: (21,2)-(21,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (193...194))
+ │ │ └── @ CallNode (location: (21,2)-(21,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (193...194) = "b"
+ │ │ ├── message_loc: (21,2)-(21,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (194...195) = "]"
+ │ ├── closing_loc: (21,3)-(21,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :/
- │ ├── operator_loc: (196...198) = "/="
+ │ ├── operator_loc: (21,5)-(21,7) = "/="
│ └── value:
- │ @ IntegerNode (location: (199...200))
+ │ @ IntegerNode (location: (21,8)-(21,9))
│ └── flags: decimal
- ├── @ CallAndWriteNode (location: (201...211))
+ ├── @ CallAndWriteNode (location: (22,0)-(22,10))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (201...202))
+ │ │ @ LocalVariableReadNode (location: (22,0)-(22,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (202...205) = "[b]"
- │ ├── opening_loc: (202...203) = "["
+ │ ├── message_loc: (22,1)-(22,4) = "[b]"
+ │ ├── opening_loc: (22,1)-(22,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (203...204))
+ │ │ @ ArgumentsNode (location: (22,2)-(22,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (203...204))
+ │ │ └── @ CallNode (location: (22,2)-(22,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (203...204) = "b"
+ │ │ ├── message_loc: (22,2)-(22,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (204...205) = "]"
+ │ ├── closing_loc: (22,3)-(22,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
- │ ├── operator_loc: (206...209) = "&&="
+ │ ├── operator_loc: (22,5)-(22,8) = "&&="
│ └── value:
- │ @ CallNode (location: (210...211))
+ │ @ CallNode (location: (22,9)-(22,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (210...211) = "b"
+ │ ├── message_loc: (22,9)-(22,10) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── @ CallOrWriteNode (location: (212...222))
+ ├── @ CallOrWriteNode (location: (23,0)-(23,10))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (212...213))
+ │ │ @ LocalVariableReadNode (location: (23,0)-(23,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (213...216) = "[b]"
- │ ├── opening_loc: (213...214) = "["
+ │ ├── message_loc: (23,1)-(23,4) = "[b]"
+ │ ├── opening_loc: (23,1)-(23,2) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (214...215))
+ │ │ @ ArgumentsNode (location: (23,2)-(23,3))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (214...215))
+ │ │ └── @ CallNode (location: (23,2)-(23,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (214...215) = "b"
+ │ │ ├── message_loc: (23,2)-(23,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (215...216) = "]"
+ │ ├── closing_loc: (23,3)-(23,4) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
- │ ├── operator_loc: (217...220) = "||="
+ │ ├── operator_loc: (23,5)-(23,8) = "||="
│ └── value:
- │ @ IntegerNode (location: (221...222))
+ │ @ IntegerNode (location: (23,9)-(23,10))
│ └── flags: decimal
- └── @ CallOperatorWriteNode (location: (223...233))
+ └── @ CallOperatorWriteNode (location: (24,0)-(24,10))
├── receiver:
- │ @ CallNode (location: (223...226))
+ │ @ CallNode (location: (24,0)-(24,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (223...226) = "foo"
+ │ ├── message_loc: (24,0)-(24,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (226...227) = "."
- ├── message_loc: (227...228) = "A"
+ ├── call_operator_loc: (24,3)-(24,4) = "."
+ ├── message_loc: (24,4)-(24,5) = "A"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -513,7 +513,7 @@
├── read_name: "A"
├── write_name: "A="
├── operator: :+
- ├── operator_loc: (229...231) = "+="
+ ├── operator_loc: (24,6)-(24,8) = "+="
└── value:
- @ IntegerNode (location: (232...233))
+ @ IntegerNode (location: (24,9)-(24,10))
└── flags: decimal
diff --git a/test/yarp/snapshots/unparser/corpus/literal/pattern.txt b/test/yarp/snapshots/unparser/corpus/literal/pattern.txt
index c435254640..a40093634c 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/pattern.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/pattern.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...408))
+@ ProgramNode (location: (1,0)-(41,8))
├── locals: [:a, :x, :y]
└── statements:
- @ StatementsNode (location: (0...408))
+ @ StatementsNode (location: (1,0)-(41,8))
└── body: (length: 4)
- ├── @ CaseNode (location: (0...345))
+ ├── @ CaseNode (location: (1,0)-(33,3))
│ ├── predicate:
- │ │ @ CallNode (location: (5...8))
+ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...8) = "foo"
+ │ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,335 +16,335 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 15)
- │ │ ├── @ InNode (location: (9...38))
+ │ │ ├── @ InNode (location: (2,0)-(3,6))
│ │ │ ├── pattern:
- │ │ │ │ @ ArrayPatternNode (location: (12...26))
+ │ │ │ │ @ ArrayPatternNode (location: (2,3)-(2,17))
│ │ │ │ ├── constant:
- │ │ │ │ │ @ ConstantReadNode (location: (12...13))
+ │ │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4))
│ │ │ │ │ └── name: :A
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ IntegerNode (location: (14...15))
+ │ │ │ │ │ ├── @ IntegerNode (location: (2,5)-(2,6))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ IntegerNode (location: (17...18))
+ │ │ │ │ │ └── @ IntegerNode (location: (2,8)-(2,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (20...22))
- │ │ │ │ │ ├── operator_loc: (20...21) = "*"
+ │ │ │ │ │ @ SplatNode (location: (2,11)-(2,13))
+ │ │ │ │ │ ├── operator_loc: (2,11)-(2,12) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (21...22))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (2,12)-(2,13))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ IntegerNode (location: (24...25))
+ │ │ │ │ │ └── @ IntegerNode (location: (2,15)-(2,16))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ ├── opening_loc: (13...14) = "["
- │ │ │ │ └── closing_loc: (25...26) = "]"
+ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "["
+ │ │ │ │ └── closing_loc: (2,16)-(2,17) = "]"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (34...38))
+ │ │ │ │ @ StatementsNode (location: (3,2)-(3,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (34...38))
- │ │ │ ├── in_loc: (9...11) = "in"
- │ │ │ └── then_loc: (27...31) = "then"
- │ │ ├── @ InNode (location: (39...59))
+ │ │ │ │ └── @ TrueNode (location: (3,2)-(3,6))
+ │ │ │ ├── in_loc: (2,0)-(2,2) = "in"
+ │ │ │ └── then_loc: (2,18)-(2,22) = "then"
+ │ │ ├── @ InNode (location: (4,0)-(5,3))
│ │ │ ├── pattern:
- │ │ │ │ @ ArrayPatternNode (location: (42...50))
+ │ │ │ │ @ ArrayPatternNode (location: (4,3)-(4,11))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ IntegerNode (location: (43...44))
+ │ │ │ │ │ ├── @ IntegerNode (location: (4,4)-(4,5))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ IntegerNode (location: (46...47))
+ │ │ │ │ │ └── @ IntegerNode (location: (4,7)-(4,8))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (42...43) = "["
- │ │ │ │ └── closing_loc: (49...50) = "]"
+ │ │ │ │ ├── opening_loc: (4,3)-(4,4) = "["
+ │ │ │ │ └── closing_loc: (4,10)-(4,11) = "]"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (58...59))
+ │ │ │ │ @ StatementsNode (location: (5,2)-(5,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (58...59))
+ │ │ │ │ └── @ CallNode (location: (5,2)-(5,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (58...59) = "y"
+ │ │ │ │ ├── message_loc: (5,2)-(5,3) = "y"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "y"
- │ │ │ ├── in_loc: (39...41) = "in"
- │ │ │ └── then_loc: (51...55) = "then"
- │ │ ├── @ InNode (location: (60...80))
+ │ │ │ ├── in_loc: (4,0)-(4,2) = "in"
+ │ │ │ └── then_loc: (4,12)-(4,16) = "then"
+ │ │ ├── @ InNode (location: (6,0)-(7,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (63...68))
+ │ │ │ │ @ HashPatternNode (location: (6,3)-(6,8))
│ │ │ │ ├── constant:
- │ │ │ │ │ @ ConstantReadNode (location: (63...64))
+ │ │ │ │ │ @ ConstantReadNode (location: (6,3)-(6,4))
│ │ │ │ │ └── name: :A
│ │ │ │ ├── assocs: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (65...67))
+ │ │ │ │ │ └── @ AssocNode (location: (6,5)-(6,7))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (65...67))
+ │ │ │ │ │ │ @ SymbolNode (location: (6,5)-(6,7))
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (65...66) = "x"
- │ │ │ │ │ │ ├── closing_loc: (66...67) = ":"
+ │ │ │ │ │ │ ├── value_loc: (6,5)-(6,6) = "x"
+ │ │ │ │ │ │ ├── closing_loc: (6,6)-(6,7) = ":"
│ │ │ │ │ │ └── unescaped: "x"
│ │ │ │ │ ├── value: ∅
│ │ │ │ │ └── operator_loc: ∅
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (64...65) = "("
- │ │ │ │ └── closing_loc: (67...68) = ")"
+ │ │ │ │ ├── opening_loc: (6,4)-(6,5) = "("
+ │ │ │ │ └── closing_loc: (6,7)-(6,8) = ")"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (76...80))
+ │ │ │ │ @ StatementsNode (location: (7,2)-(7,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (76...80))
- │ │ │ ├── in_loc: (60...62) = "in"
- │ │ │ └── then_loc: (69...73) = "then"
- │ │ ├── @ InNode (location: (81...101))
+ │ │ │ │ └── @ TrueNode (location: (7,2)-(7,6))
+ │ │ │ ├── in_loc: (6,0)-(6,2) = "in"
+ │ │ │ └── then_loc: (6,9)-(6,13) = "then"
+ │ │ ├── @ InNode (location: (8,0)-(9,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (84...89))
+ │ │ │ │ @ HashPatternNode (location: (8,3)-(8,8))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (85...88))
+ │ │ │ │ │ └── @ AssocNode (location: (8,4)-(8,7))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ AssocSplatNode (location: (85...88))
+ │ │ │ │ │ │ @ AssocSplatNode (location: (8,4)-(8,7))
│ │ │ │ │ │ ├── value:
- │ │ │ │ │ │ │ @ LocalVariableTargetNode (location: (87...88))
+ │ │ │ │ │ │ │ @ LocalVariableTargetNode (location: (8,6)-(8,7))
│ │ │ │ │ │ │ ├── name: :a
│ │ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ │ └── operator_loc: (85...87) = "**"
+ │ │ │ │ │ │ └── operator_loc: (8,4)-(8,6) = "**"
│ │ │ │ │ ├── value: ∅
│ │ │ │ │ └── operator_loc: ∅
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (84...85) = "{"
- │ │ │ │ └── closing_loc: (88...89) = "}"
+ │ │ │ │ ├── opening_loc: (8,3)-(8,4) = "{"
+ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (97...101))
+ │ │ │ │ @ StatementsNode (location: (9,2)-(9,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (97...101))
- │ │ │ ├── in_loc: (81...83) = "in"
- │ │ │ └── then_loc: (90...94) = "then"
- │ │ ├── @ InNode (location: (102...127))
+ │ │ │ │ └── @ TrueNode (location: (9,2)-(9,6))
+ │ │ │ ├── in_loc: (8,0)-(8,2) = "in"
+ │ │ │ └── then_loc: (8,9)-(8,13) = "then"
+ │ │ ├── @ InNode (location: (10,0)-(11,6))
│ │ │ ├── pattern:
- │ │ │ │ @ IfNode (location: (105...115))
- │ │ │ │ ├── if_keyword_loc: (108...110) = "if"
+ │ │ │ │ @ IfNode (location: (10,3)-(10,13))
+ │ │ │ │ ├── if_keyword_loc: (10,6)-(10,8) = "if"
│ │ │ │ ├── predicate:
- │ │ │ │ │ @ TrueNode (location: (111...115))
+ │ │ │ │ │ @ TrueNode (location: (10,9)-(10,13))
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (105...107))
+ │ │ │ │ │ @ StatementsNode (location: (10,3)-(10,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ HashPatternNode (location: (105...107))
+ │ │ │ │ │ └── @ HashPatternNode (location: (10,3)-(10,5))
│ │ │ │ │ ├── constant: ∅
│ │ │ │ │ ├── assocs: (length: 0)
│ │ │ │ │ ├── kwrest: ∅
- │ │ │ │ │ ├── opening_loc: (105...106) = "{"
- │ │ │ │ │ └── closing_loc: (106...107) = "}"
+ │ │ │ │ │ ├── opening_loc: (10,3)-(10,4) = "{"
+ │ │ │ │ │ └── closing_loc: (10,4)-(10,5) = "}"
│ │ │ │ ├── consequent: ∅
│ │ │ │ └── end_keyword_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (123...127))
+ │ │ │ │ @ StatementsNode (location: (11,2)-(11,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (123...127))
- │ │ │ ├── in_loc: (102...104) = "in"
- │ │ │ └── then_loc: (116...120) = "then"
- │ │ ├── @ InNode (location: (128...152))
+ │ │ │ │ └── @ TrueNode (location: (11,2)-(11,6))
+ │ │ │ ├── in_loc: (10,0)-(10,2) = "in"
+ │ │ │ └── then_loc: (10,14)-(10,18) = "then"
+ │ │ ├── @ InNode (location: (12,0)-(13,6))
│ │ │ ├── pattern:
- │ │ │ │ @ ArrayPatternNode (location: (131...140))
+ │ │ │ │ @ ArrayPatternNode (location: (12,3)-(12,12))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (132...133))
+ │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (12,4)-(12,5))
│ │ │ │ │ │ ├── name: :x
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── @ LocalVariableTargetNode (location: (135...136))
+ │ │ │ │ │ └── @ LocalVariableTargetNode (location: (12,7)-(12,8))
│ │ │ │ │ ├── name: :y
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── rest:
- │ │ │ │ │ @ SplatNode (location: (138...139))
- │ │ │ │ │ ├── operator_loc: (138...139) = "*"
+ │ │ │ │ │ @ SplatNode (location: (12,10)-(12,11))
+ │ │ │ │ │ ├── operator_loc: (12,10)-(12,11) = "*"
│ │ │ │ │ └── expression: ∅
│ │ │ │ ├── posts: (length: 0)
- │ │ │ │ ├── opening_loc: (131...132) = "["
- │ │ │ │ └── closing_loc: (139...140) = "]"
+ │ │ │ │ ├── opening_loc: (12,3)-(12,4) = "["
+ │ │ │ │ └── closing_loc: (12,11)-(12,12) = "]"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (148...152))
+ │ │ │ │ @ StatementsNode (location: (13,2)-(13,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (148...152))
- │ │ │ ├── in_loc: (128...130) = "in"
- │ │ │ └── then_loc: (141...145) = "then"
- │ │ ├── @ InNode (location: (153...181))
+ │ │ │ │ └── @ TrueNode (location: (13,2)-(13,6))
+ │ │ │ ├── in_loc: (12,0)-(12,2) = "in"
+ │ │ │ └── then_loc: (12,13)-(12,17) = "then"
+ │ │ ├── @ InNode (location: (14,0)-(15,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (156...169))
+ │ │ │ │ @ HashPatternNode (location: (14,3)-(14,16))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 2)
- │ │ │ │ │ ├── @ AssocNode (location: (157...161))
+ │ │ │ │ │ ├── @ AssocNode (location: (14,4)-(14,8))
│ │ │ │ │ │ ├── key:
- │ │ │ │ │ │ │ @ SymbolNode (location: (157...159))
+ │ │ │ │ │ │ │ @ SymbolNode (location: (14,4)-(14,6))
│ │ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ │ ├── value_loc: (157...158) = "a"
- │ │ │ │ │ │ │ ├── closing_loc: (158...159) = ":"
+ │ │ │ │ │ │ │ ├── value_loc: (14,4)-(14,5) = "a"
+ │ │ │ │ │ │ │ ├── closing_loc: (14,5)-(14,6) = ":"
│ │ │ │ │ │ │ └── unescaped: "a"
│ │ │ │ │ │ ├── value:
- │ │ │ │ │ │ │ @ IntegerNode (location: (160...161))
+ │ │ │ │ │ │ │ @ IntegerNode (location: (14,7)-(14,8))
│ │ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ │ └── operator_loc: ∅
- │ │ │ │ │ └── @ AssocNode (location: (163...168))
+ │ │ │ │ │ └── @ AssocNode (location: (14,10)-(14,15))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (163...166))
+ │ │ │ │ │ │ @ SymbolNode (location: (14,10)-(14,13))
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (163...165) = "aa"
- │ │ │ │ │ │ ├── closing_loc: (165...166) = ":"
+ │ │ │ │ │ │ ├── value_loc: (14,10)-(14,12) = "aa"
+ │ │ │ │ │ │ ├── closing_loc: (14,12)-(14,13) = ":"
│ │ │ │ │ │ └── unescaped: "aa"
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ IntegerNode (location: (167...168))
+ │ │ │ │ │ │ @ IntegerNode (location: (14,14)-(14,15))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ └── operator_loc: ∅
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (156...157) = "{"
- │ │ │ │ └── closing_loc: (168...169) = "}"
+ │ │ │ │ ├── opening_loc: (14,3)-(14,4) = "{"
+ │ │ │ │ └── closing_loc: (14,15)-(14,16) = "}"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (177...181))
+ │ │ │ │ @ StatementsNode (location: (15,2)-(15,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (177...181))
- │ │ │ ├── in_loc: (153...155) = "in"
- │ │ │ └── then_loc: (170...174) = "then"
- │ │ ├── @ InNode (location: (182...199))
+ │ │ │ │ └── @ TrueNode (location: (15,2)-(15,6))
+ │ │ │ ├── in_loc: (14,0)-(14,2) = "in"
+ │ │ │ └── then_loc: (14,17)-(14,21) = "then"
+ │ │ ├── @ InNode (location: (16,0)-(17,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (185...187))
+ │ │ │ │ @ HashPatternNode (location: (16,3)-(16,5))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 0)
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (185...186) = "{"
- │ │ │ │ └── closing_loc: (186...187) = "}"
+ │ │ │ │ ├── opening_loc: (16,3)-(16,4) = "{"
+ │ │ │ │ └── closing_loc: (16,4)-(16,5) = "}"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (195...199))
+ │ │ │ │ @ StatementsNode (location: (17,2)-(17,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (195...199))
- │ │ │ ├── in_loc: (182...184) = "in"
- │ │ │ └── then_loc: (188...192) = "then"
- │ │ ├── @ InNode (location: (200...222))
+ │ │ │ │ └── @ TrueNode (location: (17,2)-(17,6))
+ │ │ │ ├── in_loc: (16,0)-(16,2) = "in"
+ │ │ │ └── then_loc: (16,6)-(16,10) = "then"
+ │ │ ├── @ InNode (location: (18,0)-(19,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (203...210))
+ │ │ │ │ @ HashPatternNode (location: (18,3)-(18,10))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (204...209))
+ │ │ │ │ │ └── @ AssocNode (location: (18,4)-(18,9))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ NoKeywordsParameterNode (location: (204...209))
- │ │ │ │ │ │ ├── operator_loc: (204...206) = "**"
- │ │ │ │ │ │ └── keyword_loc: (206...209) = "nil"
+ │ │ │ │ │ │ @ NoKeywordsParameterNode (location: (18,4)-(18,9))
+ │ │ │ │ │ │ ├── operator_loc: (18,4)-(18,6) = "**"
+ │ │ │ │ │ │ └── keyword_loc: (18,6)-(18,9) = "nil"
│ │ │ │ │ ├── value: ∅
│ │ │ │ │ └── operator_loc: ∅
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (203...204) = "{"
- │ │ │ │ └── closing_loc: (209...210) = "}"
+ │ │ │ │ ├── opening_loc: (18,3)-(18,4) = "{"
+ │ │ │ │ └── closing_loc: (18,9)-(18,10) = "}"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (218...222))
+ │ │ │ │ @ StatementsNode (location: (19,2)-(19,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (218...222))
- │ │ │ ├── in_loc: (200...202) = "in"
- │ │ │ └── then_loc: (211...215) = "then"
- │ │ ├── @ InNode (location: (223...246))
+ │ │ │ │ └── @ TrueNode (location: (19,2)-(19,6))
+ │ │ │ ├── in_loc: (18,0)-(18,2) = "in"
+ │ │ │ └── then_loc: (18,11)-(18,15) = "then"
+ │ │ ├── @ InNode (location: (20,0)-(21,6))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (226...234))
+ │ │ │ │ @ HashPatternNode (location: (20,3)-(20,11))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (227...233))
+ │ │ │ │ │ └── @ AssocNode (location: (20,4)-(20,10))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (227...231))
- │ │ │ │ │ │ ├── opening_loc: (227...228) = "\""
- │ │ │ │ │ │ ├── value_loc: (228...229) = "a"
- │ │ │ │ │ │ ├── closing_loc: (229...231) = "\":"
+ │ │ │ │ │ │ @ SymbolNode (location: (20,4)-(20,8))
+ │ │ │ │ │ │ ├── opening_loc: (20,4)-(20,5) = "\""
+ │ │ │ │ │ │ ├── value_loc: (20,5)-(20,6) = "a"
+ │ │ │ │ │ │ ├── closing_loc: (20,6)-(20,8) = "\":"
│ │ │ │ │ │ └── unescaped: "a"
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ IntegerNode (location: (232...233))
+ │ │ │ │ │ │ @ IntegerNode (location: (20,9)-(20,10))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ └── operator_loc: ∅
│ │ │ │ ├── kwrest: ∅
- │ │ │ │ ├── opening_loc: (226...227) = "{"
- │ │ │ │ └── closing_loc: (233...234) = "}"
+ │ │ │ │ ├── opening_loc: (20,3)-(20,4) = "{"
+ │ │ │ │ └── closing_loc: (20,10)-(20,11) = "}"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (242...246))
+ │ │ │ │ @ StatementsNode (location: (21,2)-(21,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (242...246))
- │ │ │ ├── in_loc: (223...225) = "in"
- │ │ │ └── then_loc: (235...239) = "then"
- │ │ ├── @ InNode (location: (247...267))
+ │ │ │ │ └── @ TrueNode (location: (21,2)-(21,6))
+ │ │ │ ├── in_loc: (20,0)-(20,2) = "in"
+ │ │ │ └── then_loc: (20,12)-(20,16) = "then"
+ │ │ ├── @ InNode (location: (22,0)-(23,6))
│ │ │ ├── pattern:
- │ │ │ │ @ AlternationPatternNode (location: (250...255))
+ │ │ │ │ @ AlternationPatternNode (location: (22,3)-(22,8))
│ │ │ │ ├── left:
- │ │ │ │ │ @ IntegerNode (location: (250...251))
+ │ │ │ │ │ @ IntegerNode (location: (22,3)-(22,4))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
- │ │ │ │ │ @ IntegerNode (location: (254...255))
+ │ │ │ │ │ @ IntegerNode (location: (22,7)-(22,8))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── operator_loc: (252...253) = "|"
+ │ │ │ │ └── operator_loc: (22,5)-(22,6) = "|"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (263...267))
+ │ │ │ │ @ StatementsNode (location: (23,2)-(23,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (263...267))
- │ │ │ ├── in_loc: (247...249) = "in"
- │ │ │ └── then_loc: (256...260) = "then"
- │ │ ├── @ InNode (location: (268...289))
+ │ │ │ │ └── @ TrueNode (location: (23,2)-(23,6))
+ │ │ │ ├── in_loc: (22,0)-(22,2) = "in"
+ │ │ │ └── then_loc: (22,9)-(22,13) = "then"
+ │ │ ├── @ InNode (location: (24,0)-(25,6))
│ │ │ ├── pattern:
- │ │ │ │ @ CapturePatternNode (location: (271...277))
+ │ │ │ │ @ CapturePatternNode (location: (24,3)-(24,9))
│ │ │ │ ├── value:
- │ │ │ │ │ @ IntegerNode (location: (271...272))
+ │ │ │ │ │ @ IntegerNode (location: (24,3)-(24,4))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── target:
- │ │ │ │ │ @ LocalVariableTargetNode (location: (276...277))
+ │ │ │ │ │ @ LocalVariableTargetNode (location: (24,8)-(24,9))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── operator_loc: (273...275) = "=>"
+ │ │ │ │ └── operator_loc: (24,5)-(24,7) = "=>"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (285...289))
+ │ │ │ │ @ StatementsNode (location: (25,2)-(25,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (285...289))
- │ │ │ ├── in_loc: (268...270) = "in"
- │ │ │ └── then_loc: (278...282) = "then"
- │ │ ├── @ InNode (location: (290...307))
+ │ │ │ │ └── @ TrueNode (location: (25,2)-(25,6))
+ │ │ │ ├── in_loc: (24,0)-(24,2) = "in"
+ │ │ │ └── then_loc: (24,10)-(24,14) = "then"
+ │ │ ├── @ InNode (location: (26,0)-(27,6))
│ │ │ ├── pattern:
- │ │ │ │ @ PinnedVariableNode (location: (293...295))
+ │ │ │ │ @ PinnedVariableNode (location: (26,3)-(26,5))
│ │ │ │ ├── variable:
- │ │ │ │ │ @ LocalVariableReadNode (location: (294...295))
+ │ │ │ │ │ @ LocalVariableReadNode (location: (26,4)-(26,5))
│ │ │ │ │ ├── name: :x
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── operator_loc: (293...294) = "^"
+ │ │ │ │ └── operator_loc: (26,3)-(26,4) = "^"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (303...307))
+ │ │ │ │ @ StatementsNode (location: (27,2)-(27,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ TrueNode (location: (303...307))
- │ │ │ ├── in_loc: (290...292) = "in"
- │ │ │ └── then_loc: (296...300) = "then"
- │ │ ├── @ InNode (location: (308...312))
+ │ │ │ │ └── @ TrueNode (location: (27,2)-(27,6))
+ │ │ │ ├── in_loc: (26,0)-(26,2) = "in"
+ │ │ │ └── then_loc: (26,6)-(26,10) = "then"
+ │ │ ├── @ InNode (location: (28,0)-(28,4))
│ │ │ ├── pattern:
- │ │ │ │ @ IntegerNode (location: (311...312))
+ │ │ │ │ @ IntegerNode (location: (28,3)-(28,4))
│ │ │ │ └── flags: decimal
│ │ │ ├── statements: ∅
- │ │ │ ├── in_loc: (308...310) = "in"
+ │ │ │ ├── in_loc: (28,0)-(28,2) = "in"
│ │ │ └── then_loc: ∅
- │ │ └── @ InNode (location: (313...329))
+ │ │ └── @ InNode (location: (29,0)-(30,6))
│ │ ├── pattern:
- │ │ │ @ IntegerNode (location: (316...317))
+ │ │ │ @ IntegerNode (location: (29,3)-(29,4))
│ │ │ └── flags: decimal
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (325...329))
+ │ │ │ @ StatementsNode (location: (30,2)-(30,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ TrueNode (location: (325...329))
- │ │ ├── in_loc: (313...315) = "in"
- │ │ └── then_loc: (318...322) = "then"
+ │ │ │ └── @ TrueNode (location: (30,2)-(30,6))
+ │ │ ├── in_loc: (29,0)-(29,2) = "in"
+ │ │ └── then_loc: (29,5)-(29,9) = "then"
│ ├── consequent:
- │ │ @ ElseNode (location: (330...345))
- │ │ ├── else_keyword_loc: (330...334) = "else"
+ │ │ @ ElseNode (location: (31,0)-(33,3))
+ │ │ ├── else_keyword_loc: (31,0)-(31,4) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (337...341))
+ │ │ │ @ StatementsNode (location: (32,2)-(32,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ TrueNode (location: (337...341))
- │ │ └── end_keyword_loc: (342...345) = "end"
- │ ├── case_keyword_loc: (0...4) = "case"
- │ └── end_keyword_loc: (342...345) = "end"
- ├── @ CaseNode (location: (346...376))
+ │ │ │ └── @ TrueNode (location: (32,2)-(32,6))
+ │ │ └── end_keyword_loc: (33,0)-(33,3) = "end"
+ │ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ │ └── end_keyword_loc: (33,0)-(33,3) = "end"
+ ├── @ CaseNode (location: (34,0)-(36,3))
│ ├── predicate:
- │ │ @ CallNode (location: (351...354))
+ │ │ @ CallNode (location: (34,5)-(34,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (351...354) = "foo"
+ │ │ ├── message_loc: (34,5)-(34,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -352,41 +352,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (355...372))
+ │ │ └── @ InNode (location: (35,0)-(35,17))
│ │ ├── pattern:
- │ │ │ @ ArrayPatternNode (location: (358...372))
+ │ │ │ @ ArrayPatternNode (location: (35,3)-(35,17))
│ │ │ ├── constant:
- │ │ │ │ @ ConstantReadNode (location: (358...359))
+ │ │ │ │ @ ConstantReadNode (location: (35,3)-(35,4))
│ │ │ │ └── name: :A
│ │ │ ├── requireds: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (360...361))
+ │ │ │ │ ├── @ IntegerNode (location: (35,5)-(35,6))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ IntegerNode (location: (363...364))
+ │ │ │ │ └── @ IntegerNode (location: (35,8)-(35,9))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
- │ │ │ │ @ SplatNode (location: (366...368))
- │ │ │ │ ├── operator_loc: (366...367) = "*"
+ │ │ │ │ @ SplatNode (location: (35,11)-(35,13))
+ │ │ │ │ ├── operator_loc: (35,11)-(35,12) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (367...368))
+ │ │ │ │ @ LocalVariableTargetNode (location: (35,12)-(35,13))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── posts: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (370...371))
+ │ │ │ │ └── @ IntegerNode (location: (35,15)-(35,16))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (359...360) = "["
- │ │ │ └── closing_loc: (371...372) = "]"
+ │ │ │ ├── opening_loc: (35,4)-(35,5) = "["
+ │ │ │ └── closing_loc: (35,16)-(35,17) = "]"
│ │ ├── statements: ∅
- │ │ ├── in_loc: (355...357) = "in"
+ │ │ ├── in_loc: (35,0)-(35,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (346...350) = "case"
- │ └── end_keyword_loc: (373...376) = "end"
- ├── @ CaseNode (location: (377...399))
+ │ ├── case_keyword_loc: (34,0)-(34,4) = "case"
+ │ └── end_keyword_loc: (36,0)-(36,3) = "end"
+ ├── @ CaseNode (location: (37,0)-(40,3))
│ ├── predicate:
- │ │ @ CallNode (location: (382...385))
+ │ │ @ CallNode (location: (37,5)-(37,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (382...385) = "foo"
+ │ │ ├── message_loc: (37,5)-(37,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -394,33 +394,33 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 1)
- │ │ └── @ InNode (location: (386...390))
+ │ │ └── @ InNode (location: (38,0)-(38,4))
│ │ ├── pattern:
- │ │ │ @ ConstantReadNode (location: (389...390))
+ │ │ │ @ ConstantReadNode (location: (38,3)-(38,4))
│ │ │ └── name: :A
│ │ ├── statements: ∅
- │ │ ├── in_loc: (386...388) = "in"
+ │ │ ├── in_loc: (38,0)-(38,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent:
- │ │ @ ElseNode (location: (391...399))
- │ │ ├── else_keyword_loc: (391...395) = "else"
+ │ │ @ ElseNode (location: (39,0)-(40,3))
+ │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (396...399) = "end"
- │ ├── case_keyword_loc: (377...381) = "case"
- │ └── end_keyword_loc: (396...399) = "end"
- └── @ MatchPredicateNode (location: (400...408))
+ │ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
+ │ ├── case_keyword_loc: (37,0)-(37,4) = "case"
+ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
+ └── @ MatchPredicateNode (location: (41,0)-(41,8))
├── value:
- │ @ IntegerNode (location: (400...401))
+ │ @ IntegerNode (location: (41,0)-(41,1))
│ └── flags: decimal
├── pattern:
- │ @ ArrayPatternNode (location: (405...408))
+ │ @ ArrayPatternNode (location: (41,5)-(41,8))
│ ├── constant: ∅
│ ├── requireds: (length: 1)
- │ │ └── @ LocalVariableTargetNode (location: (406...407))
+ │ │ └── @ LocalVariableTargetNode (location: (41,6)-(41,7))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── rest: ∅
│ ├── posts: (length: 0)
- │ ├── opening_loc: (405...406) = "["
- │ └── closing_loc: (407...408) = "]"
- └── operator_loc: (402...404) = "in"
+ │ ├── opening_loc: (41,5)-(41,6) = "["
+ │ └── closing_loc: (41,7)-(41,8) = "]"
+ └── operator_loc: (41,2)-(41,4) = "in"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/pragma.txt b/test/yarp/snapshots/unparser/corpus/literal/pragma.txt
index e876c1f98d..5247dcc4f5 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/pragma.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/pragma.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(4,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(4,7))
└── body: (length: 4)
- ├── @ SourceEncodingNode (location: (0...12))
- ├── @ SourceFileNode (location: (13...21))
+ ├── @ SourceEncodingNode (location: (1,0)-(1,12))
+ ├── @ SourceFileNode (location: (2,0)-(2,8))
│ └── filepath: "unparser/corpus/literal/pragma.txt"
- ├── @ SourceLineNode (location: (22...30))
- └── @ CallNode (location: (31...38))
+ ├── @ SourceLineNode (location: (3,0)-(3,8))
+ └── @ CallNode (location: (4,0)-(4,7))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (31...38) = "__dir__"
+ ├── message_loc: (4,0)-(4,7) = "__dir__"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/unparser/corpus/literal/range.txt b/test/yarp/snapshots/unparser/corpus/literal/range.txt
index 2b402bc44b..8d22fd530e 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/range.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/range.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(4,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(4,5))
└── body: (length: 4)
- ├── @ ParenthesesNode (location: (0...5))
+ ├── @ ParenthesesNode (location: (1,0)-(1,5))
│ ├── body:
- │ │ @ StatementsNode (location: (1...4))
+ │ │ @ StatementsNode (location: (1,1)-(1,4))
│ │ └── body: (length: 1)
- │ │ └── @ RangeNode (location: (1...4))
+ │ │ └── @ RangeNode (location: (1,1)-(1,4))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (1...2))
+ │ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (2...4) = ".."
+ │ │ ├── operator_loc: (1,2)-(1,4) = ".."
│ │ └── flags: ∅
- │ ├── opening_loc: (0...1) = "("
- │ └── closing_loc: (4...5) = ")"
- ├── @ RangeNode (location: (6...10))
+ │ ├── opening_loc: (1,0)-(1,1) = "("
+ │ └── closing_loc: (1,4)-(1,5) = ")"
+ ├── @ RangeNode (location: (2,0)-(2,4))
│ ├── left:
- │ │ @ IntegerNode (location: (6...7))
+ │ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (7...9) = ".."
+ │ ├── operator_loc: (2,1)-(2,3) = ".."
│ └── flags: ∅
- ├── @ ParenthesesNode (location: (11...17))
+ ├── @ ParenthesesNode (location: (3,0)-(3,6))
│ ├── body:
- │ │ @ StatementsNode (location: (12...16))
+ │ │ @ StatementsNode (location: (3,1)-(3,5))
│ │ └── body: (length: 1)
- │ │ └── @ RangeNode (location: (12...16))
+ │ │ └── @ RangeNode (location: (3,1)-(3,5))
│ │ ├── left:
- │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
- │ │ ├── operator_loc: (13...16) = "..."
+ │ │ ├── operator_loc: (3,2)-(3,5) = "..."
│ │ └── flags: exclude_end
- │ ├── opening_loc: (11...12) = "("
- │ └── closing_loc: (16...17) = ")"
- └── @ RangeNode (location: (18...23))
+ │ ├── opening_loc: (3,0)-(3,1) = "("
+ │ └── closing_loc: (3,5)-(3,6) = ")"
+ └── @ RangeNode (location: (4,0)-(4,5))
├── left:
- │ @ IntegerNode (location: (18...19))
+ │ @ IntegerNode (location: (4,0)-(4,1))
│ └── flags: decimal
├── right:
- │ @ IntegerNode (location: (22...23))
+ │ @ IntegerNode (location: (4,4)-(4,5))
│ └── flags: decimal
- ├── operator_loc: (19...22) = "..."
+ ├── operator_loc: (4,1)-(4,4) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/unparser/corpus/literal/rescue.txt b/test/yarp/snapshots/unparser/corpus/literal/rescue.txt
index c43ea6a6f0..0472a94534 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/rescue.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/rescue.txt
@@ -1,99 +1,99 @@
-@ ProgramNode (location: (0...64))
+@ ProgramNode (location: (1,0)-(3,27))
├── locals: [:x]
└── statements:
- @ StatementsNode (location: (0...64))
+ @ StatementsNode (location: (1,0)-(3,27))
└── body: (length: 3)
- ├── @ RescueModifierNode (location: (0...14))
+ ├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (4...10) = "rescue"
+ │ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
- │ @ CallNode (location: (11...14))
+ │ @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "bar"
+ │ ├── message_loc: (1,11)-(1,14) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ RescueModifierNode (location: (15...36))
+ ├── @ RescueModifierNode (location: (2,0)-(2,21))
│ ├── expression:
- │ │ @ CallNode (location: (15...18))
+ │ │ @ CallNode (location: (2,0)-(2,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (15...18) = "foo"
+ │ │ ├── message_loc: (2,0)-(2,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── keyword_loc: (19...25) = "rescue"
+ │ ├── keyword_loc: (2,4)-(2,10) = "rescue"
│ └── rescue_expression:
- │ @ ReturnNode (location: (26...36))
- │ ├── keyword_loc: (26...32) = "return"
+ │ @ ReturnNode (location: (2,11)-(2,21))
+ │ ├── keyword_loc: (2,11)-(2,17) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (33...36))
+ │ @ ArgumentsNode (location: (2,18)-(2,21))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (33...36))
+ │ └── @ CallNode (location: (2,18)-(2,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...36) = "bar"
+ │ ├── message_loc: (2,18)-(2,21) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── @ LocalVariableWriteNode (location: (37...64))
+ └── @ LocalVariableWriteNode (location: (3,0)-(3,27))
├── name: :x
├── depth: 0
- ├── name_loc: (37...38) = "x"
+ ├── name_loc: (3,0)-(3,1) = "x"
├── value:
- │ @ ParenthesesNode (location: (41...64))
+ │ @ ParenthesesNode (location: (3,4)-(3,27))
│ ├── body:
- │ │ @ StatementsNode (location: (42...63))
+ │ │ @ StatementsNode (location: (3,5)-(3,26))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (42...63))
+ │ │ └── @ RescueModifierNode (location: (3,5)-(3,26))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (42...45))
+ │ │ │ @ CallNode (location: (3,5)-(3,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (42...45) = "foo"
+ │ │ │ ├── message_loc: (3,5)-(3,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── keyword_loc: (46...52) = "rescue"
+ │ │ ├── keyword_loc: (3,9)-(3,15) = "rescue"
│ │ └── rescue_expression:
- │ │ @ ReturnNode (location: (53...63))
- │ │ ├── keyword_loc: (53...59) = "return"
+ │ │ @ ReturnNode (location: (3,16)-(3,26))
+ │ │ ├── keyword_loc: (3,16)-(3,22) = "return"
│ │ └── arguments:
- │ │ @ ArgumentsNode (location: (60...63))
+ │ │ @ ArgumentsNode (location: (3,23)-(3,26))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (60...63))
+ │ │ └── @ CallNode (location: (3,23)-(3,26))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (60...63) = "bar"
+ │ │ ├── message_loc: (3,23)-(3,26) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── opening_loc: (41...42) = "("
- │ └── closing_loc: (63...64) = ")"
- └── operator_loc: (39...40) = "="
+ │ ├── opening_loc: (3,4)-(3,5) = "("
+ │ └── closing_loc: (3,26)-(3,27) = ")"
+ └── operator_loc: (3,2)-(3,3) = "="
diff --git a/test/yarp/snapshots/unparser/corpus/literal/send.txt b/test/yarp/snapshots/unparser/corpus/literal/send.txt
index 25202c1fe7..d2ec4b582f 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/send.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/send.txt
@@ -1,133 +1,133 @@
-@ ProgramNode (location: (0...999))
+@ ProgramNode (location: (1,0)-(84,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...999))
+ @ StatementsNode (location: (1,0)-(84,7))
└── body: (length: 62)
- ├── @ ModuleNode (location: (0...35))
+ ├── @ ModuleNode (location: (1,0)-(3,3))
│ ├── locals: [:foo, :a, :_]
- │ ├── module_keyword_loc: (0...6) = "module"
+ │ ├── module_keyword_loc: (1,0)-(1,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (7...8))
+ │ │ @ ConstantReadNode (location: (1,7)-(1,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (11...31))
+ │ │ @ StatementsNode (location: (2,2)-(2,22))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableOrWriteNode (location: (11...31))
- │ │ ├── name_loc: (11...14) = "foo"
- │ │ ├── operator_loc: (15...18) = "||="
+ │ │ └── @ LocalVariableOrWriteNode (location: (2,2)-(2,22))
+ │ │ ├── name_loc: (2,2)-(2,5) = "foo"
+ │ │ ├── operator_loc: (2,6)-(2,9) = "||="
│ │ ├── value:
- │ │ │ @ ParenthesesNode (location: (19...31))
+ │ │ │ @ ParenthesesNode (location: (2,10)-(2,22))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (20...30))
+ │ │ │ │ @ StatementsNode (location: (2,11)-(2,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ MultiWriteNode (location: (20...30))
+ │ │ │ │ └── @ MultiWriteNode (location: (2,11)-(2,21))
│ │ │ │ ├── targets: (length: 2)
- │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (21...22))
+ │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (2,12)-(2,13))
│ │ │ │ │ │ ├── name: :a
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── @ LocalVariableTargetNode (location: (24...25))
+ │ │ │ │ │ └── @ LocalVariableTargetNode (location: (2,15)-(2,16))
│ │ │ │ │ ├── name: :_
│ │ │ │ │ └── depth: 0
- │ │ │ │ ├── lparen_loc: (20...21) = "("
- │ │ │ │ ├── rparen_loc: (25...26) = ")"
- │ │ │ │ ├── operator_loc: (27...28) = "="
+ │ │ │ │ ├── lparen_loc: (2,11)-(2,12) = "("
+ │ │ │ │ ├── rparen_loc: (2,16)-(2,17) = ")"
+ │ │ │ │ ├── operator_loc: (2,18)-(2,19) = "="
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (29...30))
+ │ │ │ │ @ CallNode (location: (2,20)-(2,21))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (29...30) = "b"
+ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ ├── opening_loc: (19...20) = "("
- │ │ │ └── closing_loc: (30...31) = ")"
+ │ │ │ ├── opening_loc: (2,10)-(2,11) = "("
+ │ │ │ └── closing_loc: (2,21)-(2,22) = ")"
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── end_keyword_loc: (32...35) = "end"
+ │ ├── end_keyword_loc: (3,0)-(3,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (37...73))
+ ├── @ ModuleNode (location: (5,0)-(8,3))
│ ├── locals: [:local]
- │ ├── module_keyword_loc: (37...43) = "module"
+ │ ├── module_keyword_loc: (5,0)-(5,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (44...45))
+ │ │ @ ConstantReadNode (location: (5,7)-(5,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (48...69))
+ │ │ @ StatementsNode (location: (6,2)-(7,11))
│ │ └── body: (length: 2)
- │ │ ├── @ LocalVariableWriteNode (location: (48...57))
+ │ │ ├── @ LocalVariableWriteNode (location: (6,2)-(6,11))
│ │ │ ├── name: :local
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (48...53) = "local"
+ │ │ │ ├── name_loc: (6,2)-(6,7) = "local"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (56...57))
+ │ │ │ │ @ IntegerNode (location: (6,10)-(6,11))
│ │ │ │ └── flags: decimal
- │ │ │ └── operator_loc: (54...55) = "="
- │ │ └── @ CallNode (location: (60...69))
+ │ │ │ └── operator_loc: (6,8)-(6,9) = "="
+ │ │ └── @ CallNode (location: (7,2)-(7,11))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (60...65))
+ │ │ │ @ LocalVariableReadNode (location: (7,2)-(7,7))
│ │ │ ├── name: :local
│ │ │ └── depth: 0
- │ │ ├── call_operator_loc: (65...66) = "."
- │ │ ├── message_loc: (66...69) = "bar"
+ │ │ ├── call_operator_loc: (7,7)-(7,8) = "."
+ │ │ ├── message_loc: (7,8)-(7,11) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
- │ ├── end_keyword_loc: (70...73) = "end"
+ │ ├── end_keyword_loc: (8,0)-(8,3) = "end"
│ └── name: :A
- ├── @ CallNode (location: (74...89))
+ ├── @ CallNode (location: (9,0)-(10,7))
│ ├── receiver:
- │ │ @ ClassNode (location: (74...85))
+ │ │ @ ClassNode (location: (9,0)-(10,3))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (74...79) = "class"
+ │ │ ├── class_keyword_loc: (9,0)-(9,5) = "class"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (80...81))
+ │ │ │ @ ConstantReadNode (location: (9,6)-(9,7))
│ │ │ └── name: :A
│ │ ├── inheritance_operator_loc: ∅
│ │ ├── superclass: ∅
│ │ ├── body: ∅
- │ │ ├── end_keyword_loc: (82...85) = "end"
+ │ │ ├── end_keyword_loc: (10,0)-(10,3) = "end"
│ │ └── name: :A
- │ ├── call_operator_loc: (85...86) = "."
- │ ├── message_loc: (86...89) = "bar"
+ │ ├── call_operator_loc: (10,3)-(10,4) = "."
+ │ ├── message_loc: (10,4)-(10,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (90...106))
+ ├── @ CallNode (location: (11,0)-(12,7))
│ ├── receiver:
- │ │ @ ModuleNode (location: (90...102))
+ │ │ @ ModuleNode (location: (11,0)-(12,3))
│ │ ├── locals: []
- │ │ ├── module_keyword_loc: (90...96) = "module"
+ │ │ ├── module_keyword_loc: (11,0)-(11,6) = "module"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (97...98))
+ │ │ │ @ ConstantReadNode (location: (11,7)-(11,8))
│ │ │ └── name: :A
│ │ ├── body: ∅
- │ │ ├── end_keyword_loc: (99...102) = "end"
+ │ │ ├── end_keyword_loc: (12,0)-(12,3) = "end"
│ │ └── name: :A
- │ ├── call_operator_loc: (102...103) = "."
- │ ├── message_loc: (103...106) = "bar"
+ │ ├── call_operator_loc: (12,3)-(12,4) = "."
+ │ ├── message_loc: (12,4)-(12,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (107...127))
+ ├── @ CallNode (location: (13,0)-(15,7))
│ ├── receiver:
- │ │ @ BeginNode (location: (107...123))
- │ │ ├── begin_keyword_loc: (107...112) = "begin"
+ │ │ @ BeginNode (location: (13,0)-(15,3))
+ │ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin"
│ │ ├── statements: ∅
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (113...119))
- │ │ │ ├── keyword_loc: (113...119) = "rescue"
+ │ │ │ @ RescueNode (location: (14,0)-(14,6))
+ │ │ │ ├── keyword_loc: (14,0)-(14,6) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
@@ -135,51 +135,51 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (120...123) = "end"
- │ ├── call_operator_loc: (123...124) = "."
- │ ├── message_loc: (124...127) = "bar"
+ │ │ └── end_keyword_loc: (15,0)-(15,3) = "end"
+ │ ├── call_operator_loc: (15,3)-(15,4) = "."
+ │ ├── message_loc: (15,4)-(15,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (128...169))
+ ├── @ CallNode (location: (16,0)-(19,7))
│ ├── receiver:
- │ │ @ CaseNode (location: (128...165))
+ │ │ @ CaseNode (location: (16,0)-(19,3))
│ │ ├── predicate:
- │ │ │ @ ParenthesesNode (location: (133...152))
+ │ │ │ @ ParenthesesNode (location: (16,5)-(17,10))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (134...151))
+ │ │ │ │ @ StatementsNode (location: (16,6)-(17,9))
│ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ DefNode (location: (134...145))
+ │ │ │ │ ├── @ DefNode (location: (16,6)-(17,3))
│ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── name_loc: (138...141) = "foo"
+ │ │ │ │ │ ├── name_loc: (16,10)-(16,13) = "foo"
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── locals: []
- │ │ │ │ │ ├── def_keyword_loc: (134...137) = "def"
+ │ │ │ │ │ ├── def_keyword_loc: (16,6)-(16,9) = "def"
│ │ │ │ │ ├── operator_loc: ∅
│ │ │ │ │ ├── lparen_loc: ∅
│ │ │ │ │ ├── rparen_loc: ∅
│ │ │ │ │ ├── equal_loc: ∅
- │ │ │ │ │ └── end_keyword_loc: (142...145) = "end"
- │ │ │ │ └── @ SymbolNode (location: (147...151))
- │ │ │ │ ├── opening_loc: (147...148) = ":"
- │ │ │ │ ├── value_loc: (148...151) = "bar"
+ │ │ │ │ │ └── end_keyword_loc: (17,0)-(17,3) = "end"
+ │ │ │ │ └── @ SymbolNode (location: (17,5)-(17,9))
+ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = ":"
+ │ │ │ │ ├── value_loc: (17,6)-(17,9) = "bar"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "bar"
- │ │ │ ├── opening_loc: (133...134) = "("
- │ │ │ └── closing_loc: (151...152) = ")"
+ │ │ │ ├── opening_loc: (16,5)-(16,6) = "("
+ │ │ │ └── closing_loc: (17,9)-(17,10) = ")"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ WhenNode (location: (153...161))
- │ │ │ ├── keyword_loc: (153...157) = "when"
+ │ │ │ └── @ WhenNode (location: (18,0)-(18,8))
+ │ │ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ CallNode (location: (158...161))
+ │ │ │ │ └── @ CallNode (location: (18,5)-(18,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (158...161) = "bar"
+ │ │ │ │ ├── message_loc: (18,5)-(18,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -188,24 +188,24 @@
│ │ │ │ └── name: "bar"
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
- │ │ ├── case_keyword_loc: (128...132) = "case"
- │ │ └── end_keyword_loc: (162...165) = "end"
- │ ├── call_operator_loc: (165...166) = "."
- │ ├── message_loc: (166...169) = "baz"
+ │ │ ├── case_keyword_loc: (16,0)-(16,4) = "case"
+ │ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ │ ├── call_operator_loc: (19,3)-(19,4) = "."
+ │ ├── message_loc: (19,4)-(19,7) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "baz"
- ├── @ CallNode (location: (170...195))
+ ├── @ CallNode (location: (20,0)-(22,7))
│ ├── receiver:
- │ │ @ CaseNode (location: (170...191))
+ │ │ @ CaseNode (location: (20,0)-(22,3))
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (175...178))
+ │ │ │ @ CallNode (location: (20,5)-(20,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (175...178) = "foo"
+ │ │ │ ├── message_loc: (20,5)-(20,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -213,13 +213,13 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── conditions: (length: 1)
- │ │ │ └── @ WhenNode (location: (179...187))
- │ │ │ ├── keyword_loc: (179...183) = "when"
+ │ │ │ └── @ WhenNode (location: (21,0)-(21,8))
+ │ │ │ ├── keyword_loc: (21,0)-(21,4) = "when"
│ │ │ ├── conditions: (length: 1)
- │ │ │ │ └── @ CallNode (location: (184...187))
+ │ │ │ │ └── @ CallNode (location: (21,5)-(21,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (184...187) = "bar"
+ │ │ │ │ ├── message_loc: (21,5)-(21,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -228,91 +228,91 @@
│ │ │ │ └── name: "bar"
│ │ │ └── statements: ∅
│ │ ├── consequent: ∅
- │ │ ├── case_keyword_loc: (170...174) = "case"
- │ │ └── end_keyword_loc: (188...191) = "end"
- │ ├── call_operator_loc: (191...192) = "."
- │ ├── message_loc: (192...195) = "baz"
+ │ │ ├── case_keyword_loc: (20,0)-(20,4) = "case"
+ │ │ └── end_keyword_loc: (22,0)-(22,3) = "end"
+ │ ├── call_operator_loc: (22,3)-(22,4) = "."
+ │ ├── message_loc: (22,4)-(22,7) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "baz"
- ├── @ CallNode (location: (196...217))
+ ├── @ CallNode (location: (23,0)-(24,7))
│ ├── receiver:
- │ │ @ SingletonClassNode (location: (196...213))
+ │ │ @ SingletonClassNode (location: (23,0)-(24,3))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (196...201) = "class"
- │ │ ├── operator_loc: (202...204) = "<<"
+ │ │ ├── class_keyword_loc: (23,0)-(23,5) = "class"
+ │ │ ├── operator_loc: (23,6)-(23,8) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (205...209))
+ │ │ │ @ SelfNode (location: (23,9)-(23,13))
│ │ ├── body: ∅
- │ │ └── end_keyword_loc: (210...213) = "end"
- │ ├── call_operator_loc: (213...214) = "."
- │ ├── message_loc: (214...217) = "bar"
+ │ │ └── end_keyword_loc: (24,0)-(24,3) = "end"
+ │ ├── call_operator_loc: (24,3)-(24,4) = "."
+ │ ├── message_loc: (24,4)-(24,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (218...238))
+ ├── @ CallNode (location: (25,0)-(26,7))
│ ├── receiver:
- │ │ @ DefNode (location: (218...234))
+ │ │ @ DefNode (location: (25,0)-(26,3))
│ │ ├── name: :foo
- │ │ ├── name_loc: (227...230) = "foo"
+ │ │ ├── name_loc: (25,9)-(25,12) = "foo"
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (222...226))
+ │ │ │ @ SelfNode (location: (25,4)-(25,8))
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (218...221) = "def"
- │ │ ├── operator_loc: (226...227) = "."
+ │ │ ├── def_keyword_loc: (25,0)-(25,3) = "def"
+ │ │ ├── operator_loc: (25,8)-(25,9) = "."
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (231...234) = "end"
- │ ├── call_operator_loc: (234...235) = "."
- │ ├── message_loc: (235...238) = "bar"
+ │ │ └── end_keyword_loc: (26,0)-(26,3) = "end"
+ │ ├── call_operator_loc: (26,3)-(26,4) = "."
+ │ ├── message_loc: (26,4)-(26,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (239...254))
+ ├── @ CallNode (location: (27,0)-(28,7))
│ ├── receiver:
- │ │ @ DefNode (location: (239...250))
+ │ │ @ DefNode (location: (27,0)-(28,3))
│ │ ├── name: :foo
- │ │ ├── name_loc: (243...246) = "foo"
+ │ │ ├── name_loc: (27,4)-(27,7) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (239...242) = "def"
+ │ │ ├── def_keyword_loc: (27,0)-(27,3) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (247...250) = "end"
- │ ├── call_operator_loc: (250...251) = "."
- │ ├── message_loc: (251...254) = "bar"
+ │ │ └── end_keyword_loc: (28,0)-(28,3) = "end"
+ │ ├── call_operator_loc: (28,3)-(28,4) = "."
+ │ ├── message_loc: (28,4)-(28,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (255...272))
+ ├── @ CallNode (location: (29,0)-(30,7))
│ ├── receiver:
- │ │ @ UntilNode (location: (255...268))
- │ │ ├── keyword_loc: (255...260) = "until"
- │ │ ├── closing_loc: (265...268) = "end"
+ │ │ @ UntilNode (location: (29,0)-(30,3))
+ │ │ ├── keyword_loc: (29,0)-(29,5) = "until"
+ │ │ ├── closing_loc: (30,0)-(30,3) = "end"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (261...264))
+ │ │ │ @ CallNode (location: (29,6)-(29,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (261...264) = "foo"
+ │ │ │ ├── message_loc: (29,6)-(29,9) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -321,24 +321,24 @@
│ │ │ └── name: "foo"
│ │ ├── statements: ∅
│ │ └── flags: ∅
- │ ├── call_operator_loc: (268...269) = "."
- │ ├── message_loc: (269...272) = "bar"
+ │ ├── call_operator_loc: (30,3)-(30,4) = "."
+ │ ├── message_loc: (30,4)-(30,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (273...290))
+ ├── @ CallNode (location: (31,0)-(32,7))
│ ├── receiver:
- │ │ @ WhileNode (location: (273...286))
- │ │ ├── keyword_loc: (273...278) = "while"
- │ │ ├── closing_loc: (283...286) = "end"
+ │ │ @ WhileNode (location: (31,0)-(32,3))
+ │ │ ├── keyword_loc: (31,0)-(31,5) = "while"
+ │ │ ├── closing_loc: (32,0)-(32,3) = "end"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (279...282))
+ │ │ │ @ CallNode (location: (31,6)-(31,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (279...282) = "foo"
+ │ │ │ ├── message_loc: (31,6)-(31,9) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -347,49 +347,49 @@
│ │ │ └── name: "foo"
│ │ ├── statements: ∅
│ │ └── flags: ∅
- │ ├── call_operator_loc: (286...287) = "."
- │ ├── message_loc: (287...290) = "bar"
+ │ ├── call_operator_loc: (32,3)-(32,4) = "."
+ │ ├── message_loc: (32,4)-(32,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (291...303))
+ ├── @ CallNode (location: (33,0)-(34,5))
│ ├── receiver:
- │ │ @ CallNode (location: (291...299))
+ │ │ @ CallNode (location: (33,0)-(34,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (291...295) = "loop"
+ │ │ ├── message_loc: (33,0)-(33,4) = "loop"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (296...299))
+ │ │ │ @ BlockNode (location: (33,5)-(34,1))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (296...297) = "{"
- │ │ │ └── closing_loc: (298...299) = "}"
+ │ │ │ ├── opening_loc: (33,5)-(33,6) = "{"
+ │ │ │ └── closing_loc: (34,0)-(34,1) = "}"
│ │ ├── flags: ∅
│ │ └── name: "loop"
- │ ├── call_operator_loc: (299...300) = "."
- │ ├── message_loc: (300...303) = "bar"
+ │ ├── call_operator_loc: (34,1)-(34,2) = "."
+ │ ├── message_loc: (34,2)-(34,5) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (304...318))
+ ├── @ CallNode (location: (35,0)-(36,7))
│ ├── receiver:
- │ │ @ IfNode (location: (304...314))
- │ │ ├── if_keyword_loc: (304...306) = "if"
+ │ │ @ IfNode (location: (35,0)-(36,3))
+ │ │ ├── if_keyword_loc: (35,0)-(35,2) = "if"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (307...310))
+ │ │ │ @ CallNode (location: (35,3)-(35,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (307...310) = "foo"
+ │ │ │ ├── message_loc: (35,3)-(35,6) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -398,91 +398,91 @@
│ │ │ └── name: "foo"
│ │ ├── statements: ∅
│ │ ├── consequent: ∅
- │ │ └── end_keyword_loc: (311...314) = "end"
- │ ├── call_operator_loc: (314...315) = "."
- │ ├── message_loc: (315...318) = "baz"
+ │ │ └── end_keyword_loc: (36,0)-(36,3) = "end"
+ │ ├── call_operator_loc: (36,3)-(36,4) = "."
+ │ ├── message_loc: (36,4)-(36,7) = "baz"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "baz"
- ├── @ CallNode (location: (319...338))
+ ├── @ CallNode (location: (37,0)-(37,19))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (319...334))
+ │ │ @ ParenthesesNode (location: (37,0)-(37,15))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (320...333))
+ │ │ │ @ StatementsNode (location: (37,1)-(37,14))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (320...333))
+ │ │ │ └── @ CallNode (location: (37,1)-(37,14))
│ │ │ ├── receiver:
- │ │ │ │ @ RegularExpressionNode (location: (320...325))
- │ │ │ │ ├── opening_loc: (320...321) = "/"
- │ │ │ │ ├── content_loc: (321...324) = "bar"
- │ │ │ │ ├── closing_loc: (324...325) = "/"
+ │ │ │ │ @ RegularExpressionNode (location: (37,1)-(37,6))
+ │ │ │ │ ├── opening_loc: (37,1)-(37,2) = "/"
+ │ │ │ │ ├── content_loc: (37,2)-(37,5) = "bar"
+ │ │ │ │ ├── closing_loc: (37,5)-(37,6) = "/"
│ │ │ │ ├── unescaped: "bar"
│ │ │ │ └── flags: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (326...328) = "=~"
+ │ │ │ ├── message_loc: (37,7)-(37,9) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (329...333))
+ │ │ │ │ @ ArgumentsNode (location: (37,10)-(37,14))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (329...333))
- │ │ │ │ ├── opening_loc: (329...330) = ":"
- │ │ │ │ ├── value_loc: (330...333) = "foo"
+ │ │ │ │ └── @ 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: ∅
│ │ │ └── name: "=~"
- │ │ ├── opening_loc: (319...320) = "("
- │ │ └── closing_loc: (333...334) = ")"
- │ ├── call_operator_loc: (334...335) = "."
- │ ├── message_loc: (335...338) = "foo"
+ │ │ ├── opening_loc: (37,0)-(37,1) = "("
+ │ │ └── closing_loc: (37,14)-(37,15) = ")"
+ │ ├── call_operator_loc: (37,15)-(37,16) = "."
+ │ ├── message_loc: (37,16)-(37,19) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (339...349))
+ ├── @ CallNode (location: (38,0)-(38,10))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (339...345))
+ │ │ @ ParenthesesNode (location: (38,0)-(38,6))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (340...344))
+ │ │ │ @ StatementsNode (location: (38,1)-(38,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ RangeNode (location: (340...344))
+ │ │ │ └── @ RangeNode (location: (38,1)-(38,5))
│ │ │ ├── left:
- │ │ │ │ @ IntegerNode (location: (340...341))
+ │ │ │ │ @ IntegerNode (location: (38,1)-(38,2))
│ │ │ │ └── flags: decimal
│ │ │ ├── right:
- │ │ │ │ @ IntegerNode (location: (343...344))
+ │ │ │ │ @ IntegerNode (location: (38,4)-(38,5))
│ │ │ │ └── flags: decimal
- │ │ │ ├── operator_loc: (341...343) = ".."
+ │ │ │ ├── operator_loc: (38,2)-(38,4) = ".."
│ │ │ └── flags: ∅
- │ │ ├── opening_loc: (339...340) = "("
- │ │ └── closing_loc: (344...345) = ")"
- │ ├── call_operator_loc: (345...346) = "."
- │ ├── message_loc: (346...349) = "max"
+ │ │ ├── opening_loc: (38,0)-(38,1) = "("
+ │ │ └── closing_loc: (38,5)-(38,6) = ")"
+ │ ├── call_operator_loc: (38,6)-(38,7) = "."
+ │ ├── message_loc: (38,7)-(38,10) = "max"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "max"
- ├── @ CallNode (location: (350...368))
+ ├── @ CallNode (location: (39,0)-(39,18))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (350...364))
+ │ │ @ ParenthesesNode (location: (39,0)-(39,14))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (351...363))
+ │ │ │ @ StatementsNode (location: (39,1)-(39,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (351...363))
+ │ │ │ └── @ CallNode (location: (39,1)-(39,13))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (351...354))
+ │ │ │ │ @ CallNode (location: (39,1)-(39,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (351...354) = "foo"
+ │ │ │ │ ├── message_loc: (39,1)-(39,4) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -490,72 +490,72 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (355...357) = "=~"
+ │ │ │ ├── message_loc: (39,5)-(39,7) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (358...363))
+ │ │ │ │ @ ArgumentsNode (location: (39,8)-(39,13))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ RegularExpressionNode (location: (358...363))
- │ │ │ │ ├── opening_loc: (358...359) = "/"
- │ │ │ │ ├── content_loc: (359...362) = "bar"
- │ │ │ │ ├── closing_loc: (362...363) = "/"
+ │ │ │ │ └── @ 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: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "=~"
- │ │ ├── opening_loc: (350...351) = "("
- │ │ └── closing_loc: (363...364) = ")"
- │ ├── call_operator_loc: (364...365) = "."
- │ ├── message_loc: (365...368) = "foo"
+ │ │ ├── opening_loc: (39,0)-(39,1) = "("
+ │ │ └── closing_loc: (39,13)-(39,14) = ")"
+ │ ├── call_operator_loc: (39,14)-(39,15) = "."
+ │ ├── message_loc: (39,15)-(39,18) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (369...382))
+ ├── @ CallNode (location: (40,0)-(40,13))
│ ├── receiver:
- │ │ @ RegularExpressionNode (location: (369...374))
- │ │ ├── opening_loc: (369...370) = "/"
- │ │ ├── content_loc: (370...373) = "bar"
- │ │ ├── closing_loc: (373...374) = "/"
+ │ │ @ RegularExpressionNode (location: (40,0)-(40,5))
+ │ │ ├── opening_loc: (40,0)-(40,1) = "/"
+ │ │ ├── content_loc: (40,1)-(40,4) = "bar"
+ │ │ ├── closing_loc: (40,4)-(40,5) = "/"
│ │ ├── unescaped: "bar"
│ │ └── flags: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (375...377) = "=~"
+ │ ├── message_loc: (40,6)-(40,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (378...382))
+ │ │ @ ArgumentsNode (location: (40,9)-(40,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (378...382))
- │ │ ├── opening_loc: (378...379) = ":"
- │ │ ├── value_loc: (379...382) = "foo"
+ │ │ └── @ 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: ∅
│ └── name: "=~"
- ├── @ CallNode (location: (383...395))
+ ├── @ CallNode (location: (41,0)-(41,12))
│ ├── receiver:
- │ │ @ RegularExpressionNode (location: (383...388))
- │ │ ├── opening_loc: (383...384) = "/"
- │ │ ├── content_loc: (384...387) = "bar"
- │ │ ├── closing_loc: (387...388) = "/"
+ │ │ @ RegularExpressionNode (location: (41,0)-(41,5))
+ │ │ ├── opening_loc: (41,0)-(41,1) = "/"
+ │ │ ├── content_loc: (41,1)-(41,4) = "bar"
+ │ │ ├── closing_loc: (41,4)-(41,5) = "/"
│ │ ├── unescaped: "bar"
│ │ └── flags: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (389...391) = "=~"
+ │ ├── message_loc: (41,6)-(41,8) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (392...395))
+ │ │ @ ArgumentsNode (location: (41,9)-(41,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (392...395))
+ │ │ └── @ CallNode (location: (41,9)-(41,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (392...395) = "foo"
+ │ │ ├── message_loc: (41,9)-(41,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -566,103 +566,103 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=~"
- ├── @ RangeNode (location: (396...404))
+ ├── @ RangeNode (location: (42,0)-(42,8))
│ ├── left:
- │ │ @ IntegerNode (location: (396...397))
+ │ │ @ IntegerNode (location: (42,0)-(42,1))
│ │ └── flags: decimal
│ ├── right:
- │ │ @ CallNode (location: (399...404))
+ │ │ @ CallNode (location: (42,3)-(42,8))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (399...400))
+ │ │ │ @ IntegerNode (location: (42,3)-(42,4))
│ │ │ └── flags: decimal
- │ │ ├── call_operator_loc: (400...401) = "."
- │ │ ├── message_loc: (401...404) = "max"
+ │ │ ├── call_operator_loc: (42,4)-(42,5) = "."
+ │ │ ├── message_loc: (42,5)-(42,8) = "max"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "max"
- │ ├── operator_loc: (397...399) = ".."
+ │ ├── operator_loc: (42,1)-(42,3) = ".."
│ └── flags: ∅
- ├── @ CallNode (location: (405...410))
+ ├── @ CallNode (location: (43,0)-(43,5))
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (405...406))
+ │ │ @ ConstantReadNode (location: (43,0)-(43,1))
│ │ └── name: :A
- │ ├── call_operator_loc: (406...407) = "."
- │ ├── message_loc: (407...410) = "foo"
+ │ ├── call_operator_loc: (43,1)-(43,2) = "."
+ │ ├── message_loc: (43,2)-(43,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (411...416))
+ ├── @ CallNode (location: (44,0)-(44,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (411...414) = "FOO"
- │ ├── opening_loc: (414...415) = "("
+ │ ├── message_loc: (44,0)-(44,3) = "FOO"
+ │ ├── opening_loc: (44,3)-(44,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (415...416) = ")"
+ │ ├── closing_loc: (44,4)-(44,5) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "FOO"
- ├── @ CallNode (location: (417...421))
+ ├── @ CallNode (location: (45,0)-(45,4))
│ ├── receiver:
- │ │ @ CallNode (location: (417...418))
+ │ │ @ CallNode (location: (45,0)-(45,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (417...418) = "a"
+ │ │ ├── message_loc: (45,0)-(45,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (418...420) = "&."
- │ ├── message_loc: (420...421) = "b"
+ │ ├── call_operator_loc: (45,1)-(45,3) = "&."
+ │ ├── message_loc: (45,3)-(45,4) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "b"
- ├── @ CallNode (location: (422...427))
+ ├── @ CallNode (location: (46,0)-(46,5))
│ ├── receiver:
- │ │ @ CallNode (location: (422...423))
+ │ │ @ CallNode (location: (46,0)-(46,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (422...423) = "a"
+ │ │ ├── message_loc: (46,0)-(46,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (423...424) = "."
- │ ├── message_loc: (424...427) = "foo"
+ │ ├── call_operator_loc: (46,1)-(46,2) = "."
+ │ ├── message_loc: (46,2)-(46,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (428...431))
+ ├── @ CallNode (location: (47,0)-(47,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (428...431) = "foo"
+ │ ├── message_loc: (47,0)-(47,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── @ CallNode (location: (432...450))
+ ├── @ CallNode (location: (48,0)-(48,18))
│ ├── receiver:
- │ │ @ CallNode (location: (432...435))
+ │ │ @ CallNode (location: (48,0)-(48,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (432...435) = "foo"
+ │ │ ├── message_loc: (48,0)-(48,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -670,21 +670,21 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (436...438) = "<<"
+ │ ├── message_loc: (48,4)-(48,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (439...450))
+ │ │ @ ArgumentsNode (location: (48,7)-(48,18))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (439...450))
+ │ │ └── @ ParenthesesNode (location: (48,7)-(48,18))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (440...449))
+ │ │ │ @ StatementsNode (location: (48,8)-(48,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (440...449))
+ │ │ │ └── @ CallNode (location: (48,8)-(48,17))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (440...443))
+ │ │ │ │ @ CallNode (location: (48,8)-(48,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (440...443) = "bar"
+ │ │ │ │ ├── message_loc: (48,8)-(48,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -692,15 +692,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (444...445) = "*"
+ │ │ │ ├── message_loc: (48,12)-(48,13) = "*"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (446...449))
+ │ │ │ │ @ ArgumentsNode (location: (48,14)-(48,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (446...449))
+ │ │ │ │ └── @ CallNode (location: (48,14)-(48,17))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (446...449) = "baz"
+ │ │ │ │ ├── message_loc: (48,14)-(48,17) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -711,18 +711,18 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "*"
- │ │ ├── opening_loc: (439...440) = "("
- │ │ └── closing_loc: (449...450) = ")"
+ │ │ ├── opening_loc: (48,7)-(48,8) = "("
+ │ │ └── closing_loc: (48,17)-(48,18) = ")"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ CallNode (location: (451...463))
+ ├── @ CallNode (location: (49,0)-(49,12))
│ ├── receiver:
- │ │ @ CallNode (location: (451...454))
+ │ │ @ CallNode (location: (49,0)-(49,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (451...454) = "foo"
+ │ │ ├── message_loc: (49,0)-(49,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -730,41 +730,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (455...457) = "=~"
+ │ ├── message_loc: (49,4)-(49,6) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (458...463))
+ │ │ @ ArgumentsNode (location: (49,7)-(49,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ RegularExpressionNode (location: (458...463))
- │ │ ├── opening_loc: (458...459) = "/"
- │ │ ├── content_loc: (459...462) = "bar"
- │ │ ├── closing_loc: (462...463) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=~"
- ├── @ CallNode (location: (464...481))
+ ├── @ CallNode (location: (50,0)-(50,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (464...467) = "foo"
- │ ├── opening_loc: (467...468) = "("
+ │ ├── message_loc: (50,0)-(50,3) = "foo"
+ │ ├── opening_loc: (50,3)-(50,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (481...482) = ")"
+ │ ├── closing_loc: (50,17)-(50,18) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (468...481))
+ │ │ @ BlockArgumentNode (location: (50,4)-(50,17))
│ │ ├── expression:
- │ │ │ @ ParenthesesNode (location: (469...481))
+ │ │ │ @ ParenthesesNode (location: (50,5)-(50,17))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (470...480))
+ │ │ │ │ @ StatementsNode (location: (50,6)-(50,16))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ OrNode (location: (470...480))
+ │ │ │ │ └── @ OrNode (location: (50,6)-(50,16))
│ │ │ │ ├── left:
- │ │ │ │ │ @ CallNode (location: (470...473))
+ │ │ │ │ │ @ CallNode (location: (50,6)-(50,9))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (470...473) = "foo"
+ │ │ │ │ │ ├── message_loc: (50,6)-(50,9) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -772,195 +772,195 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "foo"
│ │ │ │ ├── right:
- │ │ │ │ │ @ CallNode (location: (477...480))
+ │ │ │ │ │ @ CallNode (location: (50,13)-(50,16))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (477...480) = "bar"
+ │ │ │ │ │ ├── message_loc: (50,13)-(50,16) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "bar"
- │ │ │ │ └── operator_loc: (474...476) = "||"
- │ │ │ ├── opening_loc: (469...470) = "("
- │ │ │ └── closing_loc: (480...481) = ")"
- │ │ └── operator_loc: (468...469) = "&"
+ │ │ │ │ └── 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: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (483...493))
+ ├── @ CallNode (location: (51,0)-(51,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (483...486) = "foo"
- │ ├── opening_loc: (486...487) = "("
+ │ ├── message_loc: (51,0)-(51,3) = "foo"
+ │ ├── opening_loc: (51,3)-(51,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (493...494) = ")"
+ │ ├── closing_loc: (51,10)-(51,11) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (487...493))
+ │ │ @ BlockArgumentNode (location: (51,4)-(51,10))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (488...493))
+ │ │ │ @ CallNode (location: (51,5)-(51,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (488...493) = "block"
+ │ │ │ ├── message_loc: (51,5)-(51,10) = "block"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "block"
- │ │ └── operator_loc: (487...488) = "&"
+ │ │ └── operator_loc: (51,4)-(51,5) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (495...512))
+ ├── @ CallNode (location: (52,0)-(52,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (495...498) = "foo"
- │ ├── opening_loc: (498...499) = "("
+ │ ├── message_loc: (52,0)-(52,3) = "foo"
+ │ ├── opening_loc: (52,3)-(52,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (499...504))
+ │ │ @ ArgumentsNode (location: (52,4)-(52,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (499...504))
- │ │ ├── operator_loc: (499...500) = "*"
+ │ │ └── @ SplatNode (location: (52,4)-(52,9))
+ │ │ ├── operator_loc: (52,4)-(52,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (500...504))
+ │ │ @ CallNode (location: (52,5)-(52,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (500...504) = "args"
+ │ │ ├── message_loc: (52,5)-(52,9) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (512...513) = ")"
+ │ ├── closing_loc: (52,17)-(52,18) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (506...512))
+ │ │ @ BlockArgumentNode (location: (52,11)-(52,17))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (507...512))
+ │ │ │ @ CallNode (location: (52,12)-(52,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (507...512) = "block"
+ │ │ │ ├── message_loc: (52,12)-(52,17) = "block"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "block"
- │ │ └── operator_loc: (506...507) = "&"
+ │ │ └── operator_loc: (52,11)-(52,12) = "&"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (514...529))
+ ├── @ CallNode (location: (53,0)-(53,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (514...517) = "foo"
- │ ├── opening_loc: (517...518) = "("
+ │ ├── message_loc: (53,0)-(53,3) = "foo"
+ │ ├── opening_loc: (53,3)-(53,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (518...528))
+ │ │ @ ArgumentsNode (location: (53,4)-(53,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (518...528))
- │ │ ├── operator_loc: (518...519) = "*"
+ │ │ └── @ SplatNode (location: (53,4)-(53,14))
+ │ │ ├── operator_loc: (53,4)-(53,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (519...528))
+ │ │ @ CallNode (location: (53,5)-(53,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (519...528) = "arguments"
+ │ │ ├── message_loc: (53,5)-(53,14) = "arguments"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "arguments"
- │ ├── closing_loc: (528...529) = ")"
+ │ ├── closing_loc: (53,14)-(53,15) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (530...539))
+ ├── @ CallNode (location: (54,0)-(54,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (530...533) = "foo"
- │ ├── opening_loc: (533...534) = "("
+ │ ├── message_loc: (54,0)-(54,3) = "foo"
+ │ ├── opening_loc: (54,3)-(54,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (534...538))
+ │ │ @ ArgumentsNode (location: (54,4)-(54,8))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (534...535))
+ │ │ ├── @ IntegerNode (location: (54,4)-(54,5))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (537...538))
+ │ │ └── @ IntegerNode (location: (54,7)-(54,8))
│ │ └── flags: decimal
- │ ├── closing_loc: (538...539) = ")"
+ │ ├── closing_loc: (54,8)-(54,9) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (540...548))
+ ├── @ CallNode (location: (55,0)-(55,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (540...543) = "foo"
- │ ├── opening_loc: (543...544) = "("
+ │ ├── message_loc: (55,0)-(55,3) = "foo"
+ │ ├── opening_loc: (55,3)-(55,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (544...547))
+ │ │ @ ArgumentsNode (location: (55,4)-(55,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (544...547))
+ │ │ └── @ CallNode (location: (55,4)-(55,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (544...547) = "bar"
+ │ │ ├── message_loc: (55,4)-(55,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (547...548) = ")"
+ │ ├── closing_loc: (55,7)-(55,8) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (549...564))
+ ├── @ CallNode (location: (56,0)-(56,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (549...552) = "foo"
- │ ├── opening_loc: (552...553) = "("
+ │ ├── message_loc: (56,0)-(56,3) = "foo"
+ │ ├── opening_loc: (56,3)-(56,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (553...563))
+ │ │ @ ArgumentsNode (location: (56,4)-(56,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (553...556))
+ │ │ ├── @ CallNode (location: (56,4)-(56,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (553...556) = "bar"
+ │ │ │ ├── message_loc: (56,4)-(56,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ SplatNode (location: (558...563))
- │ │ ├── operator_loc: (558...559) = "*"
+ │ │ └── @ SplatNode (location: (56,9)-(56,14))
+ │ │ ├── operator_loc: (56,9)-(56,10) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (559...563))
+ │ │ @ CallNode (location: (56,10)-(56,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (559...563) = "args"
+ │ │ ├── message_loc: (56,10)-(56,14) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (563...564) = ")"
+ │ ├── closing_loc: (56,14)-(56,15) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (565...582))
+ ├── @ CallNode (location: (57,0)-(57,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (565...568) = "foo"
- │ ├── opening_loc: (568...569) = "("
+ │ ├── message_loc: (57,0)-(57,3) = "foo"
+ │ ├── opening_loc: (57,3)-(57,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (569...581))
+ │ │ @ ArgumentsNode (location: (57,4)-(57,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (569...581))
+ │ │ └── @ CallNode (location: (57,4)-(57,16))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (569...572))
+ │ │ │ @ CallNode (location: (57,4)-(57,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (569...572) = "foo"
+ │ │ │ ├── message_loc: (57,4)-(57,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -968,268 +968,268 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (573...575) = "=~"
+ │ │ ├── message_loc: (57,8)-(57,10) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (576...581))
+ │ │ │ @ ArgumentsNode (location: (57,11)-(57,16))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ RegularExpressionNode (location: (576...581))
- │ │ │ ├── opening_loc: (576...577) = "/"
- │ │ │ ├── content_loc: (577...580) = "bar"
- │ │ │ ├── closing_loc: (580...581) = "/"
+ │ │ │ └── @ 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: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "=~"
- │ ├── closing_loc: (581...582) = ")"
+ │ ├── closing_loc: (57,16)-(57,17) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (583...595))
+ ├── @ CallNode (location: (58,0)-(58,12))
│ ├── receiver:
- │ │ @ CallNode (location: (583...586))
+ │ │ @ CallNode (location: (58,0)-(58,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (583...586) = "foo"
+ │ │ ├── message_loc: (58,0)-(58,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (586...587) = "."
- │ ├── message_loc: (587...590) = "bar"
- │ ├── opening_loc: (590...591) = "("
+ │ ├── call_operator_loc: (58,3)-(58,4) = "."
+ │ ├── message_loc: (58,4)-(58,7) = "bar"
+ │ ├── opening_loc: (58,7)-(58,8) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (595...596) = ")"
+ │ ├── closing_loc: (58,12)-(58,13) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (591...595))
+ │ │ @ BlockArgumentNode (location: (58,8)-(58,12))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (592...595))
+ │ │ │ @ CallNode (location: (58,9)-(58,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (592...595) = "baz"
+ │ │ │ ├── message_loc: (58,9)-(58,12) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (591...592) = "&"
+ │ │ └── operator_loc: (58,8)-(58,9) = "&"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (597...623))
+ ├── @ CallNode (location: (59,0)-(59,26))
│ ├── receiver:
- │ │ @ CallNode (location: (597...600))
+ │ │ @ CallNode (location: (59,0)-(59,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (597...600) = "foo"
+ │ │ ├── message_loc: (59,0)-(59,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (600...601) = "."
- │ ├── message_loc: (601...604) = "bar"
- │ ├── opening_loc: (604...605) = "("
+ │ ├── call_operator_loc: (59,3)-(59,4) = "."
+ │ ├── message_loc: (59,4)-(59,7) = "bar"
+ │ ├── opening_loc: (59,7)-(59,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (605...622))
+ │ │ @ ArgumentsNode (location: (59,8)-(59,25))
│ │ └── arguments: (length: 3)
- │ │ ├── @ SplatNode (location: (605...610))
- │ │ │ ├── operator_loc: (605...606) = "*"
+ │ │ ├── @ SplatNode (location: (59,8)-(59,13))
+ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (606...610))
+ │ │ │ @ CallNode (location: (59,9)-(59,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (606...610) = "arga"
+ │ │ │ ├── message_loc: (59,9)-(59,13) = "arga"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "arga"
- │ │ ├── @ CallNode (location: (612...615))
+ │ │ ├── @ CallNode (location: (59,15)-(59,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (612...615) = "foo"
+ │ │ │ ├── message_loc: (59,15)-(59,18) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ SplatNode (location: (617...622))
- │ │ ├── operator_loc: (617...618) = "*"
+ │ │ └── @ SplatNode (location: (59,20)-(59,25))
+ │ │ ├── operator_loc: (59,20)-(59,21) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (618...622))
+ │ │ @ CallNode (location: (59,21)-(59,25))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (618...622) = "argb"
+ │ │ ├── message_loc: (59,21)-(59,25) = "argb"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "argb"
- │ ├── closing_loc: (622...623) = ")"
+ │ ├── closing_loc: (59,25)-(59,26) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (624...638))
+ ├── @ CallNode (location: (60,0)-(60,14))
│ ├── receiver:
- │ │ @ CallNode (location: (624...627))
+ │ │ @ CallNode (location: (60,0)-(60,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (624...627) = "foo"
+ │ │ ├── message_loc: (60,0)-(60,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (627...628) = "."
- │ ├── message_loc: (628...631) = "bar"
- │ ├── opening_loc: (631...632) = "("
+ │ ├── call_operator_loc: (60,3)-(60,4) = "."
+ │ ├── message_loc: (60,4)-(60,7) = "bar"
+ │ ├── opening_loc: (60,7)-(60,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (632...637))
+ │ │ @ ArgumentsNode (location: (60,8)-(60,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (632...637))
- │ │ ├── operator_loc: (632...633) = "*"
+ │ │ └── @ SplatNode (location: (60,8)-(60,13))
+ │ │ ├── operator_loc: (60,8)-(60,9) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (633...637))
+ │ │ @ CallNode (location: (60,9)-(60,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (633...637) = "args"
+ │ │ ├── message_loc: (60,9)-(60,13) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (637...638) = ")"
+ │ ├── closing_loc: (60,13)-(60,14) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (639...658))
+ ├── @ CallNode (location: (61,0)-(61,19))
│ ├── receiver:
- │ │ @ CallNode (location: (639...642))
+ │ │ @ CallNode (location: (61,0)-(61,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (639...642) = "foo"
+ │ │ ├── message_loc: (61,0)-(61,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (642...643) = "."
- │ ├── message_loc: (643...646) = "bar"
- │ ├── opening_loc: (646...647) = "("
+ │ ├── call_operator_loc: (61,3)-(61,4) = "."
+ │ ├── message_loc: (61,4)-(61,7) = "bar"
+ │ ├── opening_loc: (61,7)-(61,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (647...657))
+ │ │ @ ArgumentsNode (location: (61,8)-(61,18))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SplatNode (location: (647...652))
- │ │ │ ├── operator_loc: (647...648) = "*"
+ │ │ ├── @ SplatNode (location: (61,8)-(61,13))
+ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (648...652))
+ │ │ │ @ CallNode (location: (61,9)-(61,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (648...652) = "args"
+ │ │ │ ├── message_loc: (61,9)-(61,13) = "args"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "args"
- │ │ └── @ CallNode (location: (654...657))
+ │ │ └── @ CallNode (location: (61,15)-(61,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (654...657) = "foo"
+ │ │ ├── message_loc: (61,15)-(61,18) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── closing_loc: (657...658) = ")"
+ │ ├── closing_loc: (61,18)-(61,19) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (659...677))
+ ├── @ CallNode (location: (62,0)-(62,18))
│ ├── receiver:
- │ │ @ CallNode (location: (659...662))
+ │ │ @ CallNode (location: (62,0)-(62,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (659...662) = "foo"
+ │ │ ├── message_loc: (62,0)-(62,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (662...663) = "."
- │ ├── message_loc: (663...666) = "bar"
- │ ├── opening_loc: (666...667) = "("
+ │ ├── call_operator_loc: (62,3)-(62,4) = "."
+ │ ├── message_loc: (62,4)-(62,7) = "bar"
+ │ ├── opening_loc: (62,7)-(62,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (667...671))
+ │ │ @ ArgumentsNode (location: (62,8)-(62,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (667...671))
- │ │ ├── opening_loc: (667...668) = ":"
- │ │ ├── value_loc: (668...671) = "baz"
+ │ │ └── @ 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: (677...678) = ")"
+ │ ├── closing_loc: (62,18)-(62,19) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (673...677))
+ │ │ @ BlockArgumentNode (location: (62,14)-(62,18))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (674...677))
+ │ │ │ @ CallNode (location: (62,15)-(62,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (674...677) = "baz"
+ │ │ │ ├── message_loc: (62,15)-(62,18) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (673...674) = "&"
+ │ │ └── operator_loc: (62,14)-(62,15) = "&"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (679...696))
+ ├── @ CallNode (location: (63,0)-(63,17))
│ ├── receiver:
- │ │ @ CallNode (location: (679...682))
+ │ │ @ CallNode (location: (63,0)-(63,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (679...682) = "foo"
+ │ │ ├── message_loc: (63,0)-(63,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (682...683) = "."
- │ ├── message_loc: (683...686) = "bar"
- │ ├── opening_loc: (686...687) = "("
+ │ ├── call_operator_loc: (63,3)-(63,4) = "."
+ │ ├── message_loc: (63,4)-(63,7) = "bar"
+ │ ├── opening_loc: (63,7)-(63,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (687...695))
+ │ │ @ ArgumentsNode (location: (63,8)-(63,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (687...695))
+ │ │ └── @ KeywordHashNode (location: (63,8)-(63,16))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (687...695))
+ │ │ └── @ AssocNode (location: (63,8)-(63,16))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (687...691))
+ │ │ │ @ SymbolNode (location: (63,8)-(63,12))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (687...690) = "baz"
- │ │ │ ├── closing_loc: (690...691) = ":"
+ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz"
+ │ │ │ ├── closing_loc: (63,11)-(63,12) = ":"
│ │ │ └── unescaped: "baz"
│ │ ├── value:
- │ │ │ @ CallNode (location: (692...695))
+ │ │ │ @ CallNode (location: (63,13)-(63,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (692...695) = "boz"
+ │ │ │ ├── message_loc: (63,13)-(63,16) = "boz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1237,236 +1237,236 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "boz"
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (695...696) = ")"
+ │ ├── closing_loc: (63,16)-(63,17) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (697...723))
+ ├── @ CallNode (location: (64,0)-(64,26))
│ ├── receiver:
- │ │ @ CallNode (location: (697...700))
+ │ │ @ CallNode (location: (64,0)-(64,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (697...700) = "foo"
+ │ │ ├── message_loc: (64,0)-(64,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (700...701) = "."
- │ ├── message_loc: (701...704) = "bar"
- │ ├── opening_loc: (704...705) = "("
+ │ ├── call_operator_loc: (64,3)-(64,4) = "."
+ │ ├── message_loc: (64,4)-(64,7) = "bar"
+ │ ├── opening_loc: (64,7)-(64,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (705...722))
+ │ │ @ ArgumentsNode (location: (64,8)-(64,25))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (705...708))
+ │ │ ├── @ CallNode (location: (64,8)-(64,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (705...708) = "foo"
+ │ │ │ ├── message_loc: (64,8)-(64,11) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ KeywordHashNode (location: (710...722))
+ │ │ └── @ KeywordHashNode (location: (64,13)-(64,25))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (710...722))
+ │ │ └── @ AssocNode (location: (64,13)-(64,25))
│ │ ├── key:
- │ │ │ @ StringNode (location: (710...715))
+ │ │ │ @ StringNode (location: (64,13)-(64,18))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (710...711) = "\""
- │ │ │ ├── content_loc: (711...714) = "baz"
- │ │ │ ├── closing_loc: (714...715) = "\""
+ │ │ │ ├── opening_loc: (64,13)-(64,14) = "\""
+ │ │ │ ├── content_loc: (64,14)-(64,17) = "baz"
+ │ │ │ ├── closing_loc: (64,17)-(64,18) = "\""
│ │ │ └── unescaped: "baz"
│ │ ├── value:
- │ │ │ @ CallNode (location: (719...722))
+ │ │ │ @ CallNode (location: (64,22)-(64,25))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (719...722) = "boz"
+ │ │ │ ├── message_loc: (64,22)-(64,25) = "boz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "boz"
- │ │ └── operator_loc: (716...718) = "=>"
- │ ├── closing_loc: (722...723) = ")"
+ │ │ └── operator_loc: (64,19)-(64,21) = "=>"
+ │ ├── closing_loc: (64,25)-(64,26) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (724...743))
+ ├── @ CallNode (location: (65,0)-(65,19))
│ ├── receiver:
- │ │ @ CallNode (location: (724...727))
+ │ │ @ CallNode (location: (65,0)-(65,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (724...727) = "foo"
+ │ │ ├── message_loc: (65,0)-(65,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (727...728) = "."
- │ ├── message_loc: (728...731) = "bar"
- │ ├── opening_loc: (731...732) = "("
+ │ ├── call_operator_loc: (65,3)-(65,4) = "."
+ │ ├── message_loc: (65,4)-(65,7) = "bar"
+ │ ├── opening_loc: (65,7)-(65,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (732...742))
+ │ │ @ ArgumentsNode (location: (65,8)-(65,18))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (732...735))
+ │ │ ├── @ CallNode (location: (65,8)-(65,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (732...735) = "foo"
+ │ │ │ ├── message_loc: (65,8)-(65,11) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ SplatNode (location: (737...742))
- │ │ ├── operator_loc: (737...738) = "*"
+ │ │ └── @ SplatNode (location: (65,13)-(65,18))
+ │ │ ├── operator_loc: (65,13)-(65,14) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (738...742))
+ │ │ @ CallNode (location: (65,14)-(65,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (738...742) = "args"
+ │ │ ├── message_loc: (65,14)-(65,18) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (742...743) = ")"
+ │ ├── closing_loc: (65,18)-(65,19) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (744...770))
+ ├── @ CallNode (location: (66,0)-(66,26))
│ ├── receiver:
- │ │ @ CallNode (location: (744...747))
+ │ │ @ CallNode (location: (66,0)-(66,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (744...747) = "foo"
+ │ │ ├── message_loc: (66,0)-(66,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (747...748) = "."
- │ ├── message_loc: (748...751) = "bar"
- │ ├── opening_loc: (751...752) = "("
+ │ ├── call_operator_loc: (66,3)-(66,4) = "."
+ │ ├── message_loc: (66,4)-(66,7) = "bar"
+ │ ├── opening_loc: (66,7)-(66,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (752...762))
+ │ │ @ ArgumentsNode (location: (66,8)-(66,18))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (752...755))
+ │ │ ├── @ CallNode (location: (66,8)-(66,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (752...755) = "foo"
+ │ │ │ ├── message_loc: (66,8)-(66,11) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ SplatNode (location: (757...762))
- │ │ ├── operator_loc: (757...758) = "*"
+ │ │ └── @ SplatNode (location: (66,13)-(66,18))
+ │ │ ├── operator_loc: (66,13)-(66,14) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (758...762))
+ │ │ @ CallNode (location: (66,14)-(66,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (758...762) = "args"
+ │ │ ├── message_loc: (66,14)-(66,18) = "args"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "args"
- │ ├── closing_loc: (770...771) = ")"
+ │ ├── closing_loc: (66,26)-(66,27) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (764...770))
+ │ │ @ BlockArgumentNode (location: (66,20)-(66,26))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (765...770))
+ │ │ │ @ CallNode (location: (66,21)-(66,26))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (765...770) = "block"
+ │ │ │ ├── message_loc: (66,21)-(66,26) = "block"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "block"
- │ │ └── operator_loc: (764...765) = "&"
+ │ │ └── operator_loc: (66,20)-(66,21) = "&"
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (772...788))
+ ├── @ CallNode (location: (67,0)-(67,16))
│ ├── receiver:
- │ │ @ CallNode (location: (772...775))
+ │ │ @ CallNode (location: (67,0)-(67,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (772...775) = "foo"
+ │ │ ├── message_loc: (67,0)-(67,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (775...776) = "."
- │ ├── message_loc: (776...779) = "bar"
- │ ├── opening_loc: (779...780) = "("
+ │ ├── call_operator_loc: (67,3)-(67,4) = "."
+ │ ├── message_loc: (67,4)-(67,7) = "bar"
+ │ ├── opening_loc: (67,7)-(67,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (780...787))
+ │ │ @ ArgumentsNode (location: (67,8)-(67,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (780...783))
+ │ │ ├── @ CallNode (location: (67,8)-(67,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (780...783) = "foo"
+ │ │ │ ├── message_loc: (67,8)-(67,11) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ HashNode (location: (785...787))
- │ │ ├── opening_loc: (785...786) = "{"
+ │ │ └── @ HashNode (location: (67,13)-(67,15))
+ │ │ ├── opening_loc: (67,13)-(67,14) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (786...787) = "}"
- │ ├── closing_loc: (787...788) = ")"
+ │ │ └── closing_loc: (67,14)-(67,15) = "}"
+ │ ├── closing_loc: (67,15)-(67,16) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (789...815))
+ ├── @ CallNode (location: (68,0)-(68,26))
│ ├── receiver:
- │ │ @ CallNode (location: (789...792))
+ │ │ @ CallNode (location: (68,0)-(68,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (789...792) = "foo"
+ │ │ ├── message_loc: (68,0)-(68,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (792...793) = "."
- │ ├── message_loc: (793...796) = "bar"
- │ ├── opening_loc: (796...797) = "("
+ │ ├── call_operator_loc: (68,3)-(68,4) = "."
+ │ ├── message_loc: (68,4)-(68,7) = "bar"
+ │ ├── opening_loc: (68,7)-(68,8) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (797...814))
+ │ │ @ ArgumentsNode (location: (68,8)-(68,25))
│ │ └── arguments: (length: 2)
- │ │ ├── @ HashNode (location: (797...809))
- │ │ │ ├── opening_loc: (797...798) = "{"
+ │ │ ├── @ HashNode (location: (68,8)-(68,20))
+ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{"
│ │ │ ├── elements: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (799...807))
+ │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (799...803))
+ │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (799...802) = "foo"
- │ │ │ │ │ ├── closing_loc: (802...803) = ":"
+ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo"
+ │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":"
│ │ │ │ │ └── unescaped: "foo"
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (804...807))
+ │ │ │ │ │ @ CallNode (location: (68,15)-(68,18))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (804...807) = "boz"
+ │ │ │ │ │ ├── message_loc: (68,15)-(68,18) = "boz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -1474,70 +1474,70 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "boz"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── closing_loc: (808...809) = "}"
- │ │ └── @ CallNode (location: (811...814))
+ │ │ │ └── closing_loc: (68,19)-(68,20) = "}"
+ │ │ └── @ CallNode (location: (68,22)-(68,25))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (811...814) = "boz"
+ │ │ ├── message_loc: (68,22)-(68,25) = "boz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "boz"
- │ ├── closing_loc: (814...815) = ")"
+ │ ├── closing_loc: (68,25)-(68,26) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
- ├── @ CallNode (location: (816...828))
+ ├── @ CallNode (location: (69,0)-(69,12))
│ ├── receiver:
- │ │ @ CallNode (location: (816...819))
+ │ │ @ CallNode (location: (69,0)-(69,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (816...819) = "foo"
+ │ │ ├── message_loc: (69,0)-(69,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (819...820) = "."
- │ ├── message_loc: (820...823) = "bar"
+ │ ├── call_operator_loc: (69,3)-(69,4) = "."
+ │ ├── message_loc: (69,4)-(69,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (824...828))
+ │ │ @ ArgumentsNode (location: (69,8)-(69,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (824...828))
- │ │ ├── opening_loc: (824...825) = ":"
- │ │ ├── value_loc: (825...828) = "baz"
+ │ │ └── @ 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: ∅
│ └── name: "bar="
- ├── @ CallNode (location: (829...838))
+ ├── @ CallNode (location: (70,0)-(70,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (829...832) = "foo"
- │ ├── opening_loc: (832...833) = "("
+ │ ├── message_loc: (70,0)-(70,3) = "foo"
+ │ ├── opening_loc: (70,3)-(70,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (833...837))
+ │ │ @ ArgumentsNode (location: (70,4)-(70,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (833...837))
+ │ │ └── @ KeywordHashNode (location: (70,4)-(70,8))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (833...837))
+ │ │ └── @ AssocNode (location: (70,4)-(70,8))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (833...835))
+ │ │ │ @ SymbolNode (location: (70,4)-(70,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (833...834) = "a"
- │ │ │ ├── closing_loc: (834...835) = ":"
+ │ │ │ ├── value_loc: (70,4)-(70,5) = "a"
+ │ │ │ ├── closing_loc: (70,5)-(70,6) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (836...837))
+ │ │ │ @ CallNode (location: (70,7)-(70,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (836...837) = "b"
+ │ │ │ ├── message_loc: (70,7)-(70,8) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1545,42 +1545,42 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (837...838) = ")"
+ │ ├── closing_loc: (70,8)-(70,9) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (839...850))
+ ├── @ CallNode (location: (71,0)-(71,11))
│ ├── receiver:
- │ │ @ CallNode (location: (839...842))
+ │ │ @ CallNode (location: (71,0)-(71,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (839...842) = "foo"
+ │ │ ├── message_loc: (71,0)-(71,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (842...843) = "."
- │ ├── message_loc: (843...844) = "&"
- │ ├── opening_loc: (844...845) = "("
+ │ ├── call_operator_loc: (71,3)-(71,4) = "."
+ │ ├── message_loc: (71,4)-(71,5) = "&"
+ │ ├── opening_loc: (71,5)-(71,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (845...849))
+ │ │ @ ArgumentsNode (location: (71,6)-(71,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (845...849))
+ │ │ └── @ KeywordHashNode (location: (71,6)-(71,10))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (845...849))
+ │ │ └── @ AssocNode (location: (71,6)-(71,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (845...847))
+ │ │ │ @ SymbolNode (location: (71,6)-(71,8))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (845...846) = "a"
- │ │ │ ├── closing_loc: (846...847) = ":"
+ │ │ │ ├── value_loc: (71,6)-(71,7) = "a"
+ │ │ │ ├── closing_loc: (71,7)-(71,8) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (848...849))
+ │ │ │ @ CallNode (location: (71,9)-(71,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (848...849) = "b"
+ │ │ │ ├── message_loc: (71,9)-(71,10) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -1588,53 +1588,53 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (849...850) = ")"
+ │ ├── closing_loc: (71,10)-(71,11) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
- ├── @ CallNode (location: (851...861))
+ ├── @ CallNode (location: (72,0)-(72,10))
│ ├── receiver:
- │ │ @ CallNode (location: (851...854))
+ │ │ @ CallNode (location: (72,0)-(72,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (851...854) = "foo"
+ │ │ ├── message_loc: (72,0)-(72,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (854...855) = "."
- │ ├── message_loc: (855...856) = "&"
- │ ├── opening_loc: (856...857) = "("
+ │ ├── call_operator_loc: (72,3)-(72,4) = "."
+ │ ├── message_loc: (72,4)-(72,5) = "&"
+ │ ├── opening_loc: (72,5)-(72,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (857...860))
+ │ │ @ ArgumentsNode (location: (72,6)-(72,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (857...860))
+ │ │ └── @ KeywordHashNode (location: (72,6)-(72,9))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (857...860))
+ │ │ └── @ AssocSplatNode (location: (72,6)-(72,9))
│ │ ├── value:
- │ │ │ @ CallNode (location: (859...860))
+ │ │ │ @ CallNode (location: (72,8)-(72,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (859...860) = "a"
+ │ │ │ ├── message_loc: (72,8)-(72,9) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── operator_loc: (857...859) = "**"
- │ ├── closing_loc: (860...861) = ")"
+ │ │ └── operator_loc: (72,6)-(72,8) = "**"
+ │ ├── closing_loc: (72,9)-(72,10) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
- ├── @ CallNode (location: (862...871))
+ ├── @ CallNode (location: (73,0)-(73,9))
│ ├── receiver:
- │ │ @ CallNode (location: (862...865))
+ │ │ @ CallNode (location: (73,0)-(73,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (862...865) = "foo"
+ │ │ ├── message_loc: (73,0)-(73,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1642,34 +1642,34 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (865...871) = "[*baz]"
- │ ├── opening_loc: (865...866) = "["
+ │ ├── message_loc: (73,3)-(73,9) = "[*baz]"
+ │ ├── opening_loc: (73,3)-(73,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (866...870))
+ │ │ @ ArgumentsNode (location: (73,4)-(73,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (866...870))
- │ │ ├── operator_loc: (866...867) = "*"
+ │ │ └── @ SplatNode (location: (73,4)-(73,8))
+ │ │ ├── operator_loc: (73,4)-(73,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (867...870))
+ │ │ @ CallNode (location: (73,5)-(73,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (867...870) = "baz"
+ │ │ ├── message_loc: (73,5)-(73,8) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ ├── closing_loc: (870...871) = "]"
+ │ ├── closing_loc: (73,8)-(73,9) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (872...881))
+ ├── @ CallNode (location: (74,0)-(74,9))
│ ├── receiver:
- │ │ @ CallNode (location: (872...875))
+ │ │ @ CallNode (location: (74,0)-(74,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (872...875) = "foo"
+ │ │ ├── message_loc: (74,0)-(74,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1677,25 +1677,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (875...881) = "[1, 2]"
- │ ├── opening_loc: (875...876) = "["
+ │ ├── message_loc: (74,3)-(74,9) = "[1, 2]"
+ │ ├── opening_loc: (74,3)-(74,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (876...880))
+ │ │ @ ArgumentsNode (location: (74,4)-(74,8))
│ │ └── arguments: (length: 2)
- │ │ ├── @ IntegerNode (location: (876...877))
+ │ │ ├── @ IntegerNode (location: (74,4)-(74,5))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (879...880))
+ │ │ └── @ IntegerNode (location: (74,7)-(74,8))
│ │ └── flags: decimal
- │ ├── closing_loc: (880...881) = "]"
+ │ ├── closing_loc: (74,8)-(74,9) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (882...887))
+ ├── @ CallNode (location: (75,0)-(75,5))
│ ├── receiver:
- │ │ @ CallNode (location: (882...885))
+ │ │ @ CallNode (location: (75,0)-(75,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (882...885) = "foo"
+ │ │ ├── message_loc: (75,0)-(75,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -1703,54 +1703,54 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (885...887) = "[]"
- │ ├── opening_loc: (885...886) = "["
+ │ ├── message_loc: (75,3)-(75,5) = "[]"
+ │ ├── opening_loc: (75,3)-(75,4) = "["
│ ├── arguments: ∅
- │ ├── closing_loc: (886...887) = "]"
+ │ ├── closing_loc: (75,4)-(75,5) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ CallNode (location: (888...896))
+ ├── @ CallNode (location: (76,0)-(76,8))
│ ├── receiver:
- │ │ @ SelfNode (location: (888...892))
- │ ├── call_operator_loc: (892...893) = "."
- │ ├── message_loc: (893...896) = "foo"
+ │ │ @ SelfNode (location: (76,0)-(76,4))
+ │ ├── call_operator_loc: (76,4)-(76,5) = "."
+ │ ├── message_loc: (76,5)-(76,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (897...910))
+ ├── @ CallNode (location: (77,0)-(77,13))
│ ├── receiver:
- │ │ @ SelfNode (location: (897...901))
- │ ├── call_operator_loc: (901...902) = "."
- │ ├── message_loc: (902...905) = "foo"
+ │ │ @ SelfNode (location: (77,0)-(77,4))
+ │ ├── call_operator_loc: (77,4)-(77,5) = "."
+ │ ├── message_loc: (77,5)-(77,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (906...910))
+ │ │ @ ArgumentsNode (location: (77,9)-(77,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (906...910))
- │ │ ├── opening_loc: (906...907) = ":"
- │ │ ├── value_loc: (907...910) = "bar"
+ │ │ └── @ 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: ∅
│ └── name: "foo="
- ├── @ CallNode (location: (911...928))
+ ├── @ CallNode (location: (78,0)-(78,17))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (911...918))
+ │ │ @ ParenthesesNode (location: (78,0)-(78,7))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (912...917))
+ │ │ │ @ StatementsNode (location: (78,1)-(78,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (912...917))
+ │ │ │ └── @ CallNode (location: (78,1)-(78,6))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (912...913))
+ │ │ │ │ @ CallNode (location: (78,1)-(78,2))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (912...913) = "a"
+ │ │ │ │ ├── message_loc: (78,1)-(78,2) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1758,15 +1758,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (914...915) = "+"
+ │ │ │ ├── message_loc: (78,3)-(78,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (916...917))
+ │ │ │ │ @ ArgumentsNode (location: (78,5)-(78,6))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (916...917))
+ │ │ │ │ └── @ CallNode (location: (78,5)-(78,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (916...917) = "b"
+ │ │ │ │ ├── message_loc: (78,5)-(78,6) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1777,24 +1777,24 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
- │ │ ├── opening_loc: (911...912) = "("
- │ │ └── closing_loc: (917...918) = ")"
+ │ │ ├── opening_loc: (78,0)-(78,1) = "("
+ │ │ └── closing_loc: (78,6)-(78,7) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (919...920) = "/"
+ │ ├── message_loc: (78,8)-(78,9) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (921...928))
+ │ │ @ ArgumentsNode (location: (78,10)-(78,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (921...928))
+ │ │ └── @ ParenthesesNode (location: (78,10)-(78,17))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (922...927))
+ │ │ │ @ StatementsNode (location: (78,11)-(78,16))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (922...927))
+ │ │ │ └── @ CallNode (location: (78,11)-(78,16))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (922...923))
+ │ │ │ │ @ CallNode (location: (78,11)-(78,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (922...923) = "c"
+ │ │ │ │ ├── message_loc: (78,11)-(78,12) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1802,15 +1802,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (924...925) = "-"
+ │ │ │ ├── message_loc: (78,13)-(78,14) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (926...927))
+ │ │ │ │ @ ArgumentsNode (location: (78,15)-(78,16))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (926...927))
+ │ │ │ │ └── @ CallNode (location: (78,15)-(78,16))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (926...927) = "d"
+ │ │ │ │ ├── message_loc: (78,15)-(78,16) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1821,24 +1821,24 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "-"
- │ │ ├── opening_loc: (921...922) = "("
- │ │ └── closing_loc: (927...928) = ")"
+ │ │ ├── opening_loc: (78,10)-(78,11) = "("
+ │ │ └── closing_loc: (78,16)-(78,17) = ")"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (929...948))
+ ├── @ CallNode (location: (79,0)-(79,19))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (929...936))
+ │ │ @ ParenthesesNode (location: (79,0)-(79,7))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (930...935))
+ │ │ │ @ StatementsNode (location: (79,1)-(79,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (930...935))
+ │ │ │ └── @ CallNode (location: (79,1)-(79,6))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (930...931))
+ │ │ │ │ @ CallNode (location: (79,1)-(79,2))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (930...931) = "a"
+ │ │ │ │ ├── message_loc: (79,1)-(79,2) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1846,15 +1846,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (932...933) = "+"
+ │ │ │ ├── message_loc: (79,3)-(79,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (934...935))
+ │ │ │ │ @ ArgumentsNode (location: (79,5)-(79,6))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (934...935))
+ │ │ │ │ └── @ CallNode (location: (79,5)-(79,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (934...935) = "b"
+ │ │ │ │ ├── message_loc: (79,5)-(79,6) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1865,53 +1865,53 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
- │ │ ├── opening_loc: (929...930) = "("
- │ │ └── closing_loc: (935...936) = ")"
+ │ │ ├── opening_loc: (79,0)-(79,1) = "("
+ │ │ └── closing_loc: (79,6)-(79,7) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (937...938) = "/"
+ │ ├── message_loc: (79,8)-(79,9) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (939...948))
+ │ │ @ ArgumentsNode (location: (79,10)-(79,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (939...948))
+ │ │ └── @ CallNode (location: (79,10)-(79,19))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (939...940))
+ │ │ │ @ CallNode (location: (79,10)-(79,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (939...940) = "c"
+ │ │ │ ├── message_loc: (79,10)-(79,11) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ ├── call_operator_loc: (940...941) = "."
- │ │ ├── message_loc: (941...942) = "-"
- │ │ ├── opening_loc: (942...943) = "("
+ │ │ ├── call_operator_loc: (79,11)-(79,12) = "."
+ │ │ ├── message_loc: (79,12)-(79,13) = "-"
+ │ │ ├── opening_loc: (79,13)-(79,14) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (943...947))
+ │ │ │ @ ArgumentsNode (location: (79,14)-(79,18))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ CallNode (location: (943...944))
+ │ │ │ ├── @ CallNode (location: (79,14)-(79,15))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (943...944) = "e"
+ │ │ │ │ ├── message_loc: (79,14)-(79,15) = "e"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "e"
- │ │ │ └── @ CallNode (location: (946...947))
+ │ │ │ └── @ CallNode (location: (79,17)-(79,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (946...947) = "f"
+ │ │ │ ├── message_loc: (79,17)-(79,18) = "f"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "f"
- │ │ ├── closing_loc: (947...948) = ")"
+ │ │ ├── closing_loc: (79,18)-(79,19) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "-"
@@ -1919,18 +1919,18 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (949...966))
+ ├── @ CallNode (location: (80,0)-(80,17))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (949...956))
+ │ │ @ ParenthesesNode (location: (80,0)-(80,7))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (950...955))
+ │ │ │ @ StatementsNode (location: (80,1)-(80,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (950...955))
+ │ │ │ └── @ CallNode (location: (80,1)-(80,6))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (950...951))
+ │ │ │ │ @ CallNode (location: (80,1)-(80,2))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (950...951) = "a"
+ │ │ │ │ ├── message_loc: (80,1)-(80,2) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1938,15 +1938,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (952...953) = "+"
+ │ │ │ ├── message_loc: (80,3)-(80,4) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (954...955))
+ │ │ │ │ @ ArgumentsNode (location: (80,5)-(80,6))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (954...955))
+ │ │ │ │ └── @ CallNode (location: (80,5)-(80,6))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (954...955) = "b"
+ │ │ │ │ ├── message_loc: (80,5)-(80,6) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -1957,46 +1957,46 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
- │ │ ├── opening_loc: (949...950) = "("
- │ │ └── closing_loc: (955...956) = ")"
+ │ │ ├── opening_loc: (80,0)-(80,1) = "("
+ │ │ └── closing_loc: (80,6)-(80,7) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (957...958) = "/"
+ │ ├── message_loc: (80,8)-(80,9) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (959...966))
+ │ │ @ ArgumentsNode (location: (80,10)-(80,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (959...966))
+ │ │ └── @ CallNode (location: (80,10)-(80,17))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (959...960))
+ │ │ │ @ CallNode (location: (80,10)-(80,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (959...960) = "c"
+ │ │ │ ├── message_loc: (80,10)-(80,11) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
- │ │ ├── call_operator_loc: (960...961) = "."
- │ │ ├── message_loc: (961...962) = "-"
- │ │ ├── opening_loc: (962...963) = "("
+ │ │ ├── call_operator_loc: (80,11)-(80,12) = "."
+ │ │ ├── message_loc: (80,12)-(80,13) = "-"
+ │ │ ├── opening_loc: (80,13)-(80,14) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (963...965))
+ │ │ │ @ ArgumentsNode (location: (80,14)-(80,16))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SplatNode (location: (963...965))
- │ │ │ ├── operator_loc: (963...964) = "*"
+ │ │ │ └── @ SplatNode (location: (80,14)-(80,16))
+ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (964...965))
+ │ │ │ @ CallNode (location: (80,15)-(80,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (964...965) = "f"
+ │ │ │ ├── message_loc: (80,15)-(80,16) = "f"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "f"
- │ │ ├── closing_loc: (965...966) = ")"
+ │ │ ├── closing_loc: (80,16)-(80,17) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "-"
@@ -2004,114 +2004,114 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (967...975))
+ ├── @ CallNode (location: (81,0)-(81,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (967...968) = "x"
- │ ├── opening_loc: (968...969) = "("
+ │ ├── message_loc: (81,0)-(81,1) = "x"
+ │ ├── opening_loc: (81,1)-(81,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (969...974))
+ │ │ @ ArgumentsNode (location: (81,2)-(81,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (969...974))
+ │ │ └── @ KeywordHashNode (location: (81,2)-(81,7))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (969...974))
+ │ │ └── @ AssocSplatNode (location: (81,2)-(81,7))
│ │ ├── value:
- │ │ │ @ CallNode (location: (971...974))
+ │ │ │ @ CallNode (location: (81,4)-(81,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (971...974) = "foo"
+ │ │ │ ├── message_loc: (81,4)-(81,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── operator_loc: (969...971) = "**"
- │ ├── closing_loc: (974...975) = ")"
+ │ │ └── operator_loc: (81,2)-(81,4) = "**"
+ │ ├── closing_loc: (81,7)-(81,8) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "x"
- ├── @ CallNode (location: (976...982))
+ ├── @ CallNode (location: (82,0)-(82,6))
│ ├── receiver:
- │ │ @ CallNode (location: (976...979))
+ │ │ @ CallNode (location: (82,0)-(82,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (976...979) = "foo"
+ │ │ ├── message_loc: (82,0)-(82,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (979...981) = "&."
- │ ├── message_loc: (981...982) = "!"
+ │ ├── call_operator_loc: (82,3)-(82,5) = "&."
+ │ ├── message_loc: (82,5)-(82,6) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "!"
- ├── @ CallNode (location: (983...991))
+ ├── @ CallNode (location: (83,0)-(83,8))
│ ├── receiver:
- │ │ @ CallNode (location: (983...986))
+ │ │ @ CallNode (location: (83,0)-(83,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (983...986) = "foo"
+ │ │ ├── message_loc: (83,0)-(83,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (986...987) = "."
- │ ├── message_loc: (987...988) = "~"
- │ ├── opening_loc: (988...989) = "("
+ │ ├── call_operator_loc: (83,3)-(83,4) = "."
+ │ ├── message_loc: (83,4)-(83,5) = "~"
+ │ ├── opening_loc: (83,5)-(83,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (989...990))
+ │ │ @ ArgumentsNode (location: (83,6)-(83,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (989...990))
+ │ │ └── @ CallNode (location: (83,6)-(83,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (989...990) = "b"
+ │ │ ├── message_loc: (83,6)-(83,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── closing_loc: (990...991) = ")"
+ │ ├── closing_loc: (83,7)-(83,8) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "~"
- └── @ CallNode (location: (992...999))
+ └── @ CallNode (location: (84,0)-(84,7))
├── receiver:
- │ @ CallNode (location: (992...993))
+ │ @ CallNode (location: (84,0)-(84,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (992...993) = "a"
+ │ ├── message_loc: (84,0)-(84,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (993...995) = "&."
- ├── message_loc: (995...996) = "+"
- ├── opening_loc: (996...997) = "("
+ ├── call_operator_loc: (84,1)-(84,3) = "&."
+ ├── message_loc: (84,3)-(84,4) = "+"
+ ├── opening_loc: (84,4)-(84,5) = "("
├── arguments:
- │ @ ArgumentsNode (location: (997...998))
+ │ @ ArgumentsNode (location: (84,5)-(84,6))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (997...998))
+ │ └── @ CallNode (location: (84,5)-(84,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (997...998) = "b"
+ │ ├── message_loc: (84,5)-(84,6) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── closing_loc: (998...999) = ")"
+ ├── closing_loc: (84,6)-(84,7) = ")"
├── block: ∅
├── flags: safe_navigation
└── name: "+"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/since/27.txt b/test/yarp/snapshots/unparser/corpus/literal/since/27.txt
index 78ecbff556..f9277521a3 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/since/27.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/since/27.txt
@@ -1,45 +1,45 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(4,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(4,5))
└── body: (length: 2)
- ├── @ LambdaNode (location: (0...16))
+ ├── @ LambdaNode (location: (1,0)-(3,1))
│ ├── locals: [:_1, :_2]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (3...4) = "{"
- │ ├── closing_loc: (15...16) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,3)-(1,4) = "{"
+ │ ├── closing_loc: (3,0)-(3,1) = "}"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (7...14))
+ │ @ StatementsNode (location: (2,2)-(2,9))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...14))
+ │ └── @ CallNode (location: (2,2)-(2,9))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (7...9))
+ │ │ @ LocalVariableReadNode (location: (2,2)-(2,4))
│ │ ├── name: :_1
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...11) = "+"
+ │ ├── message_loc: (2,5)-(2,6) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (12...14))
+ │ │ @ ArgumentsNode (location: (2,7)-(2,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (12...14))
+ │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9))
│ │ ├── name: :_2
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- └── @ ParenthesesNode (location: (17...22))
+ └── @ ParenthesesNode (location: (4,0)-(4,5))
├── body:
- │ @ StatementsNode (location: (18...21))
+ │ @ StatementsNode (location: (4,1)-(4,4))
│ └── body: (length: 1)
- │ └── @ RangeNode (location: (18...21))
+ │ └── @ RangeNode (location: (4,1)-(4,4))
│ ├── left: ∅
│ ├── right:
- │ │ @ IntegerNode (location: (20...21))
+ │ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ └── flags: decimal
- │ ├── operator_loc: (18...20) = ".."
+ │ ├── operator_loc: (4,1)-(4,3) = ".."
│ └── flags: ∅
- ├── opening_loc: (17...18) = "("
- └── closing_loc: (21...22) = ")"
+ ├── opening_loc: (4,0)-(4,1) = "("
+ └── closing_loc: (4,4)-(4,5) = ")"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/since/30.txt b/test/yarp/snapshots/unparser/corpus/literal/since/30.txt
index cfd1aaf4d9..f595ebb780 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/since/30.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/since/30.txt
@@ -1,83 +1,83 @@
-@ ProgramNode (location: (0...51))
+@ ProgramNode (location: (1,0)-(4,17))
├── locals: [:a, :foo]
└── statements:
- @ StatementsNode (location: (0...51))
+ @ StatementsNode (location: (1,0)-(4,17))
└── body: (length: 4)
- ├── @ MatchRequiredNode (location: (0...8))
+ ├── @ MatchRequiredNode (location: (1,0)-(1,8))
│ ├── value:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (5...8))
+ │ │ @ ArrayPatternNode (location: (1,5)-(1,8))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (6...7))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (5...6) = "["
- │ │ └── closing_loc: (7...8) = "]"
- │ └── operator_loc: (2...4) = "=>"
- ├── @ MatchRequiredNode (location: (9...17))
+ │ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ │ └── closing_loc: (1,7)-(1,8) = "]"
+ │ └── operator_loc: (1,2)-(1,4) = "=>"
+ ├── @ MatchRequiredNode (location: (2,0)-(2,8))
│ ├── value:
- │ │ @ IntegerNode (location: (9...10))
+ │ │ @ IntegerNode (location: (2,0)-(2,1))
│ │ └── flags: decimal
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (14...17))
+ │ │ @ ArrayPatternNode (location: (2,5)-(2,8))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 0)
│ │ ├── rest:
- │ │ │ @ SplatNode (location: (15...16))
- │ │ │ ├── operator_loc: (15...16) = "*"
+ │ │ │ @ SplatNode (location: (2,6)-(2,7))
+ │ │ │ ├── operator_loc: (2,6)-(2,7) = "*"
│ │ │ └── expression: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (14...15) = "["
- │ │ └── closing_loc: (16...17) = "]"
- │ └── operator_loc: (11...13) = "=>"
- ├── @ MatchPredicateNode (location: (18...33))
+ │ │ ├── opening_loc: (2,5)-(2,6) = "["
+ │ │ └── closing_loc: (2,7)-(2,8) = "]"
+ │ └── operator_loc: (2,2)-(2,4) = "=>"
+ ├── @ MatchPredicateNode (location: (3,0)-(3,15))
│ ├── value:
- │ │ @ IntegerNode (location: (18...19))
+ │ │ @ IntegerNode (location: (3,0)-(3,1))
│ │ └── flags: decimal
│ ├── pattern:
- │ │ @ FindPatternNode (location: (23...33))
+ │ │ @ FindPatternNode (location: (3,5)-(3,15))
│ │ ├── constant: ∅
│ │ ├── left:
- │ │ │ @ SplatNode (location: (24...25))
- │ │ │ ├── operator_loc: (24...25) = "*"
+ │ │ │ @ SplatNode (location: (3,6)-(3,7))
+ │ │ │ ├── operator_loc: (3,6)-(3,7) = "*"
│ │ │ └── expression: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ IntegerNode (location: (27...29))
+ │ │ │ └── @ IntegerNode (location: (3,9)-(3,11))
│ │ │ └── flags: decimal
│ │ ├── right:
- │ │ │ @ SplatNode (location: (31...32))
- │ │ │ ├── operator_loc: (31...32) = "*"
+ │ │ │ @ SplatNode (location: (3,13)-(3,14))
+ │ │ │ ├── operator_loc: (3,13)-(3,14) = "*"
│ │ │ └── expression: ∅
- │ │ ├── opening_loc: (23...24) = "["
- │ │ └── closing_loc: (32...33) = "]"
- │ └── operator_loc: (20...22) = "in"
- └── @ MatchPredicateNode (location: (34...51))
+ │ │ ├── opening_loc: (3,5)-(3,6) = "["
+ │ │ └── closing_loc: (3,14)-(3,15) = "]"
+ │ └── operator_loc: (3,2)-(3,4) = "in"
+ └── @ MatchPredicateNode (location: (4,0)-(4,17))
├── value:
- │ @ IntegerNode (location: (34...35))
+ │ @ IntegerNode (location: (4,0)-(4,1))
│ └── flags: decimal
├── pattern:
- │ @ FindPatternNode (location: (39...51))
+ │ @ FindPatternNode (location: (4,5)-(4,17))
│ ├── constant: ∅
│ ├── left:
- │ │ @ SplatNode (location: (40...41))
- │ │ ├── operator_loc: (40...41) = "*"
+ │ │ @ SplatNode (location: (4,6)-(4,7))
+ │ │ ├── operator_loc: (4,6)-(4,7) = "*"
│ │ └── expression: ∅
│ ├── requireds: (length: 1)
- │ │ └── @ LocalVariableTargetNode (location: (43...44))
+ │ │ └── @ LocalVariableTargetNode (location: (4,9)-(4,10))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── right:
- │ │ @ SplatNode (location: (46...50))
- │ │ ├── operator_loc: (46...47) = "*"
+ │ │ @ SplatNode (location: (4,12)-(4,16))
+ │ │ ├── operator_loc: (4,12)-(4,13) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (47...50))
+ │ │ @ LocalVariableTargetNode (location: (4,13)-(4,16))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── opening_loc: (39...40) = "["
- │ └── closing_loc: (50...51) = "]"
- └── operator_loc: (36...38) = "in"
+ │ ├── opening_loc: (4,5)-(4,6) = "["
+ │ └── closing_loc: (4,16)-(4,17) = "]"
+ └── operator_loc: (4,2)-(4,4) = "in"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/since/31.txt b/test/yarp/snapshots/unparser/corpus/literal/since/31.txt
index c8a07a5d28..d66a2017c2 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/since/31.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/since/31.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...51))
+@ ProgramNode (location: (1,0)-(7,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...51))
+ @ StatementsNode (location: (1,0)-(7,3))
└── body: (length: 2)
- ├── @ DefNode (location: (0...23))
+ ├── @ DefNode (location: (1,0)-(3,3))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (8...9))
+ │ │ @ ParametersNode (location: (1,8)-(1,9))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -16,41 +16,41 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (8...9))
+ │ │ @ BlockParameterNode (location: (1,8)-(1,9))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (8...9) = "&"
+ │ │ └── operator_loc: (1,8)-(1,9) = "&"
│ ├── body:
- │ │ @ StatementsNode (location: (13...18))
+ │ │ @ StatementsNode (location: (2,2)-(2,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (13...18))
+ │ │ └── @ CallNode (location: (2,2)-(2,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...16) = "bar"
- │ │ ├── opening_loc: (16...17) = "("
+ │ │ ├── message_loc: (2,2)-(2,5) = "bar"
+ │ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (18...19) = ")"
+ │ │ ├── closing_loc: (2,7)-(2,8) = ")"
│ │ ├── block:
- │ │ │ @ BlockArgumentNode (location: (17...18))
+ │ │ │ @ BlockArgumentNode (location: (2,6)-(2,7))
│ │ │ ├── expression: ∅
- │ │ │ └── operator_loc: (17...18) = "&"
+ │ │ │ └── operator_loc: (2,6)-(2,7) = "&"
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:&]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (9...10) = ")"
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,9)-(1,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (20...23) = "end"
- └── @ DefNode (location: (25...51))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ DefNode (location: (5,0)-(7,3))
├── name: :foo
- ├── name_loc: (29...32) = "foo"
+ ├── name_loc: (5,4)-(5,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (33...37))
+ │ @ ParametersNode (location: (5,8)-(5,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (33...34))
+ │ │ └── @ RequiredParameterNode (location: (5,8)-(5,9))
│ │ └── name: :a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -58,30 +58,30 @@
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (36...37))
+ │ @ BlockParameterNode (location: (5,11)-(5,12))
│ ├── name: nil
│ ├── name_loc: ∅
- │ └── operator_loc: (36...37) = "&"
+ │ └── operator_loc: (5,11)-(5,12) = "&"
├── body:
- │ @ StatementsNode (location: (41...46))
+ │ @ StatementsNode (location: (6,2)-(6,7))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (41...46))
+ │ └── @ CallNode (location: (6,2)-(6,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (41...44) = "bar"
- │ ├── opening_loc: (44...45) = "("
+ │ ├── message_loc: (6,2)-(6,5) = "bar"
+ │ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (46...47) = ")"
+ │ ├── closing_loc: (6,7)-(6,8) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (45...46))
+ │ │ @ BlockArgumentNode (location: (6,6)-(6,7))
│ │ ├── expression: ∅
- │ │ └── operator_loc: (45...46) = "&"
+ │ │ └── operator_loc: (6,6)-(6,7) = "&"
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:a, :&]
- ├── def_keyword_loc: (25...28) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (32...33) = "("
- ├── rparen_loc: (37...38) = ")"
+ ├── lparen_loc: (5,7)-(5,8) = "("
+ ├── rparen_loc: (5,12)-(5,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (48...51) = "end"
+ └── end_keyword_loc: (7,0)-(7,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/since/32.txt b/test/yarp/snapshots/unparser/corpus/literal/since/32.txt
index a2330c3cc7..aa8c15e0fb 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/since/32.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/since/32.txt
@@ -1,101 +1,101 @@
-@ ProgramNode (location: (0...90))
+@ ProgramNode (location: (1,0)-(7,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...90))
+ @ StatementsNode (location: (1,0)-(7,3))
└── body: (length: 2)
- ├── @ DefNode (location: (0...45))
+ ├── @ DefNode (location: (1,0)-(3,3))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (8...20))
+ │ │ @ ParametersNode (location: (1,8)-(1,20))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (8...16))
+ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16))
│ │ │ └── name: :argument
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (18...20))
+ │ │ │ @ KeywordRestParameterNode (location: (1,18)-(1,20))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (18...20) = "**"
+ │ │ │ └── operator_loc: (1,18)-(1,20) = "**"
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (24...41))
+ │ │ @ StatementsNode (location: (2,2)-(2,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (24...41))
+ │ │ └── @ CallNode (location: (2,2)-(2,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (24...27) = "bar"
- │ │ ├── opening_loc: (27...28) = "("
+ │ │ ├── message_loc: (2,2)-(2,5) = "bar"
+ │ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (28...40))
+ │ │ │ @ ArgumentsNode (location: (2,6)-(2,18))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ LocalVariableReadNode (location: (28...36))
+ │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14))
│ │ │ │ ├── name: :argument
│ │ │ │ └── depth: 0
- │ │ │ └── @ KeywordHashNode (location: (38...40))
+ │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18))
│ │ │ └── elements: (length: 1)
- │ │ │ └── @ AssocSplatNode (location: (38...40))
+ │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18))
│ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (38...40) = "**"
- │ │ ├── closing_loc: (40...41) = ")"
+ │ │ │ └── operator_loc: (2,16)-(2,18) = "**"
+ │ │ ├── closing_loc: (2,18)-(2,19) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:argument, :**]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (20...21) = ")"
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,20)-(1,21) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (42...45) = "end"
- └── @ DefNode (location: (47...90))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ DefNode (location: (5,0)-(7,3))
├── name: :foo
- ├── name_loc: (51...54) = "foo"
+ ├── name_loc: (5,4)-(5,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (55...66))
+ │ @ ParametersNode (location: (5,8)-(5,19))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (55...63))
+ │ │ └── @ RequiredParameterNode (location: (5,8)-(5,16))
│ │ └── name: :argument
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (65...66))
+ │ │ @ RestParameterNode (location: (5,18)-(5,19))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (65...66) = "*"
+ │ │ └── operator_loc: (5,18)-(5,19) = "*"
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (70...86))
+ │ @ StatementsNode (location: (6,2)-(6,18))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (70...86))
+ │ └── @ CallNode (location: (6,2)-(6,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (70...73) = "bar"
- │ ├── opening_loc: (73...74) = "("
+ │ ├── message_loc: (6,2)-(6,5) = "bar"
+ │ ├── opening_loc: (6,5)-(6,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (74...85))
+ │ │ @ ArgumentsNode (location: (6,6)-(6,17))
│ │ └── arguments: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (74...82))
+ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14))
│ │ │ ├── name: :argument
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (84...85))
- │ │ ├── operator_loc: (84...85) = "*"
+ │ │ └── @ SplatNode (location: (6,16)-(6,17))
+ │ │ ├── operator_loc: (6,16)-(6,17) = "*"
│ │ └── expression: ∅
- │ ├── closing_loc: (85...86) = ")"
+ │ ├── closing_loc: (6,17)-(6,18) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:argument, :*]
- ├── def_keyword_loc: (47...50) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (54...55) = "("
- ├── rparen_loc: (66...67) = ")"
+ ├── lparen_loc: (5,7)-(5,8) = "("
+ ├── rparen_loc: (5,19)-(5,20) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (87...90) = "end"
+ └── end_keyword_loc: (7,0)-(7,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/singletons.txt b/test/yarp/snapshots/unparser/corpus/literal/singletons.txt
index c98f09fed0..45c06f7b07 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/singletons.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/singletons.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(4,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(4,4))
└── body: (length: 4)
- ├── @ FalseNode (location: (0...5))
- ├── @ NilNode (location: (6...9))
- ├── @ SelfNode (location: (10...14))
- └── @ TrueNode (location: (15...19))
+ ├── @ FalseNode (location: (1,0)-(1,5))
+ ├── @ NilNode (location: (2,0)-(2,3))
+ ├── @ SelfNode (location: (3,0)-(3,4))
+ └── @ TrueNode (location: (4,0)-(4,4))
diff --git a/test/yarp/snapshots/unparser/corpus/literal/super.txt b/test/yarp/snapshots/unparser/corpus/literal/super.txt
index 117ffd2949..7a6c241d6f 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/super.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/super.txt
@@ -1,271 +1,271 @@
-@ ProgramNode (location: (0...159))
+@ ProgramNode (location: (1,0)-(21,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...159))
+ @ StatementsNode (location: (1,0)-(21,1))
└── body: (length: 11)
- ├── @ ForwardingSuperNode (location: (0...5))
+ ├── @ ForwardingSuperNode (location: (1,0)-(1,5))
│ └── block: ∅
- ├── @ SuperNode (location: (6...13))
- │ ├── keyword_loc: (6...11) = "super"
- │ ├── lparen_loc: (11...12) = "("
+ ├── @ SuperNode (location: (2,0)-(2,7))
+ │ ├── keyword_loc: (2,0)-(2,5) = "super"
+ │ ├── lparen_loc: (2,5)-(2,6) = "("
│ ├── arguments: ∅
- │ ├── rparen_loc: (12...13) = ")"
+ │ ├── rparen_loc: (2,6)-(2,7) = ")"
│ └── block: ∅
- ├── @ SuperNode (location: (14...22))
- │ ├── keyword_loc: (14...19) = "super"
- │ ├── lparen_loc: (19...20) = "("
+ ├── @ SuperNode (location: (3,0)-(3,8))
+ │ ├── keyword_loc: (3,0)-(3,5) = "super"
+ │ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (20...21))
+ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (20...21))
+ │ │ └── @ CallNode (location: (3,6)-(3,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...21) = "a"
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── rparen_loc: (21...22) = ")"
+ │ ├── rparen_loc: (3,7)-(3,8) = ")"
│ └── block: ∅
- ├── @ SuperNode (location: (23...34))
- │ ├── keyword_loc: (23...28) = "super"
- │ ├── lparen_loc: (28...29) = "("
+ ├── @ SuperNode (location: (4,0)-(4,11))
+ │ ├── keyword_loc: (4,0)-(4,5) = "super"
+ │ ├── lparen_loc: (4,5)-(4,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (29...33))
+ │ │ @ ArgumentsNode (location: (4,6)-(4,10))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (29...30))
+ │ │ ├── @ CallNode (location: (4,6)-(4,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (29...30) = "a"
+ │ │ │ ├── message_loc: (4,6)-(4,7) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── @ CallNode (location: (32...33))
+ │ │ └── @ CallNode (location: (4,9)-(4,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (32...33) = "b"
+ │ │ ├── message_loc: (4,9)-(4,10) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ ├── rparen_loc: (33...34) = ")"
+ │ ├── rparen_loc: (4,10)-(4,11) = ")"
│ └── block: ∅
- ├── @ SuperNode (location: (35...47))
- │ ├── keyword_loc: (35...40) = "super"
- │ ├── lparen_loc: (40...41) = "("
+ ├── @ SuperNode (location: (5,0)-(5,12))
+ │ ├── keyword_loc: (5,0)-(5,5) = "super"
+ │ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments: ∅
- │ ├── rparen_loc: (47...48) = ")"
+ │ ├── rparen_loc: (5,12)-(5,13) = ")"
│ └── block:
- │ @ BlockArgumentNode (location: (41...47))
+ │ @ BlockArgumentNode (location: (5,6)-(5,12))
│ ├── expression:
- │ │ @ CallNode (location: (42...47))
+ │ │ @ CallNode (location: (5,7)-(5,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...47) = "block"
+ │ │ ├── message_loc: (5,7)-(5,12) = "block"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "block"
- │ └── operator_loc: (41...42) = "&"
- ├── @ SuperNode (location: (49...64))
- │ ├── keyword_loc: (49...54) = "super"
- │ ├── lparen_loc: (54...55) = "("
+ │ └── operator_loc: (5,6)-(5,7) = "&"
+ ├── @ SuperNode (location: (6,0)-(6,15))
+ │ ├── keyword_loc: (6,0)-(6,5) = "super"
+ │ ├── lparen_loc: (6,5)-(6,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (55...56))
+ │ │ @ ArgumentsNode (location: (6,6)-(6,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (55...56))
+ │ │ └── @ CallNode (location: (6,6)-(6,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (55...56) = "a"
+ │ │ ├── message_loc: (6,6)-(6,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── rparen_loc: (64...65) = ")"
+ │ ├── rparen_loc: (6,15)-(6,16) = ")"
│ └── block:
- │ @ BlockArgumentNode (location: (58...64))
+ │ @ BlockArgumentNode (location: (6,9)-(6,15))
│ ├── expression:
- │ │ @ CallNode (location: (59...64))
+ │ │ @ CallNode (location: (6,10)-(6,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (59...64) = "block"
+ │ │ ├── message_loc: (6,10)-(6,15) = "block"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "block"
- │ └── operator_loc: (58...59) = "&"
- ├── @ SuperNode (location: (66...84))
- │ ├── keyword_loc: (66...71) = "super"
- │ ├── lparen_loc: (71...72) = "("
+ │ └── 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: (72...83))
+ │ │ @ ArgumentsNode (location: (7,6)-(9,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (72...83))
+ │ │ └── @ CallNode (location: (7,6)-(9,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (72...73) = "a"
+ │ │ ├── message_loc: (7,6)-(7,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (74...83))
+ │ │ │ @ BlockNode (location: (7,8)-(9,1))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (78...81))
+ │ │ │ │ @ StatementsNode (location: (8,2)-(8,5))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (78...81))
+ │ │ │ │ └── @ CallNode (location: (8,2)-(8,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (78...81) = "foo"
+ │ │ │ │ ├── message_loc: (8,2)-(8,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ ├── opening_loc: (74...75) = "{"
- │ │ │ └── closing_loc: (82...83) = "}"
+ │ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
+ │ │ │ └── closing_loc: (9,0)-(9,1) = "}"
│ │ ├── flags: ∅
│ │ └── name: "a"
- │ ├── rparen_loc: (83...84) = ")"
+ │ ├── rparen_loc: (9,1)-(9,2) = ")"
│ └── block: ∅
- ├── @ ForwardingSuperNode (location: (85...100))
+ ├── @ ForwardingSuperNode (location: (10,0)-(12,1))
│ └── block:
- │ @ BlockNode (location: (91...100))
+ │ @ BlockNode (location: (10,6)-(12,1))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (95...98))
+ │ │ @ StatementsNode (location: (11,2)-(11,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (95...98))
+ │ │ └── @ CallNode (location: (11,2)-(11,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (95...98) = "foo"
+ │ │ ├── message_loc: (11,2)-(11,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (91...92) = "{"
- │ └── closing_loc: (99...100) = "}"
- ├── @ SuperNode (location: (101...119))
- │ ├── keyword_loc: (101...106) = "super"
- │ ├── lparen_loc: (106...107) = "("
+ │ ├── opening_loc: (10,6)-(10,7) = "{"
+ │ └── closing_loc: (12,0)-(12,1) = "}"
+ ├── @ SuperNode (location: (13,0)-(15,1))
+ │ ├── keyword_loc: (13,0)-(13,5) = "super"
+ │ ├── lparen_loc: (13,5)-(13,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (107...108))
+ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (107...108))
+ │ │ └── @ CallNode (location: (13,6)-(13,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (107...108) = "a"
+ │ │ ├── message_loc: (13,6)-(13,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── rparen_loc: (108...109) = ")"
+ │ ├── rparen_loc: (13,7)-(13,8) = ")"
│ └── block:
- │ @ BlockNode (location: (110...119))
+ │ @ BlockNode (location: (13,9)-(15,1))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (114...117))
+ │ │ @ StatementsNode (location: (14,2)-(14,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (114...117))
+ │ │ └── @ CallNode (location: (14,2)-(14,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (114...117) = "foo"
+ │ │ ├── message_loc: (14,2)-(14,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (110...111) = "{"
- │ └── closing_loc: (118...119) = "}"
- ├── @ SuperNode (location: (120...137))
- │ ├── keyword_loc: (120...125) = "super"
- │ ├── lparen_loc: (125...126) = "("
+ │ ├── opening_loc: (13,9)-(13,10) = "{"
+ │ └── closing_loc: (15,0)-(15,1) = "}"
+ ├── @ SuperNode (location: (16,0)-(18,1))
+ │ ├── keyword_loc: (16,0)-(16,5) = "super"
+ │ ├── lparen_loc: (16,5)-(16,6) = "("
│ ├── arguments: ∅
- │ ├── rparen_loc: (126...127) = ")"
+ │ ├── rparen_loc: (16,6)-(16,7) = ")"
│ └── block:
- │ @ BlockNode (location: (128...137))
+ │ @ BlockNode (location: (16,8)-(18,1))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (132...135))
+ │ │ @ StatementsNode (location: (17,2)-(17,5))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (132...135))
+ │ │ └── @ CallNode (location: (17,2)-(17,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (132...135) = "foo"
+ │ │ ├── message_loc: (17,2)-(17,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (128...129) = "{"
- │ └── closing_loc: (136...137) = "}"
- └── @ SuperNode (location: (138...159))
- ├── keyword_loc: (138...143) = "super"
- ├── lparen_loc: (143...144) = "("
+ │ ├── opening_loc: (16,8)-(16,9) = "{"
+ │ └── closing_loc: (18,0)-(18,1) = "}"
+ └── @ SuperNode (location: (19,0)-(21,1))
+ ├── keyword_loc: (19,0)-(19,5) = "super"
+ ├── lparen_loc: (19,5)-(19,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (144...148))
+ │ @ ArgumentsNode (location: (19,6)-(19,10))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (144...145))
+ │ ├── @ CallNode (location: (19,6)-(19,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (144...145) = "a"
+ │ │ ├── message_loc: (19,6)-(19,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ └── @ CallNode (location: (147...148))
+ │ └── @ CallNode (location: (19,9)-(19,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (147...148) = "b"
+ │ ├── message_loc: (19,9)-(19,10) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- ├── rparen_loc: (148...149) = ")"
+ ├── rparen_loc: (19,10)-(19,11) = ")"
└── block:
- @ BlockNode (location: (150...159))
+ @ BlockNode (location: (19,12)-(21,1))
├── locals: []
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (154...157))
+ │ @ StatementsNode (location: (20,2)-(20,5))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (154...157))
+ │ └── @ CallNode (location: (20,2)-(20,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (154...157) = "foo"
+ │ ├── message_loc: (20,2)-(20,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── opening_loc: (150...151) = "{"
- └── closing_loc: (158...159) = "}"
+ ├── opening_loc: (19,12)-(19,13) = "{"
+ └── closing_loc: (21,0)-(21,1) = "}"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/unary.txt b/test/yarp/snapshots/unparser/corpus/literal/unary.txt
index ca20fb57bb..b8586036bf 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/unary.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/unary.txt
@@ -1,66 +1,66 @@
-@ ProgramNode (location: (0...54))
+@ ProgramNode (location: (1,0)-(8,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...54))
+ @ StatementsNode (location: (1,0)-(8,9))
└── body: (length: 8)
- ├── @ CallNode (location: (0...2))
+ ├── @ CallNode (location: (1,0)-(1,2))
│ ├── receiver:
- │ │ @ IntegerNode (location: (1...2))
+ │ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "!"
+ │ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (3...8))
+ ├── @ CallNode (location: (2,0)-(2,5))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (4...8))
+ │ │ @ ParenthesesNode (location: (2,1)-(2,5))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (5...7))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (5...7))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,4))
│ │ │ ├── receiver:
- │ │ │ │ @ IntegerNode (location: (6...7))
+ │ │ │ │ @ IntegerNode (location: (2,3)-(2,4))
│ │ │ │ └── flags: decimal
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (5...6) = "!"
+ │ │ │ ├── message_loc: (2,2)-(2,3) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "!"
- │ │ ├── opening_loc: (4...5) = "("
- │ │ └── closing_loc: (7...8) = ")"
+ │ │ ├── opening_loc: (2,1)-(2,2) = "("
+ │ │ └── closing_loc: (2,4)-(2,5) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...4) = "!"
+ │ ├── message_loc: (2,0)-(2,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (9...25))
+ ├── @ CallNode (location: (3,0)-(3,16))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (10...25))
+ │ │ @ ParenthesesNode (location: (3,1)-(3,16))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...24))
+ │ │ │ @ StatementsNode (location: (3,2)-(3,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (11...24))
+ │ │ │ └── @ CallNode (location: (3,2)-(3,15))
│ │ │ ├── receiver:
- │ │ │ │ @ ParenthesesNode (location: (12...24))
+ │ │ │ │ @ ParenthesesNode (location: (3,3)-(3,15))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (13...23))
+ │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,14))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ OrNode (location: (13...23))
+ │ │ │ │ │ └── @ OrNode (location: (3,4)-(3,14))
│ │ │ │ │ ├── left:
- │ │ │ │ │ │ @ CallNode (location: (13...16))
+ │ │ │ │ │ │ @ CallNode (location: (3,4)-(3,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (13...16) = "foo"
+ │ │ │ │ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -68,61 +68,61 @@
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "foo"
│ │ │ │ │ ├── right:
- │ │ │ │ │ │ @ CallNode (location: (20...23))
+ │ │ │ │ │ │ @ CallNode (location: (3,11)-(3,14))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (20...23) = "bar"
+ │ │ │ │ │ │ ├── message_loc: (3,11)-(3,14) = "bar"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "bar"
- │ │ │ │ │ └── operator_loc: (17...19) = "||"
- │ │ │ │ ├── opening_loc: (12...13) = "("
- │ │ │ │ └── closing_loc: (23...24) = ")"
+ │ │ │ │ │ └── operator_loc: (3,8)-(3,10) = "||"
+ │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
+ │ │ │ │ └── closing_loc: (3,14)-(3,15) = ")"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...12) = "!"
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "!"
- │ │ ├── opening_loc: (10...11) = "("
- │ │ └── closing_loc: (24...25) = ")"
+ │ │ ├── opening_loc: (3,1)-(3,2) = "("
+ │ │ └── closing_loc: (3,15)-(3,16) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...10) = "!"
+ │ ├── message_loc: (3,0)-(3,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (26...35))
+ ├── @ CallNode (location: (4,0)-(4,9))
│ ├── receiver:
- │ │ @ CallNode (location: (27...35))
+ │ │ @ CallNode (location: (4,1)-(4,9))
│ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (27...31))
+ │ │ │ @ ParenthesesNode (location: (4,1)-(4,5))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (28...30))
+ │ │ │ │ @ StatementsNode (location: (4,2)-(4,4))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (28...30))
+ │ │ │ │ └── @ CallNode (location: (4,2)-(4,4))
│ │ │ │ ├── receiver:
- │ │ │ │ │ @ IntegerNode (location: (29...30))
+ │ │ │ │ │ @ IntegerNode (location: (4,3)-(4,4))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (28...29) = "!"
+ │ │ │ │ ├── message_loc: (4,2)-(4,3) = "!"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "!"
- │ │ │ ├── opening_loc: (27...28) = "("
- │ │ │ └── closing_loc: (30...31) = ")"
- │ │ ├── call_operator_loc: (31...32) = "."
- │ │ ├── message_loc: (32...35) = "baz"
+ │ │ │ ├── opening_loc: (4,1)-(4,2) = "("
+ │ │ │ └── closing_loc: (4,4)-(4,5) = ")"
+ │ │ ├── call_operator_loc: (4,5)-(4,6) = "."
+ │ │ ├── message_loc: (4,6)-(4,9) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -130,19 +130,19 @@
│ │ ├── flags: ∅
│ │ └── name: "baz"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...27) = "!"
+ │ ├── message_loc: (4,0)-(4,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (36...38))
+ ├── @ CallNode (location: (5,0)-(5,2))
│ ├── receiver:
- │ │ @ CallNode (location: (37...38))
+ │ │ @ CallNode (location: (5,1)-(5,2))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (37...38) = "a"
+ │ │ ├── message_loc: (5,1)-(5,2) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -150,19 +150,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (36...37) = "~"
+ │ ├── message_loc: (5,0)-(5,1) = "~"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "~"
- ├── @ CallNode (location: (39...41))
+ ├── @ CallNode (location: (6,0)-(6,2))
│ ├── receiver:
- │ │ @ CallNode (location: (40...41))
+ │ │ @ CallNode (location: (6,1)-(6,2))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (40...41) = "a"
+ │ │ ├── message_loc: (6,1)-(6,2) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -170,19 +170,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (39...40) = "-"
+ │ ├── message_loc: (6,0)-(6,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-@"
- ├── @ CallNode (location: (42...44))
+ ├── @ CallNode (location: (7,0)-(7,2))
│ ├── receiver:
- │ │ @ CallNode (location: (43...44))
+ │ │ @ CallNode (location: (7,1)-(7,2))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (43...44) = "a"
+ │ │ ├── message_loc: (7,1)-(7,2) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -190,27 +190,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (42...43) = "+"
+ │ ├── message_loc: (7,0)-(7,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+@"
- └── @ CallNode (location: (45...54))
+ └── @ CallNode (location: (8,0)-(8,9))
├── receiver:
- │ @ CallNode (location: (46...54))
+ │ @ CallNode (location: (8,1)-(8,9))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (46...50))
+ │ │ @ ParenthesesNode (location: (8,1)-(8,5))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (47...49))
+ │ │ │ @ StatementsNode (location: (8,2)-(8,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (47...49))
+ │ │ │ └── @ CallNode (location: (8,2)-(8,4))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (48...49))
+ │ │ │ │ @ CallNode (location: (8,3)-(8,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (48...49) = "a"
+ │ │ │ │ ├── message_loc: (8,3)-(8,4) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -218,17 +218,17 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (47...48) = "-"
+ │ │ │ ├── message_loc: (8,2)-(8,3) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "-@"
- │ │ ├── opening_loc: (46...47) = "("
- │ │ └── closing_loc: (49...50) = ")"
- │ ├── call_operator_loc: (50...51) = "."
- │ ├── message_loc: (51...54) = "foo"
+ │ │ ├── opening_loc: (8,1)-(8,2) = "("
+ │ │ └── closing_loc: (8,4)-(8,5) = ")"
+ │ ├── call_operator_loc: (8,5)-(8,6) = "."
+ │ ├── message_loc: (8,6)-(8,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -236,7 +236,7 @@
│ ├── flags: ∅
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (45...46) = "-"
+ ├── message_loc: (8,0)-(8,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/unparser/corpus/literal/undef.txt b/test/yarp/snapshots/unparser/corpus/literal/undef.txt
index 755517ce3b..f89eb11fe5 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/undef.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/undef.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(2,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(2,16))
└── body: (length: 2)
- ├── @ UndefNode (location: (0...10))
+ ├── @ UndefNode (location: (1,0)-(1,10))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (6...10))
- │ │ ├── opening_loc: (6...7) = ":"
- │ │ ├── value_loc: (7...10) = "foo"
+ │ │ └── @ SymbolNode (location: (1,6)-(1,10))
+ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ │ ├── value_loc: (1,7)-(1,10) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── keyword_loc: (0...5) = "undef"
- └── @ UndefNode (location: (11...27))
+ │ └── keyword_loc: (1,0)-(1,5) = "undef"
+ └── @ UndefNode (location: (2,0)-(2,16))
├── names: (length: 2)
- │ ├── @ SymbolNode (location: (17...21))
- │ │ ├── opening_loc: (17...18) = ":"
- │ │ ├── value_loc: (18...21) = "foo"
+ │ ├── @ SymbolNode (location: (2,6)-(2,10))
+ │ │ ├── opening_loc: (2,6)-(2,7) = ":"
+ │ │ ├── value_loc: (2,7)-(2,10) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── @ SymbolNode (location: (23...27))
- │ ├── opening_loc: (23...24) = ":"
- │ ├── value_loc: (24...27) = "bar"
+ │ └── @ SymbolNode (location: (2,12)-(2,16))
+ │ ├── opening_loc: (2,12)-(2,13) = ":"
+ │ ├── value_loc: (2,13)-(2,16) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- └── keyword_loc: (11...16) = "undef"
+ └── keyword_loc: (2,0)-(2,5) = "undef"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/variables.txt b/test/yarp/snapshots/unparser/corpus/literal/variables.txt
index 6ac9bd673d..94b6f067dc 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/variables.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/variables.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...66))
+@ ProgramNode (location: (1,0)-(10,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...66))
+ @ StatementsNode (location: (1,0)-(10,17))
└── body: (length: 10)
- ├── @ CallNode (location: (0...1))
+ ├── @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ InstanceVariableReadNode (location: (2...4))
+ ├── @ InstanceVariableReadNode (location: (2,0)-(2,2))
│ └── name: :@a
- ├── @ ClassVariableReadNode (location: (5...8))
+ ├── @ ClassVariableReadNode (location: (3,0)-(3,3))
│ └── name: :@@a
- ├── @ GlobalVariableReadNode (location: (9...11))
+ ├── @ GlobalVariableReadNode (location: (4,0)-(4,2))
│ └── name: :$a
- ├── @ NumberedReferenceReadNode (location: (12...14))
+ ├── @ NumberedReferenceReadNode (location: (5,0)-(5,2))
│ └── number: 1
- ├── @ BackReferenceReadNode (location: (15...17))
- ├── @ ConstantReadNode (location: (18...23))
+ ├── @ BackReferenceReadNode (location: (6,0)-(6,2))
+ ├── @ ConstantReadNode (location: (7,0)-(7,5))
│ └── name: :CONST
- ├── @ ConstantPathNode (location: (24...37))
+ ├── @ ConstantPathNode (location: (8,0)-(8,13))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (24...30))
+ │ │ @ ConstantReadNode (location: (8,0)-(8,6))
│ │ └── name: :SCOPED
│ ├── child:
- │ │ @ ConstantReadNode (location: (32...37))
+ │ │ @ ConstantReadNode (location: (8,8)-(8,13))
│ │ └── name: :CONST
- │ └── delimiter_loc: (30...32) = "::"
- ├── @ ConstantPathNode (location: (38...48))
+ │ └── delimiter_loc: (8,6)-(8,8) = "::"
+ ├── @ ConstantPathNode (location: (9,0)-(9,10))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (40...48))
+ │ │ @ ConstantReadNode (location: (9,2)-(9,10))
│ │ └── name: :TOPLEVEL
- │ └── delimiter_loc: (38...40) = "::"
- └── @ ConstantPathNode (location: (49...66))
+ │ └── delimiter_loc: (9,0)-(9,2) = "::"
+ └── @ ConstantPathNode (location: (10,0)-(10,17))
├── parent:
- │ @ ConstantPathNode (location: (49...59))
+ │ @ ConstantPathNode (location: (10,0)-(10,10))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (51...59))
+ │ │ @ ConstantReadNode (location: (10,2)-(10,10))
│ │ └── name: :TOPLEVEL
- │ └── delimiter_loc: (49...51) = "::"
+ │ └── delimiter_loc: (10,0)-(10,2) = "::"
├── child:
- │ @ ConstantReadNode (location: (61...66))
+ │ @ ConstantReadNode (location: (10,12)-(10,17))
│ └── name: :CONST
- └── delimiter_loc: (59...61) = "::"
+ └── delimiter_loc: (10,10)-(10,12) = "::"
diff --git a/test/yarp/snapshots/unparser/corpus/literal/while.txt b/test/yarp/snapshots/unparser/corpus/literal/while.txt
index e6c7f74e02..aa47d33766 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/while.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/while.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...620))
+@ ProgramNode (location: (1,0)-(73,3))
├── locals: [:x]
└── statements:
- @ StatementsNode (location: (0...620))
+ @ StatementsNode (location: (1,0)-(73,3))
└── body: (length: 17)
- ├── @ ModuleNode (location: (0...68))
+ ├── @ ModuleNode (location: (1,0)-(7,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (0...6) = "module"
+ │ ├── module_keyword_loc: (1,0)-(1,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (7...8))
+ │ │ @ ConstantReadNode (location: (1,7)-(1,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (11...64))
+ │ │ @ StatementsNode (location: (2,2)-(6,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11...64))
+ │ │ └── @ CallNode (location: (2,2)-(6,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (2,2)-(2,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (15...64))
+ │ │ │ @ BlockNode (location: (2,6)-(6,3))
│ │ │ ├── locals: [:bar, :foo]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (17...22))
+ │ │ │ │ @ BlockParametersNode (location: (2,8)-(2,13))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (18...21))
+ │ │ │ │ │ @ ParametersNode (location: (2,9)-(2,12))
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (18...21))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12))
│ │ │ │ │ │ └── name: :bar
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
@@ -36,19 +36,19 @@
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (17...18) = "|"
- │ │ │ │ └── closing_loc: (21...22) = "|"
+ │ │ │ │ ├── opening_loc: (2,8)-(2,9) = "|"
+ │ │ │ │ └── closing_loc: (2,12)-(2,13) = "|"
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (27...60))
+ │ │ │ │ @ StatementsNode (location: (3,4)-(5,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (27...60))
- │ │ │ │ ├── keyword_loc: (27...32) = "while"
- │ │ │ │ ├── closing_loc: (57...60) = "end"
+ │ │ │ │ └── @ WhileNode (location: (3,4)-(5,7))
+ │ │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while"
+ │ │ │ │ ├── closing_loc: (5,4)-(5,7) = "end"
│ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (33...36))
+ │ │ │ │ │ @ CallNode (location: (3,10)-(3,13))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (33...36) = "foo"
+ │ │ │ │ │ ├── message_loc: (3,10)-(3,13) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -56,51 +56,51 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "foo"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (43...52))
+ │ │ │ │ │ @ StatementsNode (location: (4,6)-(4,15))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (43...52))
+ │ │ │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15))
│ │ │ │ │ ├── name: :foo
│ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (43...46) = "foo"
+ │ │ │ │ │ ├── name_loc: (4,6)-(4,9) = "foo"
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ LocalVariableReadNode (location: (49...52))
+ │ │ │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15))
│ │ │ │ │ │ ├── name: :bar
│ │ │ │ │ │ └── depth: 0
- │ │ │ │ │ └── operator_loc: (47...48) = "="
+ │ │ │ │ │ └── operator_loc: (4,10)-(4,11) = "="
│ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (15...16) = "{"
- │ │ │ └── closing_loc: (63...64) = "}"
+ │ │ │ ├── opening_loc: (2,6)-(2,7) = "{"
+ │ │ │ └── closing_loc: (6,2)-(6,3) = "}"
│ │ ├── flags: ∅
│ │ └── name: "foo"
- │ ├── end_keyword_loc: (65...68) = "end"
+ │ ├── end_keyword_loc: (7,0)-(7,3) = "end"
│ └── name: :A
- ├── @ DefNode (location: (70...110))
+ ├── @ DefNode (location: (9,0)-(11,3))
│ ├── name: :foo
- │ ├── name_loc: (74...77) = "foo"
+ │ ├── name_loc: (9,4)-(9,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (80...106))
+ │ │ @ StatementsNode (location: (10,2)-(10,28))
│ │ └── body: (length: 1)
- │ │ └── @ WhileNode (location: (80...106))
- │ │ ├── keyword_loc: (90...95) = "while"
+ │ │ └── @ WhileNode (location: (10,2)-(10,28))
+ │ │ ├── keyword_loc: (10,12)-(10,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (96...106))
+ │ │ │ @ CallNode (location: (10,18)-(10,28))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (96...99))
+ │ │ │ │ @ LocalVariableReadNode (location: (10,18)-(10,21))
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (100...102) = "!="
+ │ │ │ ├── message_loc: (10,22)-(10,24) = "!="
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (103...106))
+ │ │ │ │ @ ArgumentsNode (location: (10,25)-(10,28))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (103...106))
+ │ │ │ │ └── @ CallNode (location: (10,25)-(10,28))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (103...106) = "baz"
+ │ │ │ │ ├── message_loc: (10,25)-(10,28) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -112,125 +112,125 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "!="
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (80...89))
+ │ │ │ @ StatementsNode (location: (10,2)-(10,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (80...89))
+ │ │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (80...83) = "foo"
+ │ │ │ ├── name_loc: (10,2)-(10,5) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (86...89))
+ │ │ │ │ @ CallNode (location: (10,8)-(10,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (86...89) = "bar"
+ │ │ │ │ ├── message_loc: (10,8)-(10,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (84...85) = "="
+ │ │ │ └── operator_loc: (10,6)-(10,7) = "="
│ │ └── flags: ∅
│ ├── locals: [:foo]
- │ ├── def_keyword_loc: (70...73) = "def"
+ │ ├── def_keyword_loc: (9,0)-(9,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (107...110) = "end"
- ├── @ ModuleNode (location: (112...146))
+ │ └── end_keyword_loc: (11,0)-(11,3) = "end"
+ ├── @ ModuleNode (location: (13,0)-(15,3))
│ ├── locals: [:foo]
- │ ├── module_keyword_loc: (112...118) = "module"
+ │ ├── module_keyword_loc: (13,0)-(13,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (119...120))
+ │ │ @ ConstantReadNode (location: (13,7)-(13,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (123...142))
+ │ │ @ StatementsNode (location: (14,2)-(14,21))
│ │ └── body: (length: 1)
- │ │ └── @ WhileNode (location: (123...142))
- │ │ ├── keyword_loc: (133...138) = "while"
+ │ │ └── @ WhileNode (location: (14,2)-(14,21))
+ │ │ ├── keyword_loc: (14,12)-(14,17) = "while"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
- │ │ │ @ LocalVariableReadNode (location: (139...142))
+ │ │ │ @ LocalVariableReadNode (location: (14,18)-(14,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (123...132))
+ │ │ │ @ StatementsNode (location: (14,2)-(14,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (123...132))
+ │ │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (123...126) = "foo"
+ │ │ │ ├── name_loc: (14,2)-(14,5) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (129...132))
+ │ │ │ │ @ CallNode (location: (14,8)-(14,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (129...132) = "bar"
+ │ │ │ │ ├── message_loc: (14,8)-(14,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (127...128) = "="
+ │ │ │ └── operator_loc: (14,6)-(14,7) = "="
│ │ └── flags: ∅
- │ ├── end_keyword_loc: (143...146) = "end"
+ │ ├── end_keyword_loc: (15,0)-(15,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (148...182))
+ ├── @ ModuleNode (location: (17,0)-(19,3))
│ ├── locals: [:foo]
- │ ├── module_keyword_loc: (148...154) = "module"
+ │ ├── module_keyword_loc: (17,0)-(17,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (155...156))
+ │ │ @ ConstantReadNode (location: (17,7)-(17,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (159...178))
+ │ │ @ StatementsNode (location: (18,2)-(18,21))
│ │ └── body: (length: 1)
- │ │ └── @ UntilNode (location: (159...178))
- │ │ ├── keyword_loc: (169...174) = "until"
+ │ │ └── @ UntilNode (location: (18,2)-(18,21))
+ │ │ ├── keyword_loc: (18,12)-(18,17) = "until"
│ │ ├── closing_loc: ∅
│ │ ├── predicate:
- │ │ │ @ LocalVariableReadNode (location: (175...178))
+ │ │ │ @ LocalVariableReadNode (location: (18,18)-(18,21))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (159...168))
+ │ │ │ @ StatementsNode (location: (18,2)-(18,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (159...168))
+ │ │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (159...162) = "foo"
+ │ │ │ ├── name_loc: (18,2)-(18,5) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (165...168))
+ │ │ │ │ @ CallNode (location: (18,8)-(18,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (165...168) = "bar"
+ │ │ │ │ ├── message_loc: (18,8)-(18,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (163...164) = "="
+ │ │ │ └── operator_loc: (18,6)-(18,7) = "="
│ │ └── flags: ∅
- │ ├── end_keyword_loc: (179...182) = "end"
+ │ ├── end_keyword_loc: (19,0)-(19,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (184...228))
+ ├── @ ModuleNode (location: (21,0)-(25,3))
│ ├── locals: [:foo]
- │ ├── module_keyword_loc: (184...190) = "module"
+ │ ├── module_keyword_loc: (21,0)-(21,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (191...192))
+ │ │ @ ConstantReadNode (location: (21,7)-(21,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (195...224))
+ │ │ @ StatementsNode (location: (22,2)-(24,5))
│ │ └── body: (length: 1)
- │ │ └── @ WhileNode (location: (195...224))
- │ │ ├── keyword_loc: (195...200) = "while"
- │ │ ├── closing_loc: (221...224) = "end"
+ │ │ └── @ WhileNode (location: (22,2)-(24,5))
+ │ │ ├── keyword_loc: (22,2)-(22,7) = "while"
+ │ │ ├── closing_loc: (24,2)-(24,5) = "end"
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (201...204))
+ │ │ │ @ CallNode (location: (22,8)-(22,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (201...204) = "foo"
+ │ │ │ ├── message_loc: (22,8)-(22,11) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -238,52 +238,52 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (209...218))
+ │ │ │ @ StatementsNode (location: (23,4)-(23,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (209...218))
+ │ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
│ │ │ ├── name: :foo
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (209...212) = "foo"
+ │ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (215...218))
+ │ │ │ │ @ CallNode (location: (23,10)-(23,13))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (215...218) = "bar"
+ │ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── operator_loc: (213...214) = "="
+ │ │ │ └── operator_loc: (23,8)-(23,9) = "="
│ │ └── flags: ∅
- │ ├── end_keyword_loc: (225...228) = "end"
+ │ ├── end_keyword_loc: (25,0)-(25,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (230...299))
+ ├── @ ModuleNode (location: (27,0)-(33,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (230...236) = "module"
+ │ ├── module_keyword_loc: (27,0)-(27,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (237...238))
+ │ │ @ ConstantReadNode (location: (27,7)-(27,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (241...295))
+ │ │ @ StatementsNode (location: (28,2)-(32,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (241...295))
+ │ │ └── @ CallNode (location: (28,2)-(32,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (241...245) = "each"
+ │ │ ├── message_loc: (28,2)-(28,6) = "each"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (246...295))
+ │ │ │ @ BlockNode (location: (28,7)-(32,3))
│ │ │ ├── locals: [:baz, :foo]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (248...253))
+ │ │ │ │ @ BlockParametersNode (location: (28,9)-(28,14))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (249...252))
+ │ │ │ │ │ @ ParametersNode (location: (28,10)-(28,13))
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (249...252))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13))
│ │ │ │ │ │ └── name: :baz
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
@@ -292,19 +292,19 @@
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (248...249) = "|"
- │ │ │ │ └── closing_loc: (252...253) = "|"
+ │ │ │ │ ├── opening_loc: (28,9)-(28,10) = "|"
+ │ │ │ │ └── closing_loc: (28,13)-(28,14) = "|"
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (258...291))
+ │ │ │ │ @ StatementsNode (location: (29,4)-(31,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (258...291))
- │ │ │ │ ├── keyword_loc: (258...263) = "while"
- │ │ │ │ ├── closing_loc: (288...291) = "end"
+ │ │ │ │ └── @ WhileNode (location: (29,4)-(31,7))
+ │ │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while"
+ │ │ │ │ ├── closing_loc: (31,4)-(31,7) = "end"
│ │ │ │ ├── predicate:
- │ │ │ │ │ @ CallNode (location: (264...267))
+ │ │ │ │ │ @ CallNode (location: (29,10)-(29,13))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (264...267) = "foo"
+ │ │ │ │ │ ├── message_loc: (29,10)-(29,13) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -312,56 +312,56 @@
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "foo"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (274...283))
+ │ │ │ │ │ @ StatementsNode (location: (30,6)-(30,15))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (274...283))
+ │ │ │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15))
│ │ │ │ │ ├── name: :foo
│ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (274...277) = "foo"
+ │ │ │ │ │ ├── name_loc: (30,6)-(30,9) = "foo"
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (280...283))
+ │ │ │ │ │ │ @ CallNode (location: (30,12)-(30,15))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (280...283) = "bar"
+ │ │ │ │ │ │ ├── message_loc: (30,12)-(30,15) = "bar"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "bar"
- │ │ │ │ │ └── operator_loc: (278...279) = "="
+ │ │ │ │ │ └── operator_loc: (30,10)-(30,11) = "="
│ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (246...247) = "{"
- │ │ │ └── closing_loc: (294...295) = "}"
+ │ │ │ ├── opening_loc: (28,7)-(28,8) = "{"
+ │ │ │ └── closing_loc: (32,2)-(32,3) = "}"
│ │ ├── flags: ∅
│ │ └── name: "each"
- │ ├── end_keyword_loc: (296...299) = "end"
+ │ ├── end_keyword_loc: (33,0)-(33,3) = "end"
│ └── name: :A
- ├── @ ModuleNode (location: (301...370))
+ ├── @ ModuleNode (location: (35,0)-(41,3))
│ ├── locals: []
- │ ├── module_keyword_loc: (301...307) = "module"
+ │ ├── module_keyword_loc: (35,0)-(35,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (308...309))
+ │ │ @ ConstantReadNode (location: (35,7)-(35,8))
│ │ └── name: :A
│ ├── body:
- │ │ @ StatementsNode (location: (312...366))
+ │ │ @ StatementsNode (location: (36,2)-(40,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (312...366))
+ │ │ └── @ CallNode (location: (36,2)-(40,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (312...316) = "each"
+ │ │ ├── message_loc: (36,2)-(36,6) = "each"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (317...366))
+ │ │ │ @ BlockNode (location: (36,7)-(40,3))
│ │ │ ├── locals: [:foo]
│ │ │ ├── parameters:
- │ │ │ │ @ BlockParametersNode (location: (319...324))
+ │ │ │ │ @ BlockParametersNode (location: (36,9)-(36,14))
│ │ │ │ ├── parameters:
- │ │ │ │ │ @ ParametersNode (location: (320...323))
+ │ │ │ │ │ @ ParametersNode (location: (36,10)-(36,13))
│ │ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (320...323))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13))
│ │ │ │ │ │ └── name: :foo
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
@@ -370,61 +370,61 @@
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
- │ │ │ │ ├── opening_loc: (319...320) = "|"
- │ │ │ │ └── closing_loc: (323...324) = "|"
+ │ │ │ │ ├── opening_loc: (36,9)-(36,10) = "|"
+ │ │ │ │ └── closing_loc: (36,13)-(36,14) = "|"
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (329...362))
+ │ │ │ │ @ StatementsNode (location: (37,4)-(39,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ WhileNode (location: (329...362))
- │ │ │ │ ├── keyword_loc: (329...334) = "while"
- │ │ │ │ ├── closing_loc: (359...362) = "end"
+ │ │ │ │ └── @ WhileNode (location: (37,4)-(39,7))
+ │ │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while"
+ │ │ │ │ ├── closing_loc: (39,4)-(39,7) = "end"
│ │ │ │ ├── predicate:
- │ │ │ │ │ @ LocalVariableReadNode (location: (335...338))
+ │ │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13))
│ │ │ │ │ ├── name: :foo
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (345...354))
+ │ │ │ │ │ @ StatementsNode (location: (38,6)-(38,15))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableWriteNode (location: (345...354))
+ │ │ │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15))
│ │ │ │ │ ├── name: :foo
│ │ │ │ │ ├── depth: 0
- │ │ │ │ │ ├── name_loc: (345...348) = "foo"
+ │ │ │ │ │ ├── name_loc: (38,6)-(38,9) = "foo"
│ │ │ │ │ ├── value:
- │ │ │ │ │ │ @ CallNode (location: (351...354))
+ │ │ │ │ │ │ @ CallNode (location: (38,12)-(38,15))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (351...354) = "bar"
+ │ │ │ │ │ │ ├── message_loc: (38,12)-(38,15) = "bar"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "bar"
- │ │ │ │ │ └── operator_loc: (349...350) = "="
+ │ │ │ │ │ └── operator_loc: (38,10)-(38,11) = "="
│ │ │ │ └── flags: ∅
- │ │ │ ├── opening_loc: (317...318) = "{"
- │ │ │ └── closing_loc: (365...366) = "}"
+ │ │ │ ├── opening_loc: (36,7)-(36,8) = "{"
+ │ │ │ └── closing_loc: (40,2)-(40,3) = "}"
│ │ ├── flags: ∅
│ │ └── name: "each"
- │ ├── end_keyword_loc: (367...370) = "end"
+ │ ├── end_keyword_loc: (41,0)-(41,3) = "end"
│ └── name: :A
- ├── @ LocalVariableWriteNode (location: (371...402))
+ ├── @ LocalVariableWriteNode (location: (42,0)-(44,14))
│ ├── name: :x
│ ├── depth: 0
- │ ├── name_loc: (371...372) = "x"
+ │ ├── name_loc: (42,0)-(42,1) = "x"
│ ├── value:
- │ │ @ ParenthesesNode (location: (375...402))
+ │ │ @ ParenthesesNode (location: (42,4)-(44,14))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (376...401))
+ │ │ │ @ StatementsNode (location: (42,5)-(44,13))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ WhileNode (location: (376...401))
- │ │ │ ├── keyword_loc: (392...397) = "while"
+ │ │ │ └── @ WhileNode (location: (42,5)-(44,13))
+ │ │ │ ├── keyword_loc: (44,4)-(44,9) = "while"
│ │ │ ├── closing_loc: ∅
│ │ │ ├── predicate:
- │ │ │ │ @ CallNode (location: (398...401))
+ │ │ │ │ @ CallNode (location: (44,10)-(44,13))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (398...401) = "baz"
+ │ │ │ │ ├── message_loc: (44,10)-(44,13) = "baz"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -432,17 +432,17 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "baz"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (376...391))
+ │ │ │ │ @ StatementsNode (location: (42,5)-(44,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BeginNode (location: (376...391))
- │ │ │ │ ├── begin_keyword_loc: (376...381) = "begin"
+ │ │ │ │ └── @ BeginNode (location: (42,5)-(44,3))
+ │ │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (384...387))
+ │ │ │ │ │ @ StatementsNode (location: (43,2)-(43,5))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (384...387))
+ │ │ │ │ │ └── @ CallNode (location: (43,2)-(43,5))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (384...387) = "foo"
+ │ │ │ │ │ ├── message_loc: (43,2)-(43,5) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -452,19 +452,19 @@
│ │ │ │ ├── rescue_clause: ∅
│ │ │ │ ├── else_clause: ∅
│ │ │ │ ├── ensure_clause: ∅
- │ │ │ │ └── end_keyword_loc: (388...391) = "end"
+ │ │ │ │ └── end_keyword_loc: (44,0)-(44,3) = "end"
│ │ │ └── flags: begin_modifier
- │ │ ├── opening_loc: (375...376) = "("
- │ │ └── closing_loc: (401...402) = ")"
- │ └── operator_loc: (373...374) = "="
- ├── @ WhileNode (location: (403...428))
- │ ├── keyword_loc: (419...424) = "while"
+ │ │ ├── opening_loc: (42,4)-(42,5) = "("
+ │ │ └── closing_loc: (44,13)-(44,14) = ")"
+ │ └── operator_loc: (42,2)-(42,3) = "="
+ ├── @ WhileNode (location: (45,0)-(47,13))
+ │ ├── keyword_loc: (47,4)-(47,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (425...428))
+ │ │ @ CallNode (location: (47,10)-(47,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (425...428) = "baz"
+ │ │ ├── message_loc: (47,10)-(47,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -472,17 +472,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── statements:
- │ │ @ StatementsNode (location: (403...418))
+ │ │ @ StatementsNode (location: (45,0)-(47,3))
│ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (403...418))
- │ │ ├── begin_keyword_loc: (403...408) = "begin"
+ │ │ └── @ BeginNode (location: (45,0)-(47,3))
+ │ │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (411...414))
+ │ │ │ @ StatementsNode (location: (46,2)-(46,5))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (411...414))
+ │ │ │ └── @ CallNode (location: (46,2)-(46,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (411...414) = "foo"
+ │ │ │ ├── message_loc: (46,2)-(46,5) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -492,16 +492,16 @@
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (415...418) = "end"
+ │ │ └── end_keyword_loc: (47,0)-(47,3) = "end"
│ └── flags: begin_modifier
- ├── @ UntilNode (location: (429...460))
- │ ├── keyword_loc: (451...456) = "until"
+ ├── @ UntilNode (location: (48,0)-(51,13))
+ │ ├── keyword_loc: (51,4)-(51,9) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (457...460))
+ │ │ @ CallNode (location: (51,10)-(51,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (457...460) = "baz"
+ │ │ ├── message_loc: (51,10)-(51,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -509,27 +509,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── statements:
- │ │ @ StatementsNode (location: (429...450))
+ │ │ @ StatementsNode (location: (48,0)-(51,3))
│ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (429...450))
- │ │ ├── begin_keyword_loc: (429...434) = "begin"
+ │ │ └── @ BeginNode (location: (48,0)-(51,3))
+ │ │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (437...446))
+ │ │ │ @ StatementsNode (location: (49,2)-(50,5))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (437...440))
+ │ │ │ ├── @ CallNode (location: (49,2)-(49,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (437...440) = "foo"
+ │ │ │ │ ├── message_loc: (49,2)-(49,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ └── @ CallNode (location: (443...446))
+ │ │ │ └── @ CallNode (location: (50,2)-(50,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (443...446) = "bar"
+ │ │ │ ├── message_loc: (50,2)-(50,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -539,16 +539,16 @@
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (447...450) = "end"
+ │ │ └── end_keyword_loc: (51,0)-(51,3) = "end"
│ └── flags: begin_modifier
- ├── @ WhileNode (location: (461...492))
- │ ├── keyword_loc: (483...488) = "while"
+ ├── @ WhileNode (location: (52,0)-(55,13))
+ │ ├── keyword_loc: (55,4)-(55,9) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (489...492))
+ │ │ @ CallNode (location: (55,10)-(55,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (489...492) = "baz"
+ │ │ ├── message_loc: (55,10)-(55,13) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -556,27 +556,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── statements:
- │ │ @ StatementsNode (location: (461...482))
+ │ │ @ StatementsNode (location: (52,0)-(55,3))
│ │ └── body: (length: 1)
- │ │ └── @ BeginNode (location: (461...482))
- │ │ ├── begin_keyword_loc: (461...466) = "begin"
+ │ │ └── @ BeginNode (location: (52,0)-(55,3))
+ │ │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (469...478))
+ │ │ │ @ StatementsNode (location: (53,2)-(54,5))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ CallNode (location: (469...472))
+ │ │ │ ├── @ CallNode (location: (53,2)-(53,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (469...472) = "foo"
+ │ │ │ │ ├── message_loc: (53,2)-(53,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ └── @ CallNode (location: (475...478))
+ │ │ │ └── @ CallNode (location: (54,2)-(54,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (475...478) = "bar"
+ │ │ │ ├── message_loc: (54,2)-(54,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -586,111 +586,111 @@
│ │ ├── rescue_clause: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (479...482) = "end"
+ │ │ └── end_keyword_loc: (55,0)-(55,3) = "end"
│ └── flags: begin_modifier
- ├── @ WhileNode (location: (493...508))
- │ ├── keyword_loc: (493...498) = "while"
- │ ├── closing_loc: (505...508) = "end"
+ ├── @ WhileNode (location: (56,0)-(57,3))
+ │ ├── keyword_loc: (56,0)-(56,5) = "while"
+ │ ├── closing_loc: (57,0)-(57,3) = "end"
│ ├── predicate:
- │ │ @ FalseNode (location: (499...504))
+ │ │ @ FalseNode (location: (56,6)-(56,11))
│ ├── statements: ∅
│ └── flags: ∅
- ├── @ WhileNode (location: (509...528))
- │ ├── keyword_loc: (509...514) = "while"
- │ ├── closing_loc: (525...528) = "end"
+ ├── @ WhileNode (location: (58,0)-(60,3))
+ │ ├── keyword_loc: (58,0)-(58,5) = "while"
+ │ ├── closing_loc: (60,0)-(60,3) = "end"
│ ├── predicate:
- │ │ @ FalseNode (location: (515...520))
+ │ │ @ FalseNode (location: (58,6)-(58,11))
│ ├── statements:
- │ │ @ StatementsNode (location: (523...524))
+ │ │ @ StatementsNode (location: (59,2)-(59,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (523...524))
+ │ │ └── @ IntegerNode (location: (59,2)-(59,3))
│ │ └── flags: decimal
│ └── flags: ∅
- ├── @ WhileNode (location: (529...556))
- │ ├── keyword_loc: (529...534) = "while"
- │ ├── closing_loc: (553...556) = "end"
+ ├── @ WhileNode (location: (61,0)-(64,3))
+ │ ├── keyword_loc: (61,0)-(61,5) = "while"
+ │ ├── closing_loc: (64,0)-(64,3) = "end"
│ ├── predicate:
- │ │ @ ParenthesesNode (location: (535...544))
+ │ │ @ ParenthesesNode (location: (61,6)-(62,2))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (536...543))
+ │ │ │ @ StatementsNode (location: (61,7)-(62,1))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (536...543))
+ │ │ │ └── @ CallNode (location: (61,7)-(62,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (536...539) = "foo"
+ │ │ │ ├── message_loc: (61,7)-(61,10) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (540...543))
+ │ │ │ │ @ BlockNode (location: (61,11)-(62,1))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (540...541) = "{"
- │ │ │ │ └── closing_loc: (542...543) = "}"
+ │ │ │ │ ├── opening_loc: (61,11)-(61,12) = "{"
+ │ │ │ │ └── closing_loc: (62,0)-(62,1) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "foo"
- │ │ ├── opening_loc: (535...536) = "("
- │ │ └── closing_loc: (543...544) = ")"
+ │ │ ├── opening_loc: (61,6)-(61,7) = "("
+ │ │ └── closing_loc: (62,1)-(62,2) = ")"
│ ├── statements:
- │ │ @ StatementsNode (location: (547...552))
+ │ │ @ StatementsNode (location: (63,2)-(63,7))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (547...552))
- │ │ ├── opening_loc: (547...548) = ":"
- │ │ ├── value_loc: (548...552) = "body"
+ │ │ └── @ SymbolNode (location: (63,2)-(63,7))
+ │ │ ├── opening_loc: (63,2)-(63,3) = ":"
+ │ │ ├── value_loc: (63,3)-(63,7) = "body"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "body"
│ └── flags: ∅
- ├── @ UntilNode (location: (557...572))
- │ ├── keyword_loc: (557...562) = "until"
- │ ├── closing_loc: (569...572) = "end"
+ ├── @ UntilNode (location: (65,0)-(66,3))
+ │ ├── keyword_loc: (65,0)-(65,5) = "until"
+ │ ├── closing_loc: (66,0)-(66,3) = "end"
│ ├── predicate:
- │ │ @ FalseNode (location: (563...568))
+ │ │ @ FalseNode (location: (65,6)-(65,11))
│ ├── statements: ∅
│ └── flags: ∅
- ├── @ UntilNode (location: (573...592))
- │ ├── keyword_loc: (573...578) = "until"
- │ ├── closing_loc: (589...592) = "end"
+ ├── @ UntilNode (location: (67,0)-(69,3))
+ │ ├── keyword_loc: (67,0)-(67,5) = "until"
+ │ ├── closing_loc: (69,0)-(69,3) = "end"
│ ├── predicate:
- │ │ @ FalseNode (location: (579...584))
+ │ │ @ FalseNode (location: (67,6)-(67,11))
│ ├── statements:
- │ │ @ StatementsNode (location: (587...588))
+ │ │ @ StatementsNode (location: (68,2)-(68,3))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (587...588))
+ │ │ └── @ IntegerNode (location: (68,2)-(68,3))
│ │ └── flags: decimal
│ └── flags: ∅
- └── @ UntilNode (location: (593...620))
- ├── keyword_loc: (593...598) = "until"
- ├── closing_loc: (617...620) = "end"
+ └── @ UntilNode (location: (70,0)-(73,3))
+ ├── keyword_loc: (70,0)-(70,5) = "until"
+ ├── closing_loc: (73,0)-(73,3) = "end"
├── predicate:
- │ @ ParenthesesNode (location: (599...608))
+ │ @ ParenthesesNode (location: (70,6)-(71,2))
│ ├── body:
- │ │ @ StatementsNode (location: (600...607))
+ │ │ @ StatementsNode (location: (70,7)-(71,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (600...607))
+ │ │ └── @ CallNode (location: (70,7)-(71,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (600...603) = "foo"
+ │ │ ├── message_loc: (70,7)-(70,10) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (604...607))
+ │ │ │ @ BlockNode (location: (70,11)-(71,1))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (604...605) = "{"
- │ │ │ └── closing_loc: (606...607) = "}"
+ │ │ │ ├── opening_loc: (70,11)-(70,12) = "{"
+ │ │ │ └── closing_loc: (71,0)-(71,1) = "}"
│ │ ├── flags: ∅
│ │ └── name: "foo"
- │ ├── opening_loc: (599...600) = "("
- │ └── closing_loc: (607...608) = ")"
+ │ ├── opening_loc: (70,6)-(70,7) = "("
+ │ └── closing_loc: (71,1)-(71,2) = ")"
├── statements:
- │ @ StatementsNode (location: (611...616))
+ │ @ StatementsNode (location: (72,2)-(72,7))
│ └── body: (length: 1)
- │ └── @ SymbolNode (location: (611...616))
- │ ├── opening_loc: (611...612) = ":"
- │ ├── value_loc: (612...616) = "body"
+ │ └── @ SymbolNode (location: (72,2)-(72,7))
+ │ ├── opening_loc: (72,2)-(72,3) = ":"
+ │ ├── value_loc: (72,3)-(72,7) = "body"
│ ├── closing_loc: ∅
│ └── unescaped: "body"
└── flags: ∅
diff --git a/test/yarp/snapshots/unparser/corpus/literal/yield.txt b/test/yarp/snapshots/unparser/corpus/literal/yield.txt
index 52f50f1275..fc9bc27cc1 100644
--- a/test/yarp/snapshots/unparser/corpus/literal/yield.txt
+++ b/test/yarp/snapshots/unparser/corpus/literal/yield.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 3)
- ├── @ YieldNode (location: (0...5))
- │ ├── keyword_loc: (0...5) = "yield"
+ ├── @ YieldNode (location: (1,0)-(1,5))
+ │ ├── keyword_loc: (1,0)-(1,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments: ∅
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (6...14))
- │ ├── keyword_loc: (6...11) = "yield"
- │ ├── lparen_loc: (11...12) = "("
+ ├── @ YieldNode (location: (2,0)-(2,8))
+ │ ├── keyword_loc: (2,0)-(2,5) = "yield"
+ │ ├── lparen_loc: (2,5)-(2,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (12...13))
+ │ │ @ ArgumentsNode (location: (2,6)-(2,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (12...13))
+ │ │ └── @ CallNode (location: (2,6)-(2,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...13) = "a"
+ │ │ ├── message_loc: (2,6)-(2,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ └── rparen_loc: (13...14) = ")"
- └── @ YieldNode (location: (15...26))
- ├── keyword_loc: (15...20) = "yield"
- ├── lparen_loc: (20...21) = "("
+ │ └── 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: (21...25))
+ │ @ ArgumentsNode (location: (3,6)-(3,10))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (21...22))
+ │ ├── @ CallNode (location: (3,6)-(3,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...22) = "a"
+ │ │ ├── message_loc: (3,6)-(3,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ └── @ CallNode (location: (24...25))
+ │ └── @ CallNode (location: (3,9)-(3,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (24...25) = "b"
+ │ ├── message_loc: (3,9)-(3,10) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "b"
- └── rparen_loc: (25...26) = ")"
+ └── rparen_loc: (3,10)-(3,11) = ")"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/and.txt b/test/yarp/snapshots/unparser/corpus/semantic/and.txt
index 4af92c1e96..b4136ecdac 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/and.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/and.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...77))
+@ ProgramNode (location: (1,0)-(8,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...77))
+ @ StatementsNode (location: (1,0)-(8,3))
└── body: (length: 4)
- ├── @ OrNode (location: (0...14))
+ ├── @ OrNode (location: (1,0)-(1,14))
│ ├── left:
- │ │ @ RangeNode (location: (0...5))
+ │ │ @ RangeNode (location: (1,0)-(1,5))
│ │ ├── left:
- │ │ │ @ CallNode (location: (0...1))
+ │ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (0...1) = "a"
+ │ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -18,25 +18,25 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── right:
- │ │ │ @ CallNode (location: (4...5))
+ │ │ │ @ CallNode (location: (1,4)-(1,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...5) = "b"
+ │ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── operator_loc: (1...4) = "..."
+ │ │ ├── operator_loc: (1,1)-(1,4) = "..."
│ │ └── flags: exclude_end
│ ├── right:
- │ │ @ RangeNode (location: (9...14))
+ │ │ @ RangeNode (location: (1,9)-(1,14))
│ │ ├── left:
- │ │ │ @ CallNode (location: (9...10))
+ │ │ │ @ CallNode (location: (1,9)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (9...10) = "c"
+ │ │ │ ├── message_loc: (1,9)-(1,10) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -44,27 +44,27 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
│ │ ├── right:
- │ │ │ @ CallNode (location: (13...14))
+ │ │ │ @ CallNode (location: (1,13)-(1,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...14) = "d"
+ │ │ │ ├── message_loc: (1,13)-(1,14) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── operator_loc: (10...13) = "..."
+ │ │ ├── operator_loc: (1,10)-(1,13) = "..."
│ │ └── flags: exclude_end
- │ └── operator_loc: (6...8) = "or"
- ├── @ AndNode (location: (15...30))
+ │ └── operator_loc: (1,6)-(1,8) = "or"
+ ├── @ AndNode (location: (2,0)-(2,15))
│ ├── left:
- │ │ @ RangeNode (location: (15...20))
+ │ │ @ RangeNode (location: (2,0)-(2,5))
│ │ ├── left:
- │ │ │ @ CallNode (location: (15...16))
+ │ │ │ @ CallNode (location: (2,0)-(2,1))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...16) = "a"
+ │ │ │ ├── message_loc: (2,0)-(2,1) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -72,25 +72,25 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── right:
- │ │ │ @ CallNode (location: (19...20))
+ │ │ │ @ CallNode (location: (2,4)-(2,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (19...20) = "b"
+ │ │ │ ├── message_loc: (2,4)-(2,5) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── operator_loc: (16...19) = "..."
+ │ │ ├── operator_loc: (2,1)-(2,4) = "..."
│ │ └── flags: exclude_end
│ ├── right:
- │ │ @ RangeNode (location: (25...30))
+ │ │ @ RangeNode (location: (2,10)-(2,15))
│ │ ├── left:
- │ │ │ @ CallNode (location: (25...26))
+ │ │ │ @ CallNode (location: (2,10)-(2,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (25...26) = "c"
+ │ │ │ ├── message_loc: (2,10)-(2,11) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -98,30 +98,30 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
│ │ ├── right:
- │ │ │ @ CallNode (location: (29...30))
+ │ │ │ @ CallNode (location: (2,14)-(2,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (29...30) = "d"
+ │ │ │ ├── message_loc: (2,14)-(2,15) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── operator_loc: (26...29) = "..."
+ │ │ ├── operator_loc: (2,11)-(2,14) = "..."
│ │ └── flags: exclude_end
- │ └── operator_loc: (21...24) = "and"
- ├── @ IfNode (location: (32...53))
- │ ├── if_keyword_loc: (32...34) = "if"
+ │ └── operator_loc: (2,6)-(2,9) = "and"
+ ├── @ IfNode (location: (4,0)-(5,3))
+ │ ├── if_keyword_loc: (4,0)-(4,2) = "if"
│ ├── predicate:
- │ │ @ OrNode (location: (35...49))
+ │ │ @ OrNode (location: (4,3)-(4,17))
│ │ ├── left:
- │ │ │ @ FlipFlopNode (location: (35...40))
+ │ │ │ @ FlipFlopNode (location: (4,3)-(4,8))
│ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (35...36))
+ │ │ │ │ @ CallNode (location: (4,3)-(4,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (35...36) = "a"
+ │ │ │ │ ├── message_loc: (4,3)-(4,4) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -129,25 +129,25 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (39...40))
+ │ │ │ │ @ CallNode (location: (4,7)-(4,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (39...40) = "b"
+ │ │ │ │ ├── message_loc: (4,7)-(4,8) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ ├── operator_loc: (36...39) = "..."
+ │ │ │ ├── operator_loc: (4,4)-(4,7) = "..."
│ │ │ └── flags: exclude_end
│ │ ├── right:
- │ │ │ @ FlipFlopNode (location: (44...49))
+ │ │ │ @ FlipFlopNode (location: (4,12)-(4,17))
│ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (44...45))
+ │ │ │ │ @ CallNode (location: (4,12)-(4,13))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (44...45) = "c"
+ │ │ │ │ ├── message_loc: (4,12)-(4,13) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -155,33 +155,33 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (48...49))
+ │ │ │ │ @ CallNode (location: (4,16)-(4,17))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (48...49) = "d"
+ │ │ │ │ ├── message_loc: (4,16)-(4,17) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "d"
- │ │ │ ├── operator_loc: (45...48) = "..."
+ │ │ │ ├── operator_loc: (4,13)-(4,16) = "..."
│ │ │ └── flags: exclude_end
- │ │ └── operator_loc: (41...43) = "or"
+ │ │ └── operator_loc: (4,9)-(4,11) = "or"
│ ├── statements: ∅
│ ├── consequent: ∅
- │ └── end_keyword_loc: (50...53) = "end"
- └── @ IfNode (location: (55...77))
- ├── if_keyword_loc: (55...57) = "if"
+ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
+ └── @ IfNode (location: (7,0)-(8,3))
+ ├── if_keyword_loc: (7,0)-(7,2) = "if"
├── predicate:
- │ @ AndNode (location: (58...73))
+ │ @ AndNode (location: (7,3)-(7,18))
│ ├── left:
- │ │ @ FlipFlopNode (location: (58...63))
+ │ │ @ FlipFlopNode (location: (7,3)-(7,8))
│ │ ├── left:
- │ │ │ @ CallNode (location: (58...59))
+ │ │ │ @ CallNode (location: (7,3)-(7,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (58...59) = "a"
+ │ │ │ ├── message_loc: (7,3)-(7,4) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -189,25 +189,25 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── right:
- │ │ │ @ CallNode (location: (62...63))
+ │ │ │ @ CallNode (location: (7,7)-(7,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (62...63) = "b"
+ │ │ │ ├── message_loc: (7,7)-(7,8) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ ├── operator_loc: (59...62) = "..."
+ │ │ ├── operator_loc: (7,4)-(7,7) = "..."
│ │ └── flags: exclude_end
│ ├── right:
- │ │ @ FlipFlopNode (location: (68...73))
+ │ │ @ FlipFlopNode (location: (7,13)-(7,18))
│ │ ├── left:
- │ │ │ @ CallNode (location: (68...69))
+ │ │ │ @ CallNode (location: (7,13)-(7,14))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (68...69) = "c"
+ │ │ │ ├── message_loc: (7,13)-(7,14) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -215,19 +215,19 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "c"
│ │ ├── right:
- │ │ │ @ CallNode (location: (72...73))
+ │ │ │ @ CallNode (location: (7,17)-(7,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (72...73) = "d"
+ │ │ │ ├── message_loc: (7,17)-(7,18) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── operator_loc: (69...72) = "..."
+ │ │ ├── operator_loc: (7,14)-(7,17) = "..."
│ │ └── flags: exclude_end
- │ └── operator_loc: (64...67) = "and"
+ │ └── operator_loc: (7,9)-(7,12) = "and"
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (74...77) = "end"
+ └── end_keyword_loc: (8,0)-(8,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/block.txt b/test/yarp/snapshots/unparser/corpus/semantic/block.txt
index 7cb8580e1b..741a810c4b 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/block.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/block.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...148))
+@ ProgramNode (location: (1,0)-(26,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...148))
+ @ StatementsNode (location: (1,0)-(26,3))
└── body: (length: 6)
- ├── @ CallNode (location: (0...10))
+ ├── @ CallNode (location: (1,0)-(2,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (4...10))
+ │ │ @ BlockNode (location: (1,4)-(2,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (4...6) = "do"
- │ │ └── closing_loc: (7...10) = "end"
+ │ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ │ └── closing_loc: (2,0)-(2,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (12...29))
+ ├── @ CallNode (location: (4,0)-(6,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "foo"
+ │ ├── message_loc: (4,0)-(4,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (16...29))
+ │ │ @ BlockNode (location: (4,4)-(6,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ BeginNode (location: (19...29))
+ │ │ │ @ BeginNode (location: (5,0)-(6,3))
│ │ │ ├── begin_keyword_loc: ∅
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause:
- │ │ │ │ @ RescueNode (location: (19...25))
- │ │ │ │ ├── keyword_loc: (19...25) = "rescue"
+ │ │ │ │ @ RescueNode (location: (5,0)-(5,6))
+ │ │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue"
│ │ │ │ ├── exceptions: (length: 0)
│ │ │ │ ├── operator_loc: ∅
│ │ │ │ ├── reference: ∅
@@ -44,52 +44,52 @@
│ │ │ │ └── consequent: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause: ∅
- │ │ │ └── end_keyword_loc: (26...29) = "end"
- │ │ ├── opening_loc: (16...18) = "do"
- │ │ └── closing_loc: (26...29) = "end"
+ │ │ │ └── end_keyword_loc: (6,0)-(6,3) = "end"
+ │ │ ├── opening_loc: (4,4)-(4,6) = "do"
+ │ │ └── closing_loc: (6,0)-(6,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (31...64))
+ ├── @ CallNode (location: (8,0)-(11,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (31...34) = "foo"
+ │ ├── message_loc: (8,0)-(8,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (35...64))
+ │ │ @ BlockNode (location: (8,4)-(11,3))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (40...60))
+ │ │ │ @ StatementsNode (location: (9,2)-(10,5))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ RescueModifierNode (location: (40...54))
+ │ │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16))
│ │ │ │ ├── expression:
- │ │ │ │ │ @ NilNode (location: (40...43))
- │ │ │ │ ├── keyword_loc: (44...50) = "rescue"
+ │ │ │ │ │ @ NilNode (location: (9,2)-(9,5))
+ │ │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue"
│ │ │ │ └── rescue_expression:
- │ │ │ │ @ NilNode (location: (51...54))
- │ │ │ └── @ NilNode (location: (57...60))
- │ │ ├── opening_loc: (35...37) = "do"
- │ │ └── closing_loc: (61...64) = "end"
+ │ │ │ │ @ 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: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (66...80))
+ ├── @ CallNode (location: (13,0)-(14,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (66...69) = "foo"
+ │ ├── message_loc: (13,0)-(13,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (70...80))
+ │ │ @ BlockNode (location: (13,4)-(14,3))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (73...76))
+ │ │ │ @ BlockParametersNode (location: (13,7)-(13,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (74...75))
+ │ │ │ │ @ ParametersNode (location: (13,8)-(13,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (74...75))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -98,37 +98,37 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (73...74) = "|"
- │ │ │ └── closing_loc: (75...76) = "|"
+ │ │ │ ├── opening_loc: (13,7)-(13,8) = "|"
+ │ │ │ └── closing_loc: (13,9)-(13,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (70...72) = "do"
- │ │ └── closing_loc: (77...80) = "end"
+ │ │ ├── opening_loc: (13,4)-(13,6) = "do"
+ │ │ └── closing_loc: (14,0)-(14,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (82...116))
+ ├── @ CallNode (location: (16,0)-(20,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (82...85) = "foo"
- │ ├── opening_loc: (85...86) = "("
+ │ ├── message_loc: (16,0)-(16,3) = "foo"
+ │ ├── opening_loc: (16,3)-(16,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (86...92))
+ │ │ @ ArgumentsNode (location: (16,4)-(16,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (86...92))
+ │ │ └── @ StringNode (location: (16,4)-(16,10))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (86...92) = "<<-DOC"
- │ │ ├── content_loc: (101...105) = " b\n"
- │ │ ├── closing_loc: (105...109) = "DOC\n"
+ │ │ ├── opening_loc: (16,4)-(16,10) = "<<-DOC"
+ │ │ ├── content_loc: (17,0)-(17,0) = " b\n"
+ │ │ ├── closing_loc: (18,0)-(18,0) = "DOC\n"
│ │ └── unescaped: " b\n"
- │ ├── closing_loc: (92...93) = ")"
+ │ ├── closing_loc: (16,10)-(16,11) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (94...116))
+ │ │ @ BlockNode (location: (16,12)-(20,3))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (97...100))
+ │ │ │ @ BlockParametersNode (location: (16,15)-(16,18))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (98...99))
+ │ │ │ │ @ ParametersNode (location: (16,16)-(16,17))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (98...99))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -137,51 +137,51 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (97...98) = "|"
- │ │ │ └── closing_loc: (99...100) = "|"
+ │ │ │ ├── opening_loc: (16,15)-(16,16) = "|"
+ │ │ │ └── closing_loc: (16,17)-(16,18) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (111...112))
+ │ │ │ @ StatementsNode (location: (19,2)-(19,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (111...112))
+ │ │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── opening_loc: (94...96) = "do"
- │ │ └── closing_loc: (113...116) = "end"
+ │ │ ├── opening_loc: (16,12)-(16,14) = "do"
+ │ │ └── closing_loc: (20,0)-(20,3) = "end"
│ ├── flags: ∅
│ └── name: "foo"
- └── @ CallNode (location: (118...148))
+ └── @ CallNode (location: (22,0)-(26,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (118...121) = "foo"
- ├── opening_loc: (121...122) = "("
+ ├── message_loc: (22,0)-(22,3) = "foo"
+ ├── opening_loc: (22,3)-(22,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (122...128))
+ │ @ ArgumentsNode (location: (22,4)-(22,10))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (122...128))
+ │ └── @ StringNode (location: (22,4)-(22,10))
│ ├── flags: ∅
- │ ├── opening_loc: (122...128) = "<<-DOC"
- │ ├── content_loc: (133...137) = " b\n"
- │ ├── closing_loc: (137...141) = "DOC\n"
+ │ ├── opening_loc: (22,4)-(22,10) = "<<-DOC"
+ │ ├── content_loc: (23,0)-(23,0) = " b\n"
+ │ ├── closing_loc: (24,0)-(24,0) = "DOC\n"
│ └── unescaped: " b\n"
- ├── closing_loc: (128...129) = ")"
+ ├── closing_loc: (22,10)-(22,11) = ")"
├── block:
- │ @ BlockNode (location: (130...148))
+ │ @ BlockNode (location: (22,12)-(26,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (143...144))
+ │ │ @ StatementsNode (location: (25,2)-(25,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (143...144))
+ │ │ └── @ CallNode (location: (25,2)-(25,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (143...144) = "a"
+ │ │ ├── message_loc: (25,2)-(25,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── opening_loc: (130...132) = "do"
- │ └── closing_loc: (145...148) = "end"
+ │ ├── opening_loc: (22,12)-(22,14) = "do"
+ │ └── closing_loc: (26,0)-(26,3) = "end"
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/def.txt b/test/yarp/snapshots/unparser/corpus/semantic/def.txt
index 6561e12daf..0f9242b53a 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/def.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/def.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...55))
+@ ProgramNode (location: (1,0)-(7,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...55))
+ @ StatementsNode (location: (1,0)-(7,3))
└── body: (length: 2)
- ├── @ DefNode (location: (0...21))
+ ├── @ DefNode (location: (1,0)-(3,3))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...17))
+ │ │ @ StatementsNode (location: (2,2)-(2,9))
│ │ └── body: (length: 1)
- │ │ └── @ ParenthesesNode (location: (10...17))
+ │ │ └── @ ParenthesesNode (location: (2,2)-(2,9))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...16))
+ │ │ │ @ StatementsNode (location: (2,3)-(2,8))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (11...16))
+ │ │ │ └── @ CallNode (location: (2,3)-(2,8))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (11...12))
+ │ │ │ │ @ CallNode (location: (2,3)-(2,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (11...12) = "a"
+ │ │ │ │ ├── message_loc: (2,3)-(2,4) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -28,15 +28,15 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...14) = "-"
+ │ │ │ ├── message_loc: (2,5)-(2,6) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (15...16))
+ │ │ │ │ @ ArgumentsNode (location: (2,7)-(2,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (15...16))
+ │ │ │ │ └── @ CallNode (location: (2,7)-(2,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (15...16) = "b"
+ │ │ │ │ ├── message_loc: (2,7)-(2,8) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -47,43 +47,43 @@
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "-"
- │ │ ├── opening_loc: (10...11) = "("
- │ │ └── closing_loc: (16...17) = ")"
+ │ │ ├── opening_loc: (2,2)-(2,3) = "("
+ │ │ └── closing_loc: (2,8)-(2,9) = ")"
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (18...21) = "end"
- └── @ DefNode (location: (23...55))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ DefNode (location: (5,0)-(7,3))
├── name: :foo
- ├── name_loc: (27...30) = "foo"
+ ├── name_loc: (5,4)-(5,7) = "foo"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (33...51))
+ │ @ StatementsNode (location: (6,2)-(6,20))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (33...51))
+ │ └── @ RescueModifierNode (location: (6,2)-(6,20))
│ ├── expression:
- │ │ @ CallNode (location: (33...34))
+ │ │ @ CallNode (location: (6,2)-(6,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (33...34) = "a"
+ │ │ ├── message_loc: (6,2)-(6,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── keyword_loc: (35...41) = "rescue"
+ │ ├── keyword_loc: (6,4)-(6,10) = "rescue"
│ └── rescue_expression:
- │ @ ConstantReadNode (location: (42...51))
+ │ @ ConstantReadNode (location: (6,11)-(6,20))
│ └── name: :Exception
├── locals: []
- ├── def_keyword_loc: (23...26) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (52...55) = "end"
+ └── end_keyword_loc: (7,0)-(7,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/dstr.txt b/test/yarp/snapshots/unparser/corpus/semantic/dstr.txt
index 27c4769c80..126886f3e0 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/dstr.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/dstr.txt
@@ -1,547 +1,547 @@
-@ ProgramNode (location: (0...608))
+@ ProgramNode (location: (1,0)-(127,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...608))
+ @ StatementsNode (location: (1,0)-(127,11))
└── body: (length: 33)
- ├── @ StringNode (location: (0...5))
+ ├── @ StringNode (location: (1,0)-(1,5))
│ ├── flags: ∅
- │ ├── opening_loc: (0...5) = "<<DOC"
- │ ├── content_loc: (6...6) = ""
- │ ├── closing_loc: (6...10) = "DOC\n"
+ │ ├── opening_loc: (1,0)-(1,5) = "<<DOC"
+ │ ├── content_loc: (2,0)-(1,0) = ""
+ │ ├── closing_loc: (2,0)-(2,0) = "DOC\n"
│ └── unescaped: ""
- ├── @ StringNode (location: (11...18))
+ ├── @ StringNode (location: (4,0)-(4,7))
│ ├── flags: ∅
- │ ├── opening_loc: (11...18) = "<<'DOC'"
- │ ├── content_loc: (19...19) = ""
- │ ├── closing_loc: (19...23) = "DOC\n"
+ │ ├── opening_loc: (4,0)-(4,7) = "<<'DOC'"
+ │ ├── content_loc: (5,0)-(4,0) = ""
+ │ ├── closing_loc: (5,0)-(5,0) = "DOC\n"
│ └── unescaped: ""
- ├── @ StringNode (location: (24...30))
+ ├── @ StringNode (location: (7,0)-(7,6))
│ ├── flags: ∅
- │ ├── opening_loc: (24...30) = "<<~DOC"
- │ ├── content_loc: (31...31) = ""
- │ ├── closing_loc: (31...35) = "DOC\n"
+ │ ├── opening_loc: (7,0)-(7,6) = "<<~DOC"
+ │ ├── content_loc: (8,0)-(7,0) = ""
+ │ ├── closing_loc: (8,0)-(8,0) = "DOC\n"
│ └── unescaped: ""
- ├── @ StringNode (location: (36...44))
+ ├── @ StringNode (location: (10,0)-(10,8))
│ ├── flags: ∅
- │ ├── opening_loc: (36...44) = "<<~'DOC'"
- │ ├── content_loc: (45...45) = ""
- │ ├── closing_loc: (45...49) = "DOC\n"
+ │ ├── opening_loc: (10,0)-(10,8) = "<<~'DOC'"
+ │ ├── content_loc: (11,0)-(10,0) = ""
+ │ ├── closing_loc: (11,0)-(11,0) = "DOC\n"
│ └── unescaped: ""
- ├── @ StringNode (location: (50...55))
+ ├── @ StringNode (location: (13,0)-(13,5))
│ ├── flags: ∅
- │ ├── opening_loc: (50...55) = "<<DOC"
- │ ├── content_loc: (56...60) = " a\n"
- │ ├── closing_loc: (60...64) = "DOC\n"
+ │ ├── opening_loc: (13,0)-(13,5) = "<<DOC"
+ │ ├── content_loc: (14,0)-(14,0) = " a\n"
+ │ ├── closing_loc: (15,0)-(15,0) = "DOC\n"
│ └── unescaped: " a\n"
- ├── @ StringNode (location: (65...72))
+ ├── @ StringNode (location: (17,0)-(17,7))
│ ├── flags: ∅
- │ ├── opening_loc: (65...72) = "<<'DOC'"
- │ ├── content_loc: (73...77) = " a\n"
- │ ├── closing_loc: (77...81) = "DOC\n"
+ │ ├── opening_loc: (17,0)-(17,7) = "<<'DOC'"
+ │ ├── content_loc: (18,0)-(18,0) = " a\n"
+ │ ├── closing_loc: (19,0)-(19,0) = "DOC\n"
│ └── unescaped: " a\n"
- ├── @ InterpolatedStringNode (location: (82...87))
- │ ├── opening_loc: (82...87) = "<<DOC"
+ ├── @ InterpolatedStringNode (location: (21,0)-(21,5))
+ │ ├── opening_loc: (21,0)-(21,5) = "<<DOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (88...94))
+ │ │ ├── @ StringNode (location: (22,0)-(23,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (88...94) = " a\n "
+ │ │ │ ├── content_loc: (22,0)-(23,2) = " a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a\n "
- │ │ ├── @ EmbeddedStatementsNode (location: (94...97))
- │ │ │ ├── opening_loc: (94...96) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (23,2)-(23,5))
+ │ │ │ ├── opening_loc: (23,2)-(23,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (96...97) = "}"
- │ │ └── @ StringNode (location: (97...98))
+ │ │ │ └── closing_loc: (23,4)-(23,5) = "}"
+ │ │ └── @ StringNode (location: (23,5)-(23,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (97...98) = "\n"
+ │ │ ├── content_loc: (23,5)-(23,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (98...102) = "DOC\n"
- ├── @ InterpolatedStringNode (location: (103...109))
- │ ├── opening_loc: (103...109) = "<<~DOC"
+ │ └── closing_loc: (24,0)-(24,0) = "DOC\n"
+ ├── @ InterpolatedStringNode (location: (26,0)-(26,6))
+ │ ├── opening_loc: (26,0)-(26,6) = "<<~DOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (110...116))
+ │ │ ├── @ StringNode (location: (27,0)-(28,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (110...116) = " a\n "
+ │ │ │ ├── content_loc: (27,0)-(28,2) = " a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (116...119))
- │ │ │ ├── opening_loc: (116...118) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (28,2)-(28,5))
+ │ │ │ ├── opening_loc: (28,2)-(28,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (118...119) = "}"
- │ │ └── @ StringNode (location: (119...120))
+ │ │ │ └── closing_loc: (28,4)-(28,5) = "}"
+ │ │ └── @ StringNode (location: (28,5)-(28,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (119...120) = "\n"
+ │ │ ├── content_loc: (28,5)-(28,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (120...124) = "DOC\n"
- ├── @ InterpolatedStringNode (location: (125...131))
- │ ├── opening_loc: (125...131) = "<<~DOC"
+ │ └── closing_loc: (29,0)-(29,0) = "DOC\n"
+ ├── @ InterpolatedStringNode (location: (31,0)-(31,6))
+ │ ├── opening_loc: (31,0)-(31,6) = "<<~DOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (132...138))
+ │ │ ├── @ StringNode (location: (32,0)-(33,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (132...138) = " a\n "
+ │ │ │ ├── content_loc: (32,0)-(33,2) = " a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (138...141))
- │ │ │ ├── opening_loc: (138...140) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (33,2)-(33,5))
+ │ │ │ ├── opening_loc: (33,2)-(33,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (140...141) = "}"
- │ │ └── @ StringNode (location: (141...146))
+ │ │ │ └── closing_loc: (33,4)-(33,5) = "}"
+ │ │ └── @ StringNode (location: (33,5)-(34,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (141...146) = "\n b\n"
+ │ │ ├── content_loc: (33,5)-(34,0) = "\n b\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\nb\n"
- │ └── closing_loc: (146...150) = "DOC\n"
- ├── @ StringNode (location: (151...157))
+ │ └── closing_loc: (35,0)-(35,0) = "DOC\n"
+ ├── @ StringNode (location: (37,0)-(37,6))
│ ├── flags: ∅
- │ ├── opening_loc: (151...157) = "<<~DOC"
- │ ├── content_loc: (158...168) = " a\n b\n"
- │ ├── closing_loc: (168...172) = "DOC\n"
+ │ ├── opening_loc: (37,0)-(37,6) = "<<~DOC"
+ │ ├── content_loc: (38,0)-(39,0) = " a\n b\n"
+ │ ├── closing_loc: (40,0)-(40,0) = "DOC\n"
│ └── unescaped: "a\n b\n"
- ├── @ StringNode (location: (173...180))
+ ├── @ StringNode (location: (42,0)-(42,7))
│ ├── flags: ∅
- │ ├── opening_loc: (173...180) = "<<'DOC'"
- │ ├── content_loc: (181...186) = "a\n\nb\n"
- │ ├── closing_loc: (186...190) = "DOC\n"
+ │ ├── opening_loc: (42,0)-(42,7) = "<<'DOC'"
+ │ ├── content_loc: (43,0)-(45,0) = "a\n\nb\n"
+ │ ├── closing_loc: (46,0)-(46,0) = "DOC\n"
│ └── unescaped: "a\n\nb\n"
- ├── @ StringNode (location: (191...198))
+ ├── @ StringNode (location: (48,0)-(48,7))
│ ├── flags: ∅
- │ ├── opening_loc: (191...198) = "<<'DOC'"
- │ ├── content_loc: (199...206) = " a\n\n b\n"
- │ ├── closing_loc: (206...210) = "DOC\n"
+ │ ├── opening_loc: (48,0)-(48,7) = "<<'DOC'"
+ │ ├── content_loc: (49,0)-(51,0) = " a\n\n b\n"
+ │ ├── closing_loc: (52,0)-(52,0) = "DOC\n"
│ └── unescaped: " a\n\n b\n"
- ├── @ StringNode (location: (211...218))
+ ├── @ StringNode (location: (54,0)-(54,7))
│ ├── flags: ∅
- │ ├── opening_loc: (211...218) = "<<'DOC'"
- │ ├── content_loc: (219...225) = " a\\nb\n"
- │ ├── closing_loc: (225...229) = "DOC\n"
+ │ ├── opening_loc: (54,0)-(54,7) = "<<'DOC'"
+ │ ├── content_loc: (55,0)-(55,0) = " a\\nb\n"
+ │ ├── closing_loc: (56,0)-(56,0) = "DOC\n"
│ └── unescaped: " a\\nb\n"
- ├── @ InterpolatedStringNode (location: (230...235))
- │ ├── opening_loc: (230...235) = "<<DOC"
+ ├── @ InterpolatedStringNode (location: (58,0)-(58,5))
+ │ ├── opening_loc: (58,0)-(58,5) = "<<DOC"
│ ├── parts: (length: 4)
- │ │ ├── @ EmbeddedStatementsNode (location: (236...239))
- │ │ │ ├── opening_loc: (236...238) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (59,0)-(59,3))
+ │ │ │ ├── opening_loc: (59,0)-(59,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (238...239) = "}"
- │ │ ├── @ StringNode (location: (239...242))
+ │ │ │ └── closing_loc: (59,2)-(59,3) = "}"
+ │ │ ├── @ StringNode (location: (59,3)-(60,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (239...242) = "a\n "
+ │ │ │ ├── content_loc: (59,3)-(60,1) = "a\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n "
- │ │ ├── @ EmbeddedStatementsNode (location: (242...245))
- │ │ │ ├── opening_loc: (242...244) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (60,1)-(60,4))
+ │ │ │ ├── opening_loc: (60,1)-(60,3) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (244...245) = "}"
- │ │ └── @ StringNode (location: (245...247))
+ │ │ │ └── closing_loc: (60,3)-(60,4) = "}"
+ │ │ └── @ StringNode (location: (60,4)-(60,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (245...247) = "a\n"
+ │ │ ├── content_loc: (60,4)-(60,0) = "a\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\n"
- │ └── closing_loc: (247...251) = "DOC\n"
- ├── @ InterpolatedStringNode (location: (252...257))
- │ ├── opening_loc: (252...257) = "<<DOC"
+ │ └── closing_loc: (61,0)-(61,0) = "DOC\n"
+ ├── @ InterpolatedStringNode (location: (63,0)-(63,5))
+ │ ├── opening_loc: (63,0)-(63,5) = "<<DOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (258...260))
+ │ │ ├── @ StringNode (location: (64,0)-(64,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (258...260) = " "
+ │ │ │ ├── content_loc: (64,0)-(64,2) = " "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " "
- │ │ ├── @ EmbeddedStatementsNode (location: (260...263))
- │ │ │ ├── opening_loc: (260...262) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (64,2)-(64,5))
+ │ │ │ ├── opening_loc: (64,2)-(64,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (262...263) = "}"
- │ │ └── @ StringNode (location: (263...271))
+ │ │ │ └── closing_loc: (64,4)-(64,5) = "}"
+ │ │ └── @ StringNode (location: (64,5)-(65,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (263...271) = "\n \\\#{}\n"
+ │ │ ├── content_loc: (64,5)-(65,0) = "\n \\\#{}\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n \#{}\n"
- │ └── closing_loc: (271...275) = "DOC\n"
- ├── @ InterpolatedStringNode (location: (276...281))
- │ ├── opening_loc: (276...281) = "<<DOC"
+ │ └── closing_loc: (66,0)-(66,0) = "DOC\n"
+ ├── @ InterpolatedStringNode (location: (68,0)-(68,5))
+ │ ├── opening_loc: (68,0)-(68,5) = "<<DOC"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (282...284))
+ │ │ ├── @ StringNode (location: (69,0)-(69,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (282...284) = " a"
+ │ │ │ ├── content_loc: (69,0)-(69,2) = " a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " a"
- │ │ ├── @ EmbeddedStatementsNode (location: (284...287))
- │ │ │ ├── opening_loc: (284...286) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (69,2)-(69,5))
+ │ │ │ ├── opening_loc: (69,2)-(69,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (286...287) = "}"
- │ │ └── @ StringNode (location: (287...292))
+ │ │ │ └── closing_loc: (69,4)-(69,5) = "}"
+ │ │ └── @ StringNode (location: (69,5)-(70,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (287...292) = "b\n c\n"
+ │ │ ├── content_loc: (69,5)-(70,0) = "b\n c\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b\n c\n"
- │ └── closing_loc: (292...296) = "DOC\n"
- ├── @ InterpolatedStringNode (location: (297...303))
- │ ├── opening_loc: (297...303) = "<<~DOC"
+ │ └── closing_loc: (71,0)-(71,0) = "DOC\n"
+ ├── @ InterpolatedStringNode (location: (73,0)-(73,6))
+ │ ├── opening_loc: (73,0)-(73,6) = "<<~DOC"
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (306...309))
- │ │ │ ├── opening_loc: (306...308) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,5))
+ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (308...309) = "}"
- │ │ └── @ StringNode (location: (309...310))
+ │ │ │ └── closing_loc: (74,4)-(74,5) = "}"
+ │ │ └── @ StringNode (location: (74,5)-(74,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (309...310) = "\n"
+ │ │ ├── content_loc: (74,5)-(74,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (310...314) = "DOC\n"
- ├── @ IfNode (location: (315...349))
- │ ├── if_keyword_loc: (315...317) = "if"
+ │ └── closing_loc: (75,0)-(75,0) = "DOC\n"
+ ├── @ IfNode (location: (77,0)-(81,3))
+ │ ├── if_keyword_loc: (77,0)-(77,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (318...322))
+ │ │ @ TrueNode (location: (77,3)-(77,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (325...331))
+ │ │ @ StatementsNode (location: (78,2)-(78,8))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (325...331))
- │ │ ├── opening_loc: (325...331) = "<<~DOC"
+ │ │ └── @ InterpolatedStringNode (location: (78,2)-(78,8))
+ │ │ ├── opening_loc: (78,2)-(78,8) = "<<~DOC"
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (336...339))
- │ │ │ │ ├── opening_loc: (336...338) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (79,4)-(79,7))
+ │ │ │ │ ├── opening_loc: (79,4)-(79,6) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (338...339) = "}"
- │ │ │ └── @ StringNode (location: (339...340))
+ │ │ │ │ └── closing_loc: (79,6)-(79,7) = "}"
+ │ │ │ └── @ StringNode (location: (79,7)-(79,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (339...340) = "\n"
+ │ │ │ ├── content_loc: (79,7)-(79,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (340...346) = " DOC\n"
+ │ │ └── closing_loc: (80,0)-(80,0) = " DOC\n"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (346...349) = "end"
- ├── @ IfNode (location: (351...386))
- │ ├── if_keyword_loc: (351...353) = "if"
+ │ └── end_keyword_loc: (81,0)-(81,3) = "end"
+ ├── @ IfNode (location: (83,0)-(87,3))
+ │ ├── if_keyword_loc: (83,0)-(83,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (354...358))
+ │ │ @ TrueNode (location: (83,3)-(83,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (361...367))
+ │ │ @ StatementsNode (location: (84,2)-(84,8))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (361...367))
- │ │ ├── opening_loc: (361...367) = "<<~DOC"
+ │ │ └── @ InterpolatedStringNode (location: (84,2)-(84,8))
+ │ │ ├── opening_loc: (84,2)-(84,8) = "<<~DOC"
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (368...373))
+ │ │ │ ├── @ StringNode (location: (85,0)-(85,5))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (368...373) = " b"
+ │ │ │ │ ├── content_loc: (85,0)-(85,5) = " b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
- │ │ │ ├── @ EmbeddedStatementsNode (location: (373...376))
- │ │ │ │ ├── opening_loc: (373...375) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (85,5)-(85,8))
+ │ │ │ │ ├── opening_loc: (85,5)-(85,7) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (375...376) = "}"
- │ │ │ └── @ StringNode (location: (376...377))
+ │ │ │ │ └── closing_loc: (85,7)-(85,8) = "}"
+ │ │ │ └── @ StringNode (location: (85,8)-(85,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (376...377) = "\n"
+ │ │ │ ├── content_loc: (85,8)-(85,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (377...383) = " DOC\n"
+ │ │ └── closing_loc: (86,0)-(86,0) = " DOC\n"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (383...386) = "end"
- ├── @ IfNode (location: (388...423))
- │ ├── if_keyword_loc: (388...390) = "if"
+ │ └── end_keyword_loc: (87,0)-(87,3) = "end"
+ ├── @ IfNode (location: (89,0)-(93,3))
+ │ ├── if_keyword_loc: (89,0)-(89,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (391...395))
+ │ │ @ TrueNode (location: (89,3)-(89,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (398...404))
+ │ │ @ StatementsNode (location: (90,2)-(90,8))
│ │ └── body: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (398...404))
- │ │ ├── opening_loc: (398...404) = "<<~DOC"
+ │ │ └── @ InterpolatedStringNode (location: (90,2)-(90,8))
+ │ │ ├── opening_loc: (90,2)-(90,8) = "<<~DOC"
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ EmbeddedStatementsNode (location: (409...412))
- │ │ │ │ ├── opening_loc: (409...411) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (91,4)-(91,7))
+ │ │ │ │ ├── opening_loc: (91,4)-(91,6) = "\#{"
│ │ │ │ ├── statements: ∅
- │ │ │ │ └── closing_loc: (411...412) = "}"
- │ │ │ └── @ StringNode (location: (412...414))
+ │ │ │ │ └── closing_loc: (91,6)-(91,7) = "}"
+ │ │ │ └── @ StringNode (location: (91,7)-(91,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (412...414) = "a\n"
+ │ │ │ ├── content_loc: (91,7)-(91,0) = "a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ └── closing_loc: (414...420) = " DOC\n"
+ │ │ └── closing_loc: (92,0)-(92,0) = " DOC\n"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (420...423) = "end"
- ├── @ IfNode (location: (425...464))
- │ ├── if_keyword_loc: (425...427) = "if"
+ │ └── end_keyword_loc: (93,0)-(93,3) = "end"
+ ├── @ IfNode (location: (95,0)-(101,3))
+ │ ├── if_keyword_loc: (95,0)-(95,2) = "if"
│ ├── predicate:
- │ │ @ TrueNode (location: (428...432))
+ │ │ @ TrueNode (location: (95,3)-(95,7))
│ ├── statements:
- │ │ @ StatementsNode (location: (435...443))
+ │ │ @ StatementsNode (location: (96,2)-(96,10))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (435...443))
+ │ │ └── @ StringNode (location: (96,2)-(96,10))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (435...443) = "<<-'DOC'"
- │ │ ├── content_loc: (444...455) = " a\n\n b\n"
- │ │ ├── closing_loc: (455...461) = " DOC\n"
+ │ │ ├── opening_loc: (96,2)-(96,10) = "<<-'DOC'"
+ │ │ ├── content_loc: (97,0)-(99,0) = " a\n\n b\n"
+ │ │ ├── closing_loc: (100,0)-(100,0) = " DOC\n"
│ │ └── unescaped: " a\n\n b\n"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (461...464) = "end"
- ├── @ InterpolatedStringNode (location: (466...472))
- │ ├── opening_loc: (466...467) = "\""
+ │ └── end_keyword_loc: (101,0)-(101,3) = "end"
+ ├── @ InterpolatedStringNode (location: (103,0)-(103,6))
+ │ ├── opening_loc: (103,0)-(103,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (467...470))
- │ │ │ ├── opening_loc: (467...469) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (103,1)-(103,4))
+ │ │ │ ├── opening_loc: (103,1)-(103,3) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (469...470) = "}"
- │ │ └── @ StringNode (location: (470...471))
+ │ │ │ └── closing_loc: (103,3)-(103,4) = "}"
+ │ │ └── @ StringNode (location: (103,4)-(103,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (470...471) = "a"
+ │ │ ├── content_loc: (103,4)-(103,5) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
- │ └── closing_loc: (471...472) = "\""
- ├── @ InterpolatedStringNode (location: (474...486))
- │ ├── opening_loc: (474...476) = "%("
+ │ └── closing_loc: (103,5)-(103,6) = "\""
+ ├── @ InterpolatedStringNode (location: (105,0)-(105,12))
+ │ ├── opening_loc: (105,0)-(105,2) = "%("
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (476...479))
+ │ │ ├── @ StringNode (location: (105,2)-(105,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (476...479) = "\\n\""
+ │ │ │ ├── content_loc: (105,2)-(105,5) = "\\n\""
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n\""
- │ │ ├── @ EmbeddedStatementsNode (location: (479...482))
- │ │ │ ├── opening_loc: (479...481) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (105,5)-(105,8))
+ │ │ │ ├── opening_loc: (105,5)-(105,7) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (481...482) = "}"
- │ │ └── @ StringNode (location: (482...485))
+ │ │ │ └── closing_loc: (105,7)-(105,8) = "}"
+ │ │ └── @ StringNode (location: (105,8)-(105,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (482...485) = "\"\\n"
+ │ │ ├── content_loc: (105,8)-(105,11) = "\"\\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\"\n"
- │ └── closing_loc: (485...486) = ")"
- ├── @ InterpolatedStringNode (location: (488...502))
- │ ├── opening_loc: (488...491) = "%Q("
+ │ └── closing_loc: (105,11)-(105,12) = ")"
+ ├── @ InterpolatedStringNode (location: (107,0)-(107,14))
+ │ ├── opening_loc: (107,0)-(107,3) = "%Q("
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (491...495))
+ │ │ ├── @ StringNode (location: (107,3)-(107,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (491...495) = "-\\n\""
+ │ │ │ ├── content_loc: (107,3)-(107,7) = "-\\n\""
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "-\n\""
- │ │ ├── @ EmbeddedStatementsNode (location: (495...498))
- │ │ │ ├── opening_loc: (495...497) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (107,7)-(107,10))
+ │ │ │ ├── opening_loc: (107,7)-(107,9) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (497...498) = "}"
- │ │ └── @ StringNode (location: (498...501))
+ │ │ │ └── closing_loc: (107,9)-(107,10) = "}"
+ │ │ └── @ StringNode (location: (107,10)-(107,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (498...501) = "\"\\n"
+ │ │ ├── content_loc: (107,10)-(107,13) = "\"\\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\"\n"
- │ └── closing_loc: (501...502) = ")"
- ├── @ InterpolatedStringNode (location: (504...513))
- │ ├── opening_loc: (504...505) = "\""
+ │ └── closing_loc: (107,13)-(107,14) = ")"
+ ├── @ InterpolatedStringNode (location: (109,0)-(111,2))
+ │ ├── opening_loc: (109,0)-(109,1) = "\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (505...507))
+ │ │ ├── @ StringNode (location: (109,1)-(109,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (505...507) = "a\n"
+ │ │ │ ├── content_loc: (109,1)-(109,0) = "a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (507...510))
- │ │ │ ├── opening_loc: (507...509) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (110,0)-(110,3))
+ │ │ │ ├── opening_loc: (110,0)-(110,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (509...510) = "}"
- │ │ └── @ StringNode (location: (510...512))
+ │ │ │ └── closing_loc: (110,2)-(110,3) = "}"
+ │ │ └── @ StringNode (location: (110,3)-(111,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (510...512) = "\nb"
+ │ │ ├── content_loc: (110,3)-(111,1) = "\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\nb"
- │ └── closing_loc: (512...513) = "\""
- ├── @ InterpolatedStringNode (location: (515...525))
- │ ├── opening_loc: (515...516) = "\""
+ │ └── closing_loc: (111,1)-(111,2) = "\""
+ ├── @ InterpolatedStringNode (location: (113,0)-(114,2))
+ │ ├── opening_loc: (113,0)-(113,1) = "\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (516...519))
+ │ │ ├── @ StringNode (location: (113,1)-(113,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (516...519) = "a\\n"
+ │ │ │ ├── content_loc: (113,1)-(113,4) = "a\\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (519...522))
- │ │ │ ├── opening_loc: (519...521) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (113,4)-(113,7))
+ │ │ │ ├── opening_loc: (113,4)-(113,6) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (521...522) = "}"
- │ │ └── @ StringNode (location: (522...524))
+ │ │ │ └── closing_loc: (113,6)-(113,7) = "}"
+ │ │ └── @ StringNode (location: (113,7)-(114,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (522...524) = "\nb"
+ │ │ ├── content_loc: (113,7)-(114,1) = "\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\nb"
- │ └── closing_loc: (524...525) = "\""
- ├── @ InterpolatedStringNode (location: (527...537))
- │ ├── opening_loc: (527...528) = "\""
+ │ └── closing_loc: (114,1)-(114,2) = "\""
+ ├── @ InterpolatedStringNode (location: (116,0)-(117,7))
+ │ ├── opening_loc: (116,0)-(116,1) = "\""
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (528...530))
+ │ │ ├── @ StringNode (location: (116,1)-(116,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (528...530) = "a\n"
+ │ │ │ ├── content_loc: (116,1)-(116,0) = "a\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (530...533))
- │ │ │ ├── opening_loc: (530...532) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (117,0)-(117,3))
+ │ │ │ ├── opening_loc: (117,0)-(117,2) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (532...533) = "}"
- │ │ └── @ StringNode (location: (533...536))
+ │ │ │ └── closing_loc: (117,2)-(117,3) = "}"
+ │ │ └── @ StringNode (location: (117,3)-(117,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (533...536) = "\\nb"
+ │ │ ├── content_loc: (117,3)-(117,6) = "\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\nb"
- │ └── closing_loc: (536...537) = "\""
- ├── @ StringConcatNode (location: (539...550))
+ │ └── closing_loc: (117,6)-(117,7) = "\""
+ ├── @ StringConcatNode (location: (119,0)-(120,5))
│ ├── left:
- │ │ @ StringNode (location: (539...542))
+ │ │ @ StringNode (location: (119,0)-(119,3))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (539...540) = "'"
- │ │ ├── content_loc: (540...541) = "a"
- │ │ ├── closing_loc: (541...542) = "'"
+ │ │ ├── opening_loc: (119,0)-(119,1) = "'"
+ │ │ ├── content_loc: (119,1)-(119,2) = "a"
+ │ │ ├── closing_loc: (119,2)-(119,3) = "'"
│ │ └── unescaped: "a"
│ └── right:
- │ @ InterpolatedStringNode (location: (545...550))
- │ ├── opening_loc: (545...546) = "\""
+ │ @ InterpolatedStringNode (location: (120,0)-(120,5))
+ │ ├── opening_loc: (120,0)-(120,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (546...549))
- │ │ ├── opening_loc: (546...548) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (120,1)-(120,4))
+ │ │ ├── opening_loc: (120,1)-(120,3) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (548...549) = "}"
- │ └── closing_loc: (549...550) = "\""
- ├── @ StringConcatNode (location: (552...560))
+ │ │ └── closing_loc: (120,3)-(120,4) = "}"
+ │ └── closing_loc: (120,4)-(120,5) = "\""
+ ├── @ StringConcatNode (location: (122,0)-(122,8))
│ ├── left:
- │ │ @ StringConcatNode (location: (552...557))
+ │ │ @ StringConcatNode (location: (122,0)-(122,5))
│ │ ├── left:
- │ │ │ @ StringNode (location: (552...554))
+ │ │ │ @ StringNode (location: (122,0)-(122,2))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (552...553) = "\""
- │ │ │ ├── content_loc: (553...553) = ""
- │ │ │ ├── closing_loc: (553...554) = "\""
+ │ │ │ ├── opening_loc: (122,0)-(122,1) = "\""
+ │ │ │ ├── content_loc: (122,1)-(122,1) = ""
+ │ │ │ ├── closing_loc: (122,1)-(122,2) = "\""
│ │ │ └── unescaped: ""
│ │ └── right:
- │ │ @ StringNode (location: (555...557))
+ │ │ @ StringNode (location: (122,3)-(122,5))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (555...556) = "\""
- │ │ ├── content_loc: (556...556) = ""
- │ │ ├── closing_loc: (556...557) = "\""
+ │ │ ├── opening_loc: (122,3)-(122,4) = "\""
+ │ │ ├── content_loc: (122,4)-(122,4) = ""
+ │ │ ├── closing_loc: (122,4)-(122,5) = "\""
│ │ └── unescaped: ""
│ └── right:
- │ @ StringNode (location: (558...560))
+ │ @ StringNode (location: (122,6)-(122,8))
│ ├── flags: ∅
- │ ├── opening_loc: (558...559) = "\""
- │ ├── content_loc: (559...559) = ""
- │ ├── closing_loc: (559...560) = "\""
+ │ ├── opening_loc: (122,6)-(122,7) = "\""
+ │ ├── content_loc: (122,7)-(122,7) = ""
+ │ ├── closing_loc: (122,7)-(122,8) = "\""
│ └── unescaped: ""
- ├── @ StringConcatNode (location: (562...574))
+ ├── @ StringConcatNode (location: (124,0)-(124,12))
│ ├── left:
- │ │ @ InterpolatedStringNode (location: (562...570))
- │ │ ├── opening_loc: (562...563) = "\""
+ │ │ @ InterpolatedStringNode (location: (124,0)-(124,8))
+ │ │ ├── opening_loc: (124,0)-(124,1) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (563...564))
+ │ │ │ ├── @ StringNode (location: (124,1)-(124,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (563...564) = "a"
+ │ │ │ │ ├── content_loc: (124,1)-(124,2) = "a"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "a"
- │ │ │ └── @ EmbeddedStatementsNode (location: (564...569))
- │ │ │ ├── opening_loc: (564...566) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (124,2)-(124,7))
+ │ │ │ ├── opening_loc: (124,2)-(124,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (566...568))
+ │ │ │ │ @ StatementsNode (location: (124,4)-(124,6))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ InstanceVariableReadNode (location: (566...568))
+ │ │ │ │ └── @ InstanceVariableReadNode (location: (124,4)-(124,6))
│ │ │ │ └── name: :@a
- │ │ │ └── closing_loc: (568...569) = "}"
- │ │ └── closing_loc: (569...570) = "\""
+ │ │ │ └── closing_loc: (124,6)-(124,7) = "}"
+ │ │ └── closing_loc: (124,7)-(124,8) = "\""
│ └── right:
- │ @ StringNode (location: (571...574))
+ │ @ StringNode (location: (124,9)-(124,12))
│ ├── flags: ∅
- │ ├── opening_loc: (571...572) = "\""
- │ ├── content_loc: (572...573) = "b"
- │ ├── closing_loc: (573...574) = "\""
+ │ ├── opening_loc: (124,9)-(124,10) = "\""
+ │ ├── content_loc: (124,10)-(124,11) = "b"
+ │ ├── closing_loc: (124,11)-(124,12) = "\""
│ └── unescaped: "b"
- ├── @ StringConcatNode (location: (575...585))
+ ├── @ StringConcatNode (location: (125,0)-(125,10))
│ ├── left:
- │ │ @ InterpolatedStringNode (location: (575...581))
- │ │ ├── opening_loc: (575...576) = "\""
+ │ │ @ InterpolatedStringNode (location: (125,0)-(125,6))
+ │ │ ├── opening_loc: (125,0)-(125,1) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (576...577))
+ │ │ │ ├── @ StringNode (location: (125,1)-(125,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (576...577) = "a"
+ │ │ │ │ ├── content_loc: (125,1)-(125,2) = "a"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "a"
- │ │ │ └── @ EmbeddedVariableNode (location: (577...580))
- │ │ │ ├── operator_loc: (577...578) = "#"
+ │ │ │ └── @ EmbeddedVariableNode (location: (125,2)-(125,5))
+ │ │ │ ├── operator_loc: (125,2)-(125,3) = "#"
│ │ │ └── variable:
- │ │ │ @ InstanceVariableReadNode (location: (578...580))
+ │ │ │ @ InstanceVariableReadNode (location: (125,3)-(125,5))
│ │ │ └── name: :@a
- │ │ └── closing_loc: (580...581) = "\""
+ │ │ └── closing_loc: (125,5)-(125,6) = "\""
│ └── right:
- │ @ StringNode (location: (582...585))
+ │ @ StringNode (location: (125,7)-(125,10))
│ ├── flags: ∅
- │ ├── opening_loc: (582...583) = "\""
- │ ├── content_loc: (583...584) = "b"
- │ ├── closing_loc: (584...585) = "\""
+ │ ├── opening_loc: (125,7)-(125,8) = "\""
+ │ ├── content_loc: (125,8)-(125,9) = "b"
+ │ ├── closing_loc: (125,9)-(125,10) = "\""
│ └── unescaped: "b"
- ├── @ StringConcatNode (location: (586...596))
+ ├── @ StringConcatNode (location: (126,0)-(126,10))
│ ├── left:
- │ │ @ InterpolatedStringNode (location: (586...592))
- │ │ ├── opening_loc: (586...587) = "\""
+ │ │ @ InterpolatedStringNode (location: (126,0)-(126,6))
+ │ │ ├── opening_loc: (126,0)-(126,1) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (587...588))
+ │ │ │ ├── @ StringNode (location: (126,1)-(126,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (587...588) = "a"
+ │ │ │ │ ├── content_loc: (126,1)-(126,2) = "a"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "a"
- │ │ │ └── @ EmbeddedVariableNode (location: (588...591))
- │ │ │ ├── operator_loc: (588...589) = "#"
+ │ │ │ └── @ EmbeddedVariableNode (location: (126,2)-(126,5))
+ │ │ │ ├── operator_loc: (126,2)-(126,3) = "#"
│ │ │ └── variable:
- │ │ │ @ GlobalVariableReadNode (location: (589...591))
+ │ │ │ @ GlobalVariableReadNode (location: (126,3)-(126,5))
│ │ │ └── name: :$a
- │ │ └── closing_loc: (591...592) = "\""
+ │ │ └── closing_loc: (126,5)-(126,6) = "\""
│ └── right:
- │ @ StringNode (location: (593...596))
+ │ @ StringNode (location: (126,7)-(126,10))
│ ├── flags: ∅
- │ ├── opening_loc: (593...594) = "\""
- │ ├── content_loc: (594...595) = "b"
- │ ├── closing_loc: (595...596) = "\""
+ │ ├── opening_loc: (126,7)-(126,8) = "\""
+ │ ├── content_loc: (126,8)-(126,9) = "b"
+ │ ├── closing_loc: (126,9)-(126,10) = "\""
│ └── unescaped: "b"
- └── @ StringConcatNode (location: (597...608))
+ └── @ StringConcatNode (location: (127,0)-(127,11))
├── left:
- │ @ InterpolatedStringNode (location: (597...604))
- │ ├── opening_loc: (597...598) = "\""
+ │ @ InterpolatedStringNode (location: (127,0)-(127,7))
+ │ ├── opening_loc: (127,0)-(127,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (598...599))
+ │ │ ├── @ StringNode (location: (127,1)-(127,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (598...599) = "a"
+ │ │ │ ├── content_loc: (127,1)-(127,2) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
- │ │ └── @ EmbeddedVariableNode (location: (599...603))
- │ │ ├── operator_loc: (599...600) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (127,2)-(127,6))
+ │ │ ├── operator_loc: (127,2)-(127,3) = "#"
│ │ └── variable:
- │ │ @ ClassVariableReadNode (location: (600...603))
+ │ │ @ ClassVariableReadNode (location: (127,3)-(127,6))
│ │ └── name: :@@a
- │ └── closing_loc: (603...604) = "\""
+ │ └── closing_loc: (127,6)-(127,7) = "\""
└── right:
- @ StringNode (location: (605...608))
+ @ StringNode (location: (127,8)-(127,11))
├── flags: ∅
- ├── opening_loc: (605...606) = "\""
- ├── content_loc: (606...607) = "b"
- ├── closing_loc: (607...608) = "\""
+ ├── opening_loc: (127,8)-(127,9) = "\""
+ ├── content_loc: (127,9)-(127,10) = "b"
+ ├── closing_loc: (127,10)-(127,11) = "\""
└── unescaped: "b"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/kwbegin.txt b/test/yarp/snapshots/unparser/corpus/semantic/kwbegin.txt
index 1e5e882713..5a4881abd6 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/kwbegin.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/kwbegin.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...215))
+@ ProgramNode (location: (1,0)-(42,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...215))
+ @ StatementsNode (location: (1,0)-(42,3))
└── body: (length: 8)
- ├── @ BeginNode (location: (0...16))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ ├── @ BeginNode (location: (1,0)-(3,3))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (6...12))
- │ │ ├── keyword_loc: (6...12) = "rescue"
+ │ │ @ RescueNode (location: (2,0)-(2,6))
+ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
@@ -16,34 +16,34 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- ├── @ BeginNode (location: (18...39))
- │ ├── begin_keyword_loc: (18...23) = "begin"
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ ├── @ BeginNode (location: (5,0)-(8,3))
+ │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (24...30))
- │ │ ├── keyword_loc: (24...30) = "rescue"
+ │ │ @ RescueNode (location: (6,0)-(6,6))
+ │ │ ├── keyword_loc: (6,0)-(6,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (31...39))
- │ │ ├── else_keyword_loc: (31...35) = "else"
+ │ │ @ ElseNode (location: (7,0)-(8,3))
+ │ │ ├── else_keyword_loc: (7,0)-(7,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (36...39) = "end"
+ │ │ └── end_keyword_loc: (8,0)-(8,3) = "end"
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (36...39) = "end"
- ├── @ BeginNode (location: (41...54))
- │ ├── begin_keyword_loc: (41...46) = "begin"
+ │ └── end_keyword_loc: (8,0)-(8,3) = "end"
+ ├── @ BeginNode (location: (10,0)-(12,3))
+ │ ├── begin_keyword_loc: (10,0)-(10,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (49...50))
+ │ │ @ StatementsNode (location: (11,2)-(11,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (49...50))
+ │ │ └── @ CallNode (location: (11,2)-(11,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (49...50) = "a"
+ │ │ ├── message_loc: (11,2)-(11,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -53,16 +53,16 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (51...54) = "end"
- ├── @ BeginNode (location: (56...80))
- │ ├── begin_keyword_loc: (56...61) = "begin"
+ │ └── end_keyword_loc: (12,0)-(12,3) = "end"
+ ├── @ BeginNode (location: (14,0)-(18,3))
+ │ ├── begin_keyword_loc: (14,0)-(14,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (64...65))
+ │ │ @ StatementsNode (location: (15,2)-(15,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (64...65))
+ │ │ └── @ CallNode (location: (15,2)-(15,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (64...65) = "a"
+ │ │ ├── message_loc: (15,2)-(15,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -70,18 +70,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (66...76))
- │ │ ├── keyword_loc: (66...72) = "rescue"
+ │ │ @ RescueNode (location: (16,0)-(17,3))
+ │ │ ├── keyword_loc: (16,0)-(16,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (75...76))
+ │ │ │ @ StatementsNode (location: (17,2)-(17,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (75...76))
+ │ │ │ └── @ CallNode (location: (17,2)-(17,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (75...76) = "b"
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -91,26 +91,26 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (77...80) = "end"
- ├── @ BeginNode (location: (82...110))
- │ ├── begin_keyword_loc: (82...87) = "begin"
+ │ └── end_keyword_loc: (18,0)-(18,3) = "end"
+ ├── @ BeginNode (location: (20,0)-(25,3))
+ │ ├── begin_keyword_loc: (20,0)-(20,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (90...95))
+ │ │ @ StatementsNode (location: (21,2)-(22,3))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (90...91))
+ │ │ ├── @ CallNode (location: (21,2)-(21,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (90...91) = "a"
+ │ │ │ ├── message_loc: (21,2)-(21,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ └── @ CallNode (location: (94...95))
+ │ │ └── @ CallNode (location: (22,2)-(22,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (94...95) = "b"
+ │ │ ├── message_loc: (22,2)-(22,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -118,18 +118,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (96...106))
- │ │ ├── keyword_loc: (96...102) = "rescue"
+ │ │ @ RescueNode (location: (23,0)-(24,3))
+ │ │ ├── keyword_loc: (23,0)-(23,6) = "rescue"
│ │ ├── exceptions: (length: 0)
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (105...106))
+ │ │ │ @ StatementsNode (location: (24,2)-(24,3))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (105...106))
+ │ │ │ └── @ CallNode (location: (24,2)-(24,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (105...106) = "b"
+ │ │ │ ├── message_loc: (24,2)-(24,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -139,56 +139,56 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (107...110) = "end"
- ├── @ BeginNode (location: (112...135))
- │ ├── begin_keyword_loc: (112...117) = "begin"
+ │ └── end_keyword_loc: (25,0)-(25,3) = "end"
+ ├── @ BeginNode (location: (27,0)-(30,3))
+ │ ├── begin_keyword_loc: (27,0)-(27,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (118...126))
- │ │ ├── keyword_loc: (118...124) = "rescue"
+ │ │ @ RescueNode (location: (28,0)-(28,8))
+ │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (125...126))
+ │ │ │ └── @ ConstantReadNode (location: (28,7)-(28,8))
│ │ │ └── name: :A
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (127...135))
- │ │ ├── else_keyword_loc: (127...131) = "else"
+ │ │ @ ElseNode (location: (29,0)-(30,3))
+ │ │ ├── else_keyword_loc: (29,0)-(29,4) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (132...135) = "end"
+ │ │ └── end_keyword_loc: (30,0)-(30,3) = "end"
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (132...135) = "end"
- ├── @ BeginNode (location: (137...163))
- │ ├── begin_keyword_loc: (137...142) = "begin"
+ │ └── end_keyword_loc: (30,0)-(30,3) = "end"
+ ├── @ BeginNode (location: (32,0)-(32,26))
+ │ ├── begin_keyword_loc: (32,0)-(32,5) = "begin"
│ ├── statements: ∅
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (144...152))
- │ │ ├── keyword_loc: (144...150) = "rescue"
+ │ │ @ RescueNode (location: (32,7)-(32,15))
+ │ │ ├── keyword_loc: (32,7)-(32,13) = "rescue"
│ │ ├── exceptions: (length: 1)
- │ │ │ └── @ ConstantReadNode (location: (151...152))
+ │ │ │ └── @ ConstantReadNode (location: (32,14)-(32,15))
│ │ │ └── name: :A
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
- │ │ @ ElseNode (location: (154...163))
- │ │ ├── else_keyword_loc: (154...158) = "else"
+ │ │ @ ElseNode (location: (32,17)-(32,26))
+ │ │ ├── else_keyword_loc: (32,17)-(32,21) = "else"
│ │ ├── statements: ∅
- │ │ └── end_keyword_loc: (160...163) = "end"
+ │ │ └── end_keyword_loc: (32,23)-(32,26) = "end"
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (160...163) = "end"
- └── @ BeginNode (location: (165...215))
- ├── begin_keyword_loc: (165...170) = "begin"
+ │ └── end_keyword_loc: (32,23)-(32,26) = "end"
+ └── @ BeginNode (location: (34,0)-(42,3))
+ ├── begin_keyword_loc: (34,0)-(34,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (173...174))
+ │ @ StatementsNode (location: (35,2)-(35,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (173...174))
+ │ └── @ CallNode (location: (35,2)-(35,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (173...174) = "a"
+ │ ├── message_loc: (35,2)-(35,3) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -196,20 +196,20 @@
│ ├── flags: variable_call
│ └── name: "a"
├── rescue_clause:
- │ @ RescueNode (location: (175...200))
- │ ├── keyword_loc: (175...181) = "rescue"
+ │ @ RescueNode (location: (36,0)-(39,3))
+ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ ConstantReadNode (location: (182...183))
+ │ │ └── @ ConstantReadNode (location: (36,7)-(36,8))
│ │ └── name: :A
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (186...187))
+ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (186...187))
+ │ │ └── @ CallNode (location: (37,2)-(37,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (186...187) = "b"
+ │ │ ├── message_loc: (37,2)-(37,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -217,20 +217,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ └── consequent:
- │ @ RescueNode (location: (188...200))
- │ ├── keyword_loc: (188...194) = "rescue"
+ │ @ RescueNode (location: (38,0)-(39,3))
+ │ ├── keyword_loc: (38,0)-(38,6) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ ConstantReadNode (location: (195...196))
+ │ │ └── @ ConstantReadNode (location: (38,7)-(38,8))
│ │ └── name: :B
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (199...200))
+ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (199...200))
+ │ │ └── @ CallNode (location: (39,2)-(39,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (199...200) = "c"
+ │ │ ├── message_loc: (39,2)-(39,3) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -240,20 +240,20 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (201...215))
- │ ├── ensure_keyword_loc: (201...207) = "ensure"
+ │ @ EnsureNode (location: (40,0)-(42,3))
+ │ ├── ensure_keyword_loc: (40,0)-(40,6) = "ensure"
│ ├── statements:
- │ │ @ StatementsNode (location: (210...211))
+ │ │ @ StatementsNode (location: (41,2)-(41,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (210...211))
+ │ │ └── @ CallNode (location: (41,2)-(41,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (210...211) = "d"
+ │ │ ├── message_loc: (41,2)-(41,3) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "d"
- │ └── end_keyword_loc: (212...215) = "end"
- └── end_keyword_loc: (212...215) = "end"
+ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
+ └── end_keyword_loc: (42,0)-(42,3) = "end"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/literal.txt b/test/yarp/snapshots/unparser/corpus/semantic/literal.txt
index b5096276eb..c7f4fa8f9b 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/literal.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/literal.txt
@@ -1,81 +1,81 @@
-@ ProgramNode (location: (0...131))
+@ ProgramNode (location: (1,0)-(14,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...131))
+ @ StatementsNode (location: (1,0)-(14,10))
└── body: (length: 14)
- ├── @ RationalNode (location: (0...4))
+ ├── @ RationalNode (location: (1,0)-(1,4))
│ └── numeric:
- │ @ FloatNode (location: (0...3))
- ├── @ RationalNode (location: (5...8))
+ │ @ FloatNode (location: (1,0)-(1,3))
+ ├── @ RationalNode (location: (2,0)-(2,3))
│ └── numeric:
- │ @ IntegerNode (location: (5...7))
+ │ @ IntegerNode (location: (2,0)-(2,2))
│ └── flags: decimal
- ├── @ IntegerNode (location: (9...12))
+ ├── @ IntegerNode (location: (3,0)-(3,3))
│ └── flags: hexadecimal
- ├── @ IntegerNode (location: (13...18))
+ ├── @ IntegerNode (location: (4,0)-(4,5))
│ └── flags: decimal
- ├── @ FloatNode (location: (19...23))
- ├── @ FloatNode (location: (24...38))
- ├── @ FloatNode (location: (39...54))
- ├── @ StringNode (location: (55...57))
+ ├── @ FloatNode (location: (5,0)-(5,4))
+ ├── @ FloatNode (location: (6,0)-(6,14))
+ ├── @ FloatNode (location: (7,0)-(7,15))
+ ├── @ StringNode (location: (8,0)-(8,2))
│ ├── flags: ∅
- │ ├── opening_loc: (55...56) = "?"
- │ ├── content_loc: (56...57) = "c"
+ │ ├── opening_loc: (8,0)-(8,1) = "?"
+ │ ├── content_loc: (8,1)-(8,2) = "c"
│ ├── closing_loc: ∅
│ └── unescaped: "c"
- ├── @ RegularExpressionNode (location: (58...63))
- │ ├── opening_loc: (58...61) = "%r("
- │ ├── content_loc: (61...62) = "/"
- │ ├── closing_loc: (62...63) = ")"
+ ├── @ RegularExpressionNode (location: (9,0)-(9,5))
+ │ ├── opening_loc: (9,0)-(9,3) = "%r("
+ │ ├── content_loc: (9,3)-(9,4) = "/"
+ │ ├── closing_loc: (9,4)-(9,5) = ")"
│ ├── unescaped: "/"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (64...70))
- │ ├── opening_loc: (64...67) = "%r("
- │ ├── content_loc: (67...69) = "\\)"
- │ ├── closing_loc: (69...70) = ")"
+ ├── @ RegularExpressionNode (location: (10,0)-(10,6))
+ │ ├── opening_loc: (10,0)-(10,3) = "%r("
+ │ ├── content_loc: (10,3)-(10,5) = "\\)"
+ │ ├── closing_loc: (10,5)-(10,6) = ")"
│ ├── unescaped: ")"
│ └── flags: ∅
- ├── @ InterpolatedRegularExpressionNode (location: (71...85))
- │ ├── opening_loc: (71...74) = "%r("
+ ├── @ InterpolatedRegularExpressionNode (location: (11,0)-(11,14))
+ │ ├── opening_loc: (11,0)-(11,3) = "%r("
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (74...81))
- │ │ │ ├── opening_loc: (74...76) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (11,3)-(11,10))
+ │ │ │ ├── opening_loc: (11,3)-(11,5) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (76...80))
+ │ │ │ │ @ StatementsNode (location: (11,5)-(11,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ InstanceVariableReadNode (location: (76...80))
+ │ │ │ │ └── @ InstanceVariableReadNode (location: (11,5)-(11,9))
│ │ │ │ └── name: :@bar
- │ │ │ └── closing_loc: (80...81) = "}"
- │ │ └── @ StringNode (location: (81...84))
+ │ │ │ └── closing_loc: (11,9)-(11,10) = "}"
+ │ │ └── @ StringNode (location: (11,10)-(11,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (81...84) = "baz"
+ │ │ ├── content_loc: (11,10)-(11,13) = "baz"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "baz"
- │ ├── closing_loc: (84...85) = ")"
+ │ ├── closing_loc: (11,13)-(11,14) = ")"
│ └── flags: ∅
- ├── @ FloatNode (location: (86...102))
- ├── @ FloatNode (location: (103...120))
- └── @ CallNode (location: (121...131))
+ ├── @ FloatNode (location: (12,0)-(12,16))
+ ├── @ FloatNode (location: (13,0)-(13,17))
+ └── @ CallNode (location: (14,0)-(14,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (121...122) = "w"
- ├── opening_loc: (122...123) = "("
+ ├── message_loc: (14,0)-(14,1) = "w"
+ ├── opening_loc: (14,1)-(14,2) = "("
├── arguments:
- │ @ ArgumentsNode (location: (123...130))
+ │ @ ArgumentsNode (location: (14,2)-(14,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (123...130))
+ │ └── @ CallNode (location: (14,2)-(14,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (123...126) = "foo"
+ │ ├── message_loc: (14,2)-(14,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (127...130))
+ │ │ @ ArgumentsNode (location: (14,6)-(14,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (127...130))
+ │ │ └── @ CallNode (location: (14,6)-(14,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (127...130) = "bar"
+ │ │ ├── message_loc: (14,6)-(14,9) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -86,7 +86,7 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── closing_loc: (130...131) = ")"
+ ├── closing_loc: (14,9)-(14,10) = ")"
├── block: ∅
├── flags: ∅
└── name: "w"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/send.txt b/test/yarp/snapshots/unparser/corpus/semantic/send.txt
index 583f754bb9..700b94d8ec 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/send.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/send.txt
@@ -1,70 +1,70 @@
-@ ProgramNode (location: (0...44))
+@ ProgramNode (location: (1,0)-(6,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...44))
+ @ StatementsNode (location: (1,0)-(6,15))
└── body: (length: 4)
- ├── @ CallNode (location: (0...3))
+ ├── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── @ CallNode (location: (4...10))
+ ├── @ CallNode (location: (2,0)-(2,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...7) = "foo"
- │ ├── opening_loc: (7...8) = "("
+ │ ├── message_loc: (2,0)-(2,3) = "foo"
+ │ ├── opening_loc: (2,3)-(2,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...9))
+ │ │ @ ArgumentsNode (location: (2,4)-(2,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (8...9))
+ │ │ └── @ IntegerNode (location: (2,4)-(2,5))
│ │ └── flags: decimal
- │ ├── closing_loc: (9...10) = ")"
+ │ ├── closing_loc: (2,5)-(2,6) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (12...27))
+ ├── @ CallNode (location: (4,0)-(4,15))
│ ├── receiver:
- │ │ @ CallNode (location: (12...22))
+ │ │ @ CallNode (location: (4,0)-(4,10))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (12...20))
+ │ │ │ @ CallNode (location: (4,0)-(4,8))
│ │ │ ├── receiver:
- │ │ │ │ @ CallNode (location: (12...13))
+ │ │ │ │ @ CallNode (location: (4,0)-(4,1))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (12...13) = "a"
+ │ │ │ │ ├── message_loc: (4,0)-(4,1) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "a"
- │ │ │ ├── call_operator_loc: (13...14) = "."
- │ │ │ ├── message_loc: (14...17) = "==="
- │ │ │ ├── opening_loc: (17...18) = "("
+ │ │ │ ├── call_operator_loc: (4,1)-(4,2) = "."
+ │ │ │ ├── message_loc: (4,2)-(4,5) = "==="
+ │ │ │ ├── opening_loc: (4,5)-(4,6) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (18...19))
+ │ │ │ │ @ ArgumentsNode (location: (4,6)-(4,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (18...19))
+ │ │ │ │ └── @ CallNode (location: (4,6)-(4,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (18...19) = "b"
+ │ │ │ │ ├── message_loc: (4,6)-(4,7) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "b"
- │ │ │ ├── closing_loc: (19...20) = ")"
+ │ │ │ ├── closing_loc: (4,7)-(4,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "==="
- │ │ ├── call_operator_loc: (20...21) = "."
- │ │ ├── message_loc: (21...22) = "c"
+ │ │ ├── call_operator_loc: (4,8)-(4,9) = "."
+ │ │ ├── message_loc: (4,9)-(4,10) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -72,15 +72,15 @@
│ │ ├── flags: ∅
│ │ └── name: "c"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (23...25) = "=="
+ │ ├── message_loc: (4,11)-(4,13) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (26...27))
+ │ │ @ ArgumentsNode (location: (4,14)-(4,15))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (26...27))
+ │ │ └── @ CallNode (location: (4,14)-(4,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (26...27) = "d"
+ │ │ ├── message_loc: (4,14)-(4,15) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -91,12 +91,12 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=="
- └── @ CallNode (location: (29...44))
+ └── @ CallNode (location: (6,0)-(6,15))
├── receiver:
- │ @ CallNode (location: (29...30))
+ │ @ CallNode (location: (6,0)-(6,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...30) = "a"
+ │ ├── message_loc: (6,0)-(6,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -104,50 +104,50 @@
│ ├── flags: variable_call
│ └── name: "a"
├── call_operator_loc: ∅
- ├── message_loc: (31...33) = "=="
+ ├── message_loc: (6,2)-(6,4) = "=="
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (34...44))
+ │ @ ArgumentsNode (location: (6,5)-(6,15))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (34...44))
+ │ └── @ CallNode (location: (6,5)-(6,15))
│ ├── receiver:
- │ │ @ CallNode (location: (34...37))
+ │ │ @ CallNode (location: (6,5)-(6,8))
│ │ ├── receiver:
- │ │ │ @ CallNode (location: (34...35))
+ │ │ │ @ CallNode (location: (6,5)-(6,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (34...35) = "d"
+ │ │ │ ├── message_loc: (6,5)-(6,6) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "d"
- │ │ ├── call_operator_loc: (35...36) = "."
- │ │ ├── message_loc: (36...37) = "c"
+ │ │ ├── call_operator_loc: (6,6)-(6,7) = "."
+ │ │ ├── message_loc: (6,7)-(6,8) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "c"
- │ ├── call_operator_loc: (37...38) = "."
- │ ├── message_loc: (38...41) = "==="
- │ ├── opening_loc: (41...42) = "("
+ │ ├── call_operator_loc: (6,8)-(6,9) = "."
+ │ ├── message_loc: (6,9)-(6,12) = "==="
+ │ ├── opening_loc: (6,12)-(6,13) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (42...43))
+ │ │ @ ArgumentsNode (location: (6,13)-(6,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (42...43))
+ │ │ └── @ CallNode (location: (6,13)-(6,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...43) = "c"
+ │ │ ├── message_loc: (6,13)-(6,14) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "c"
- │ ├── closing_loc: (43...44) = ")"
+ │ ├── closing_loc: (6,14)-(6,15) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "==="
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/undef.txt b/test/yarp/snapshots/unparser/corpus/semantic/undef.txt
index a8939e9892..ec7eb7ad3e 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/undef.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/undef.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(2,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(2,14))
└── body: (length: 2)
- ├── @ UndefNode (location: (0...9))
+ ├── @ UndefNode (location: (1,0)-(1,9))
│ ├── names: (length: 1)
- │ │ └── @ SymbolNode (location: (6...9))
+ │ │ └── @ SymbolNode (location: (1,6)-(1,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (6...9) = "foo"
+ │ │ ├── value_loc: (1,6)-(1,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── keyword_loc: (0...5) = "undef"
- └── @ UndefNode (location: (10...24))
+ │ └── keyword_loc: (1,0)-(1,5) = "undef"
+ └── @ UndefNode (location: (2,0)-(2,14))
├── names: (length: 2)
- │ ├── @ SymbolNode (location: (16...19))
+ │ ├── @ SymbolNode (location: (2,6)-(2,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (16...19) = "foo"
+ │ │ ├── value_loc: (2,6)-(2,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── @ SymbolNode (location: (21...24))
+ │ └── @ SymbolNode (location: (2,11)-(2,14))
│ ├── opening_loc: ∅
- │ ├── value_loc: (21...24) = "bar"
+ │ ├── value_loc: (2,11)-(2,14) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- └── keyword_loc: (10...15) = "undef"
+ └── keyword_loc: (2,0)-(2,5) = "undef"
diff --git a/test/yarp/snapshots/unparser/corpus/semantic/while.txt b/test/yarp/snapshots/unparser/corpus/semantic/while.txt
index 5a0c56029e..f723dc6305 100644
--- a/test/yarp/snapshots/unparser/corpus/semantic/while.txt
+++ b/test/yarp/snapshots/unparser/corpus/semantic/while.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...188))
+@ ProgramNode (location: (1,0)-(25,3))
├── locals: [:foo, :a]
└── statements:
- @ StatementsNode (location: (0...188))
+ @ StatementsNode (location: (1,0)-(25,3))
└── body: (length: 7)
- ├── @ UntilNode (location: (0...13))
- │ ├── keyword_loc: (2...7) = "until"
+ ├── @ UntilNode (location: (1,0)-(1,13))
+ │ ├── keyword_loc: (1,2)-(1,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (8...13))
+ │ │ @ CallNode (location: (1,8)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...10) = "b?"
+ │ │ ├── message_loc: (1,8)-(1,10) = "b?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (11...13))
+ │ │ │ @ BlockNode (location: (1,11)-(1,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (11...12) = "{"
- │ │ │ └── closing_loc: (12...13) = "}"
+ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
+ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ ├── flags: ∅
│ │ └── name: "b?"
│ ├── statements:
- │ │ @ StatementsNode (location: (0...1))
+ │ │ @ StatementsNode (location: (1,0)-(1,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (0...1))
+ │ │ └── @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -37,33 +37,33 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ └── flags: ∅
- ├── @ UntilNode (location: (15...34))
- │ ├── keyword_loc: (15...20) = "until"
- │ ├── closing_loc: (31...34) = "end"
+ ├── @ UntilNode (location: (3,0)-(5,3))
+ │ ├── keyword_loc: (3,0)-(3,5) = "until"
+ │ ├── closing_loc: (5,0)-(5,3) = "end"
│ ├── predicate:
- │ │ @ CallNode (location: (21...26))
+ │ │ @ CallNode (location: (3,6)-(3,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...23) = "b?"
+ │ │ ├── message_loc: (3,6)-(3,8) = "b?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (24...26))
+ │ │ │ @ BlockNode (location: (3,9)-(3,11))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (24...25) = "{"
- │ │ │ └── closing_loc: (25...26) = "}"
+ │ │ │ ├── opening_loc: (3,9)-(3,10) = "{"
+ │ │ │ └── closing_loc: (3,10)-(3,11) = "}"
│ │ ├── flags: ∅
│ │ └── name: "b?"
│ ├── statements:
- │ │ @ StatementsNode (location: (29...30))
+ │ │ @ StatementsNode (location: (4,2)-(4,3))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (29...30))
+ │ │ └── @ CallNode (location: (4,2)-(4,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (29...30) = "a"
+ │ │ ├── message_loc: (4,2)-(4,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -71,43 +71,43 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ └── flags: ∅
- ├── @ WhileNode (location: (36...55))
- │ ├── keyword_loc: (46...51) = "while"
+ ├── @ WhileNode (location: (7,0)-(7,19))
+ │ ├── keyword_loc: (7,10)-(7,15) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ LocalVariableReadNode (location: (52...55))
+ │ │ @ LocalVariableReadNode (location: (7,16)-(7,19))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── statements:
- │ │ @ StatementsNode (location: (36...45))
+ │ │ @ StatementsNode (location: (7,0)-(7,9))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (36...45))
+ │ │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9))
│ │ ├── name: :foo
│ │ ├── depth: 0
- │ │ ├── name_loc: (36...39) = "foo"
+ │ │ ├── name_loc: (7,0)-(7,3) = "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (42...45))
+ │ │ │ @ CallNode (location: (7,6)-(7,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (42...45) = "bar"
+ │ │ │ ├── message_loc: (7,6)-(7,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (40...41) = "="
+ │ │ └── operator_loc: (7,4)-(7,5) = "="
│ └── flags: ∅
- ├── @ UntilNode (location: (57...75))
- │ ├── keyword_loc: (59...64) = "until"
+ ├── @ UntilNode (location: (9,0)-(9,18))
+ │ ├── keyword_loc: (9,2)-(9,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ AndNode (location: (65...75))
+ │ │ @ AndNode (location: (9,8)-(9,18))
│ │ ├── left:
- │ │ │ @ CallNode (location: (65...66))
+ │ │ │ @ CallNode (location: (9,8)-(9,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (65...66) = "b"
+ │ │ │ ├── message_loc: (9,8)-(9,9) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -115,30 +115,30 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
│ │ ├── right:
- │ │ │ @ CallNode (location: (70...75))
+ │ │ │ @ CallNode (location: (9,13)-(9,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (70...71) = "a"
+ │ │ │ ├── message_loc: (9,13)-(9,14) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (72...75))
+ │ │ │ │ @ BlockNode (location: (9,15)-(9,18))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (72...73) = "{"
- │ │ │ │ └── closing_loc: (74...75) = "}"
+ │ │ │ │ ├── opening_loc: (9,15)-(9,16) = "{"
+ │ │ │ │ └── closing_loc: (9,17)-(9,18) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "a"
- │ │ └── operator_loc: (67...69) = "&&"
+ │ │ └── operator_loc: (9,10)-(9,12) = "&&"
│ ├── statements:
- │ │ @ StatementsNode (location: (57...58))
+ │ │ @ StatementsNode (location: (9,0)-(9,1))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (57...58))
+ │ │ └── @ CallNode (location: (9,0)-(9,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (57...58) = "a"
+ │ │ ├── message_loc: (9,0)-(9,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -146,131 +146,131 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ └── flags: ∅
- ├── @ WhileNode (location: (77...96))
- │ ├── keyword_loc: (77...82) = "while"
- │ ├── closing_loc: (93...96) = "end"
+ ├── @ WhileNode (location: (11,0)-(13,3))
+ │ ├── keyword_loc: (11,0)-(11,5) = "while"
+ │ ├── closing_loc: (13,0)-(13,3) = "end"
│ ├── predicate:
- │ │ @ LocalVariableWriteNode (location: (83...88))
+ │ │ @ LocalVariableWriteNode (location: (11,6)-(11,11))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (83...84) = "a"
+ │ │ ├── name_loc: (11,6)-(11,7) = "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (87...88))
+ │ │ │ @ CallNode (location: (11,10)-(11,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (87...88) = "b"
+ │ │ │ ├── message_loc: (11,10)-(11,11) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "b"
- │ │ └── operator_loc: (85...86) = "="
+ │ │ └── operator_loc: (11,8)-(11,9) = "="
│ ├── statements:
- │ │ @ StatementsNode (location: (91...92))
+ │ │ @ StatementsNode (location: (12,2)-(12,3))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (91...92))
+ │ │ └── @ LocalVariableReadNode (location: (12,2)-(12,3))
│ │ ├── name: :a
│ │ └── depth: 0
│ └── flags: ∅
- ├── @ UntilNode (location: (98...130))
- │ ├── keyword_loc: (100...105) = "until"
+ ├── @ UntilNode (location: (15,0)-(18,3))
+ │ ├── keyword_loc: (15,2)-(15,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (106...130))
+ │ │ @ CallNode (location: (15,8)-(18,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (106...107) = "b"
- │ │ ├── opening_loc: (107...108) = "("
+ │ │ ├── message_loc: (15,8)-(15,9) = "b"
+ │ │ ├── opening_loc: (15,9)-(15,10) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (108...114))
+ │ │ │ @ ArgumentsNode (location: (15,10)-(15,16))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (108...114))
+ │ │ │ └── @ StringNode (location: (15,10)-(15,16))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (108...114) = "<<-FOO"
- │ │ │ ├── content_loc: (119...119) = ""
- │ │ │ ├── closing_loc: (119...123) = "FOO\n"
+ │ │ │ ├── opening_loc: (15,10)-(15,16) = "<<-FOO"
+ │ │ │ ├── content_loc: (16,0)-(15,0) = ""
+ │ │ │ ├── closing_loc: (16,0)-(16,0) = "FOO\n"
│ │ │ └── unescaped: ""
- │ │ ├── closing_loc: (114...115) = ")"
+ │ │ ├── closing_loc: (15,16)-(15,17) = ")"
│ │ ├── block:
- │ │ │ @ BlockNode (location: (116...130))
+ │ │ │ @ BlockNode (location: (15,18)-(18,3))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (125...126))
+ │ │ │ │ @ StatementsNode (location: (17,2)-(17,3))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (125...126))
+ │ │ │ │ └── @ CallNode (location: (17,2)-(17,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (125...126) = "c"
+ │ │ │ │ ├── message_loc: (17,2)-(17,3) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "c"
- │ │ │ ├── opening_loc: (116...118) = "do"
- │ │ │ └── closing_loc: (127...130) = "end"
+ │ │ │ ├── opening_loc: (15,18)-(15,20) = "do"
+ │ │ │ └── closing_loc: (18,0)-(18,3) = "end"
│ │ ├── flags: ∅
│ │ └── name: "b"
│ ├── statements:
- │ │ @ StatementsNode (location: (98...99))
+ │ │ @ StatementsNode (location: (15,0)-(15,1))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (98...99))
+ │ │ └── @ LocalVariableReadNode (location: (15,0)-(15,1))
│ │ ├── name: :a
│ │ └── depth: 0
│ └── flags: ∅
- └── @ ModuleNode (location: (132...188))
+ └── @ ModuleNode (location: (20,0)-(25,3))
├── locals: [:foo]
- ├── module_keyword_loc: (132...138) = "module"
+ ├── module_keyword_loc: (20,0)-(20,6) = "module"
├── constant_path:
- │ @ ConstantReadNode (location: (139...140))
+ │ @ ConstantReadNode (location: (20,7)-(20,8))
│ └── name: :A
├── body:
- │ @ StatementsNode (location: (143...184))
+ │ @ StatementsNode (location: (21,2)-(24,5))
│ └── body: (length: 2)
- │ ├── @ LocalVariableWriteNode (location: (143...152))
+ │ ├── @ LocalVariableWriteNode (location: (21,2)-(21,11))
│ │ ├── name: :foo
│ │ ├── depth: 0
- │ │ ├── name_loc: (143...146) = "foo"
+ │ │ ├── name_loc: (21,2)-(21,5) = "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (149...152))
+ │ │ │ @ CallNode (location: (21,8)-(21,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (149...152) = "exp"
+ │ │ │ ├── message_loc: (21,8)-(21,11) = "exp"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "exp"
- │ │ └── operator_loc: (147...148) = "="
- │ └── @ WhileNode (location: (155...184))
- │ ├── keyword_loc: (155...160) = "while"
- │ ├── closing_loc: (181...184) = "end"
+ │ │ └── operator_loc: (21,6)-(21,7) = "="
+ │ └── @ WhileNode (location: (22,2)-(24,5))
+ │ ├── keyword_loc: (22,2)-(22,7) = "while"
+ │ ├── closing_loc: (24,2)-(24,5) = "end"
│ ├── predicate:
- │ │ @ LocalVariableReadNode (location: (161...164))
+ │ │ @ LocalVariableReadNode (location: (22,8)-(22,11))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── statements:
- │ │ @ StatementsNode (location: (169...178))
+ │ │ @ StatementsNode (location: (23,4)-(23,13))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (169...178))
+ │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13))
│ │ ├── name: :foo
│ │ ├── depth: 0
- │ │ ├── name_loc: (169...172) = "foo"
+ │ │ ├── name_loc: (23,4)-(23,7) = "foo"
│ │ ├── value:
- │ │ │ @ CallNode (location: (175...178))
+ │ │ │ @ CallNode (location: (23,10)-(23,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (175...178) = "bar"
+ │ │ │ ├── message_loc: (23,10)-(23,13) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── operator_loc: (173...174) = "="
+ │ │ └── operator_loc: (23,8)-(23,9) = "="
│ └── flags: ∅
- ├── end_keyword_loc: (185...188) = "end"
+ ├── end_keyword_loc: (25,0)-(25,3) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/until.txt b/test/yarp/snapshots/until.txt
index 9073dfe725..e707dad95a 100644
--- a/test/yarp/snapshots/until.txt
+++ b/test/yarp/snapshots/until.txt
@@ -1,74 +1,74 @@
-@ ProgramNode (location: (0...109))
+@ ProgramNode (location: (1,0)-(11,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...109))
+ @ StatementsNode (location: (1,0)-(11,21))
└── body: (length: 6)
- ├── @ UntilNode (location: (0...18))
- │ ├── keyword_loc: (0...5) = "until"
- │ ├── closing_loc: (15...18) = "end"
+ ├── @ UntilNode (location: (1,0)-(1,18))
+ │ ├── keyword_loc: (1,0)-(1,5) = "until"
+ │ ├── closing_loc: (1,15)-(1,18) = "end"
│ ├── predicate:
- │ │ @ TrueNode (location: (6...10))
+ │ │ @ TrueNode (location: (1,6)-(1,10))
│ ├── statements:
- │ │ @ StatementsNode (location: (12...13))
+ │ │ @ StatementsNode (location: (1,12)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (12...13))
+ │ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
│ └── flags: ∅
- ├── @ UntilNode (location: (20...32))
- │ ├── keyword_loc: (22...27) = "until"
+ ├── @ UntilNode (location: (3,0)-(3,12))
+ │ ├── keyword_loc: (3,2)-(3,7) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (28...32))
+ │ │ @ TrueNode (location: (3,8)-(3,12))
│ ├── statements:
- │ │ @ StatementsNode (location: (20...21))
+ │ │ @ StatementsNode (location: (3,0)-(3,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (20...21))
+ │ │ └── @ IntegerNode (location: (3,0)-(3,1))
│ │ └── flags: decimal
│ └── flags: ∅
- ├── @ UntilNode (location: (34...50))
- │ ├── keyword_loc: (40...45) = "until"
+ ├── @ UntilNode (location: (5,0)-(5,16))
+ │ ├── keyword_loc: (5,6)-(5,11) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (46...50))
+ │ │ @ TrueNode (location: (5,12)-(5,16))
│ ├── statements:
- │ │ @ StatementsNode (location: (34...39))
+ │ │ @ StatementsNode (location: (5,0)-(5,5))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (34...39))
+ │ │ └── @ BreakNode (location: (5,0)-(5,5))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (34...39) = "break"
+ │ │ └── keyword_loc: (5,0)-(5,5) = "break"
│ └── flags: ∅
- ├── @ UntilNode (location: (52...67))
- │ ├── keyword_loc: (57...62) = "until"
+ ├── @ UntilNode (location: (7,0)-(7,15))
+ │ ├── keyword_loc: (7,5)-(7,10) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (63...67))
+ │ │ @ TrueNode (location: (7,11)-(7,15))
│ ├── statements:
- │ │ @ StatementsNode (location: (52...56))
+ │ │ @ StatementsNode (location: (7,0)-(7,4))
│ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (52...56))
+ │ │ └── @ NextNode (location: (7,0)-(7,4))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (52...56) = "next"
+ │ │ └── keyword_loc: (7,0)-(7,4) = "next"
│ └── flags: ∅
- ├── @ UntilNode (location: (69...86))
- │ ├── keyword_loc: (76...81) = "until"
+ ├── @ UntilNode (location: (9,0)-(9,17))
+ │ ├── keyword_loc: (9,7)-(9,12) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (82...86))
+ │ │ @ TrueNode (location: (9,13)-(9,17))
│ ├── statements:
- │ │ @ StatementsNode (location: (69...75))
+ │ │ @ StatementsNode (location: (9,0)-(9,6))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (69...75))
- │ │ ├── keyword_loc: (69...75) = "return"
+ │ │ └── @ ReturnNode (location: (9,0)-(9,6))
+ │ │ ├── keyword_loc: (9,0)-(9,6) = "return"
│ │ └── arguments: ∅
│ └── flags: ∅
- └── @ UntilNode (location: (88...109))
- ├── keyword_loc: (99...104) = "until"
+ └── @ UntilNode (location: (11,0)-(11,21))
+ ├── keyword_loc: (11,11)-(11,16) = "until"
├── closing_loc: ∅
├── predicate:
- │ @ CallNode (location: (105...109))
+ │ @ CallNode (location: (11,17)-(11,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (105...109) = "bar?"
+ │ ├── message_loc: (11,17)-(11,21) = "bar?"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -76,24 +76,24 @@
│ ├── flags: ∅
│ └── name: "bar?"
├── statements:
- │ @ StatementsNode (location: (88...98))
+ │ @ StatementsNode (location: (11,0)-(11,10))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (88...98))
+ │ └── @ CallNode (location: (11,0)-(11,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (88...91) = "foo"
+ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (92...98))
+ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (92...94))
- │ │ │ ├── opening_loc: (92...93) = ":"
- │ │ │ ├── value_loc: (93...94) = "a"
+ │ │ ├── @ 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: (96...98))
- │ │ ├── opening_loc: (96...97) = ":"
- │ │ ├── value_loc: (97...98) = "b"
+ │ │ └── @ 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: ∅
diff --git a/test/yarp/snapshots/variables.txt b/test/yarp/snapshots/variables.txt
index 3782308b5e..8366c5b9e4 100644
--- a/test/yarp/snapshots/variables.txt
+++ b/test/yarp/snapshots/variables.txt
@@ -1,322 +1,322 @@
-@ ProgramNode (location: (0...293))
+@ ProgramNode (location: (1,0)-(45,9))
├── locals: [:abc, :foo, :bar, :baz]
└── statements:
- @ StatementsNode (location: (0...293))
+ @ StatementsNode (location: (1,0)-(45,9))
└── body: (length: 24)
- ├── @ ClassVariableReadNode (location: (0...5))
+ ├── @ ClassVariableReadNode (location: (1,0)-(1,5))
│ └── name: :@@abc
- ├── @ ClassVariableWriteNode (location: (7...16))
+ ├── @ ClassVariableWriteNode (location: (3,0)-(3,9))
│ ├── name: :@@abc
- │ ├── name_loc: (7...12) = "@@abc"
+ │ ├── name_loc: (3,0)-(3,5) = "@@abc"
│ ├── value:
- │ │ @ IntegerNode (location: (15...16))
+ │ │ @ IntegerNode (location: (3,8)-(3,9))
│ │ └── flags: decimal
- │ └── operator_loc: (13...14) = "="
- ├── @ MultiWriteNode (location: (18...34))
+ │ └── operator_loc: (3,6)-(3,7) = "="
+ ├── @ MultiWriteNode (location: (5,0)-(5,16))
│ ├── targets: (length: 2)
- │ │ ├── @ ClassVariableTargetNode (location: (18...23))
+ │ │ ├── @ ClassVariableTargetNode (location: (5,0)-(5,5))
│ │ │ └── name: :@@foo
- │ │ └── @ ClassVariableTargetNode (location: (25...30))
+ │ │ └── @ ClassVariableTargetNode (location: (5,7)-(5,12))
│ │ └── name: :@@bar
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (31...32) = "="
+ │ ├── operator_loc: (5,13)-(5,14) = "="
│ └── value:
- │ @ IntegerNode (location: (33...34))
+ │ @ IntegerNode (location: (5,15)-(5,16))
│ └── flags: decimal
- ├── @ ClassVariableWriteNode (location: (36...48))
+ ├── @ ClassVariableWriteNode (location: (7,0)-(7,12))
│ ├── name: :@@foo
- │ ├── name_loc: (36...41) = "@@foo"
+ │ ├── name_loc: (7,0)-(7,5) = "@@foo"
│ ├── value:
- │ │ @ ArrayNode (location: (44...48))
+ │ │ @ ArrayNode (location: (7,8)-(7,12))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (44...45))
+ │ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (47...48))
+ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (42...43) = "="
- ├── @ GlobalVariableWriteNode (location: (50...58))
+ │ └── operator_loc: (7,6)-(7,7) = "="
+ ├── @ GlobalVariableWriteNode (location: (9,0)-(9,8))
│ ├── name: :$abc
- │ ├── name_loc: (50...54) = "$abc"
+ │ ├── name_loc: (9,0)-(9,4) = "$abc"
│ ├── value:
- │ │ @ IntegerNode (location: (57...58))
+ │ │ @ IntegerNode (location: (9,7)-(9,8))
│ │ └── flags: decimal
- │ └── operator_loc: (55...56) = "="
- ├── @ GlobalVariableReadNode (location: (60...64))
+ │ └── operator_loc: (9,5)-(9,6) = "="
+ ├── @ GlobalVariableReadNode (location: (11,0)-(11,4))
│ └── name: :$abc
- ├── @ InstanceVariableReadNode (location: (66...70))
+ ├── @ InstanceVariableReadNode (location: (13,0)-(13,4))
│ └── name: :@abc
- ├── @ InstanceVariableWriteNode (location: (72...80))
+ ├── @ InstanceVariableWriteNode (location: (15,0)-(15,8))
│ ├── name: :@abc
- │ ├── name_loc: (72...76) = "@abc"
+ │ ├── name_loc: (15,0)-(15,4) = "@abc"
│ ├── value:
- │ │ @ IntegerNode (location: (79...80))
+ │ │ @ IntegerNode (location: (15,7)-(15,8))
│ │ └── flags: decimal
- │ └── operator_loc: (77...78) = "="
- ├── @ CallNode (location: (82...83))
+ │ └── operator_loc: (15,5)-(15,6) = "="
+ ├── @ CallNode (location: (17,0)-(17,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (82...83) = "a"
+ │ ├── message_loc: (17,0)-(17,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── @ LocalVariableWriteNode (location: (85...92))
+ ├── @ LocalVariableWriteNode (location: (19,0)-(19,7))
│ ├── name: :abc
│ ├── depth: 0
- │ ├── name_loc: (85...88) = "abc"
+ │ ├── name_loc: (19,0)-(19,3) = "abc"
│ ├── value:
- │ │ @ IntegerNode (location: (91...92))
+ │ │ @ IntegerNode (location: (19,6)-(19,7))
│ │ └── flags: decimal
- │ └── operator_loc: (89...90) = "="
- ├── @ MultiWriteNode (location: (94...108))
+ │ └── operator_loc: (19,4)-(19,5) = "="
+ ├── @ MultiWriteNode (location: (21,0)-(21,14))
│ ├── targets: (length: 2)
- │ │ ├── @ GlobalVariableTargetNode (location: (94...98))
+ │ │ ├── @ GlobalVariableTargetNode (location: (21,0)-(21,4))
│ │ │ └── name: :$foo
- │ │ └── @ GlobalVariableTargetNode (location: (100...104))
+ │ │ └── @ GlobalVariableTargetNode (location: (21,6)-(21,10))
│ │ └── name: :$bar
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (105...106) = "="
+ │ ├── operator_loc: (21,11)-(21,12) = "="
│ └── value:
- │ @ IntegerNode (location: (107...108))
+ │ @ IntegerNode (location: (21,13)-(21,14))
│ └── flags: decimal
- ├── @ GlobalVariableWriteNode (location: (110...121))
+ ├── @ GlobalVariableWriteNode (location: (23,0)-(23,11))
│ ├── name: :$foo
- │ ├── name_loc: (110...114) = "$foo"
+ │ ├── name_loc: (23,0)-(23,4) = "$foo"
│ ├── value:
- │ │ @ ArrayNode (location: (117...121))
+ │ │ @ ArrayNode (location: (23,7)-(23,11))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (117...118))
+ │ │ │ ├── @ IntegerNode (location: (23,7)-(23,8))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (120...121))
+ │ │ │ └── @ IntegerNode (location: (23,10)-(23,11))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (115...116) = "="
- ├── @ MultiWriteNode (location: (123...137))
+ │ └── operator_loc: (23,5)-(23,6) = "="
+ ├── @ MultiWriteNode (location: (25,0)-(25,14))
│ ├── targets: (length: 2)
- │ │ ├── @ InstanceVariableTargetNode (location: (123...127))
+ │ │ ├── @ InstanceVariableTargetNode (location: (25,0)-(25,4))
│ │ │ └── name: :@foo
- │ │ └── @ InstanceVariableTargetNode (location: (129...133))
+ │ │ └── @ InstanceVariableTargetNode (location: (25,6)-(25,10))
│ │ └── name: :@bar
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (134...135) = "="
+ │ ├── operator_loc: (25,11)-(25,12) = "="
│ └── value:
- │ @ IntegerNode (location: (136...137))
+ │ @ IntegerNode (location: (25,13)-(25,14))
│ └── flags: decimal
- ├── @ InstanceVariableWriteNode (location: (139...150))
+ ├── @ InstanceVariableWriteNode (location: (27,0)-(27,11))
│ ├── name: :@foo
- │ ├── name_loc: (139...143) = "@foo"
+ │ ├── name_loc: (27,0)-(27,4) = "@foo"
│ ├── value:
- │ │ @ ArrayNode (location: (146...150))
+ │ │ @ ArrayNode (location: (27,7)-(27,11))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (146...147))
+ │ │ │ ├── @ IntegerNode (location: (27,7)-(27,8))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (149...150))
+ │ │ │ └── @ IntegerNode (location: (27,10)-(27,11))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (144...145) = "="
- ├── @ LocalVariableWriteNode (location: (152...159))
+ │ └── operator_loc: (27,5)-(27,6) = "="
+ ├── @ LocalVariableWriteNode (location: (29,0)-(29,7))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (152...155) = "foo"
+ │ ├── name_loc: (29,0)-(29,3) = "foo"
│ ├── value:
- │ │ @ IntegerNode (location: (158...159))
+ │ │ @ IntegerNode (location: (29,6)-(29,7))
│ │ └── flags: decimal
- │ └── operator_loc: (156...157) = "="
- ├── @ LocalVariableWriteNode (location: (161...171))
+ │ └── operator_loc: (29,4)-(29,5) = "="
+ ├── @ LocalVariableWriteNode (location: (29,9)-(29,19))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (161...164) = "foo"
+ │ ├── name_loc: (29,9)-(29,12) = "foo"
│ ├── value:
- │ │ @ ArrayNode (location: (167...171))
+ │ │ @ ArrayNode (location: (29,15)-(29,19))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (167...168))
+ │ │ │ ├── @ IntegerNode (location: (29,15)-(29,16))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (170...171))
+ │ │ │ └── @ IntegerNode (location: (29,18)-(29,19))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (165...166) = "="
- ├── @ LocalVariableWriteNode (location: (173...183))
+ │ └── operator_loc: (29,13)-(29,14) = "="
+ ├── @ LocalVariableWriteNode (location: (31,0)-(31,10))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (173...176) = "foo"
+ │ ├── name_loc: (31,0)-(31,3) = "foo"
│ ├── value:
- │ │ @ ArrayNode (location: (179...183))
+ │ │ @ ArrayNode (location: (31,6)-(31,10))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (179...180))
+ │ │ │ ├── @ IntegerNode (location: (31,6)-(31,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (182...183))
+ │ │ │ └── @ IntegerNode (location: (31,9)-(31,10))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (177...178) = "="
- ├── @ MultiWriteNode (location: (185...198))
+ │ └── operator_loc: (31,4)-(31,5) = "="
+ ├── @ MultiWriteNode (location: (33,0)-(33,13))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (185...188))
+ │ │ ├── @ LocalVariableTargetNode (location: (33,0)-(33,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (190...191))
- │ │ ├── operator_loc: (190...191) = "*"
+ │ │ └── @ SplatNode (location: (33,5)-(33,6))
+ │ │ ├── operator_loc: (33,5)-(33,6) = "*"
│ │ └── expression: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (192...193) = "="
+ │ ├── operator_loc: (33,7)-(33,8) = "="
│ └── value:
- │ @ ArrayNode (location: (194...198))
+ │ @ ArrayNode (location: (33,9)-(33,13))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (194...195))
+ │ │ ├── @ IntegerNode (location: (33,9)-(33,10))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (197...198))
+ │ │ └── @ IntegerNode (location: (33,12)-(33,13))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ MultiWriteNode (location: (200...211))
+ ├── @ MultiWriteNode (location: (35,0)-(35,11))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (200...203))
+ │ │ ├── @ LocalVariableTargetNode (location: (35,0)-(35,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (203...204))
- │ │ ├── operator_loc: (203...204) = ","
+ │ │ └── @ SplatNode (location: (35,3)-(35,4))
+ │ │ ├── operator_loc: (35,3)-(35,4) = ","
│ │ └── expression: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (205...206) = "="
+ │ ├── operator_loc: (35,5)-(35,6) = "="
│ └── value:
- │ @ ArrayNode (location: (207...211))
+ │ @ ArrayNode (location: (35,7)-(35,11))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (207...208))
+ │ │ ├── @ IntegerNode (location: (35,7)-(35,8))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (210...211))
+ │ │ └── @ IntegerNode (location: (35,10)-(35,11))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ MultiWriteNode (location: (213...229))
+ ├── @ MultiWriteNode (location: (37,0)-(37,16))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (213...216))
+ │ │ ├── @ LocalVariableTargetNode (location: (37,0)-(37,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (218...222))
- │ │ ├── operator_loc: (218...219) = "*"
+ │ │ └── @ SplatNode (location: (37,5)-(37,9))
+ │ │ ├── operator_loc: (37,5)-(37,6) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (219...222))
+ │ │ @ LocalVariableTargetNode (location: (37,6)-(37,9))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (223...224) = "="
+ │ ├── operator_loc: (37,10)-(37,11) = "="
│ └── value:
- │ @ ArrayNode (location: (225...229))
+ │ @ ArrayNode (location: (37,12)-(37,16))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (225...226))
+ │ │ ├── @ IntegerNode (location: (37,12)-(37,13))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (228...229))
+ │ │ └── @ IntegerNode (location: (37,15)-(37,16))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ MultiWriteNode (location: (231...258))
+ ├── @ MultiWriteNode (location: (39,0)-(39,27))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (231...234))
+ │ │ ├── @ LocalVariableTargetNode (location: (39,0)-(39,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ MultiTargetNode (location: (236...246))
+ │ │ └── @ MultiTargetNode (location: (39,5)-(39,15))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (237...240))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (39,6)-(39,9))
│ │ │ │ ├── name: :bar
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (242...245))
+ │ │ │ └── @ LocalVariableTargetNode (location: (39,11)-(39,14))
│ │ │ ├── name: :baz
│ │ │ └── depth: 0
- │ │ ├── lparen_loc: (236...237) = "("
- │ │ └── rparen_loc: (245...246) = ")"
+ │ │ ├── lparen_loc: (39,5)-(39,6) = "("
+ │ │ └── rparen_loc: (39,14)-(39,15) = ")"
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (247...248) = "="
+ │ ├── operator_loc: (39,16)-(39,17) = "="
│ └── value:
- │ @ ArrayNode (location: (249...258))
+ │ @ ArrayNode (location: (39,18)-(39,27))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (249...250))
+ │ │ ├── @ IntegerNode (location: (39,18)-(39,19))
│ │ │ └── flags: decimal
- │ │ └── @ ArrayNode (location: (252...258))
+ │ │ └── @ ArrayNode (location: (39,21)-(39,27))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (253...254))
+ │ │ │ ├── @ IntegerNode (location: (39,22)-(39,23))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (256...257))
+ │ │ │ └── @ IntegerNode (location: (39,25)-(39,26))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (252...253) = "["
- │ │ └── closing_loc: (257...258) = "]"
+ │ │ ├── opening_loc: (39,21)-(39,22) = "["
+ │ │ └── closing_loc: (39,26)-(39,27) = "]"
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ LocalVariableWriteNode (location: (260...270))
+ ├── @ LocalVariableWriteNode (location: (41,0)-(41,10))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (260...263) = "foo"
+ │ ├── name_loc: (41,0)-(41,3) = "foo"
│ ├── value:
- │ │ @ ArrayNode (location: (266...270))
+ │ │ @ ArrayNode (location: (41,6)-(41,10))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SplatNode (location: (266...270))
- │ │ │ ├── operator_loc: (266...267) = "*"
+ │ │ │ └── @ SplatNode (location: (41,6)-(41,10))
+ │ │ │ ├── operator_loc: (41,6)-(41,7) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableReadNode (location: (267...270))
+ │ │ │ @ LocalVariableReadNode (location: (41,7)-(41,10))
│ │ │ ├── name: :bar
│ │ │ └── depth: 0
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (264...265) = "="
- ├── @ ConstantWriteNode (location: (272...282))
+ │ └── operator_loc: (41,4)-(41,5) = "="
+ ├── @ ConstantWriteNode (location: (43,0)-(43,10))
│ ├── name: :Foo
- │ ├── name_loc: (272...275) = "Foo"
+ │ ├── name_loc: (43,0)-(43,3) = "Foo"
│ ├── value:
- │ │ @ ArrayNode (location: (278...282))
+ │ │ @ ArrayNode (location: (43,6)-(43,10))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (278...279))
+ │ │ │ ├── @ IntegerNode (location: (43,6)-(43,7))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (281...282))
+ │ │ │ └── @ IntegerNode (location: (43,9)-(43,10))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (276...277) = "="
- └── @ ParenthesesNode (location: (284...293))
+ │ └── operator_loc: (43,4)-(43,5) = "="
+ └── @ ParenthesesNode (location: (45,0)-(45,9))
├── body:
- │ @ StatementsNode (location: (285...292))
+ │ @ StatementsNode (location: (45,1)-(45,8))
│ └── body: (length: 3)
- │ ├── @ CallNode (location: (285...286))
+ │ ├── @ CallNode (location: (45,1)-(45,2))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (285...286) = "a"
+ │ │ ├── message_loc: (45,1)-(45,2) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── @ CallNode (location: (288...289))
+ │ ├── @ CallNode (location: (45,4)-(45,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (288...289) = "b"
+ │ │ ├── message_loc: (45,4)-(45,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "b"
- │ └── @ CallNode (location: (291...292))
+ │ └── @ CallNode (location: (45,7)-(45,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (291...292) = "c"
+ │ ├── message_loc: (45,7)-(45,8) = "c"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "c"
- ├── opening_loc: (284...285) = "("
- └── closing_loc: (292...293) = ")"
+ ├── opening_loc: (45,0)-(45,1) = "("
+ └── closing_loc: (45,8)-(45,9) = ")"
diff --git a/test/yarp/snapshots/while.txt b/test/yarp/snapshots/while.txt
index 6dd96cd403..0ad9740324 100644
--- a/test/yarp/snapshots/while.txt
+++ b/test/yarp/snapshots/while.txt
@@ -1,74 +1,74 @@
-@ ProgramNode (location: (0...314))
+@ ProgramNode (location: (1,0)-(19,52))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...314))
+ @ StatementsNode (location: (1,0)-(19,52))
└── body: (length: 10)
- ├── @ WhileNode (location: (0...18))
- │ ├── keyword_loc: (0...5) = "while"
- │ ├── closing_loc: (15...18) = "end"
+ ├── @ WhileNode (location: (1,0)-(1,18))
+ │ ├── keyword_loc: (1,0)-(1,5) = "while"
+ │ ├── closing_loc: (1,15)-(1,18) = "end"
│ ├── predicate:
- │ │ @ TrueNode (location: (6...10))
+ │ │ @ TrueNode (location: (1,6)-(1,10))
│ ├── statements:
- │ │ @ StatementsNode (location: (12...13))
+ │ │ @ StatementsNode (location: (1,12)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (12...13))
+ │ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
│ └── flags: ∅
- ├── @ WhileNode (location: (20...32))
- │ ├── keyword_loc: (22...27) = "while"
+ ├── @ WhileNode (location: (3,0)-(3,12))
+ │ ├── keyword_loc: (3,2)-(3,7) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (28...32))
+ │ │ @ TrueNode (location: (3,8)-(3,12))
│ ├── statements:
- │ │ @ StatementsNode (location: (20...21))
+ │ │ @ StatementsNode (location: (3,0)-(3,1))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (20...21))
+ │ │ └── @ IntegerNode (location: (3,0)-(3,1))
│ │ └── flags: decimal
│ └── flags: ∅
- ├── @ WhileNode (location: (34...50))
- │ ├── keyword_loc: (40...45) = "while"
+ ├── @ WhileNode (location: (5,0)-(5,16))
+ │ ├── keyword_loc: (5,6)-(5,11) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (46...50))
+ │ │ @ TrueNode (location: (5,12)-(5,16))
│ ├── statements:
- │ │ @ StatementsNode (location: (34...39))
+ │ │ @ StatementsNode (location: (5,0)-(5,5))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (34...39))
+ │ │ └── @ BreakNode (location: (5,0)-(5,5))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (34...39) = "break"
+ │ │ └── keyword_loc: (5,0)-(5,5) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (52...67))
- │ ├── keyword_loc: (57...62) = "while"
+ ├── @ WhileNode (location: (7,0)-(7,15))
+ │ ├── keyword_loc: (7,5)-(7,10) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (63...67))
+ │ │ @ TrueNode (location: (7,11)-(7,15))
│ ├── statements:
- │ │ @ StatementsNode (location: (52...56))
+ │ │ @ StatementsNode (location: (7,0)-(7,4))
│ │ └── body: (length: 1)
- │ │ └── @ NextNode (location: (52...56))
+ │ │ └── @ NextNode (location: (7,0)-(7,4))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (52...56) = "next"
+ │ │ └── keyword_loc: (7,0)-(7,4) = "next"
│ └── flags: ∅
- ├── @ WhileNode (location: (69...86))
- │ ├── keyword_loc: (76...81) = "while"
+ ├── @ WhileNode (location: (9,0)-(9,17))
+ │ ├── keyword_loc: (9,7)-(9,12) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ TrueNode (location: (82...86))
+ │ │ @ TrueNode (location: (9,13)-(9,17))
│ ├── statements:
- │ │ @ StatementsNode (location: (69...75))
+ │ │ @ StatementsNode (location: (9,0)-(9,6))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (69...75))
- │ │ ├── keyword_loc: (69...75) = "return"
+ │ │ └── @ ReturnNode (location: (9,0)-(9,6))
+ │ │ ├── keyword_loc: (9,0)-(9,6) = "return"
│ │ └── arguments: ∅
│ └── flags: ∅
- ├── @ WhileNode (location: (88...109))
- │ ├── keyword_loc: (99...104) = "while"
+ ├── @ WhileNode (location: (11,0)-(11,21))
+ │ ├── keyword_loc: (11,11)-(11,16) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
- │ │ @ CallNode (location: (105...109))
+ │ │ @ CallNode (location: (11,17)-(11,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (105...109) = "bar?"
+ │ │ ├── message_loc: (11,17)-(11,21) = "bar?"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -76,24 +76,24 @@
│ │ ├── flags: ∅
│ │ └── name: "bar?"
│ ├── statements:
- │ │ @ StatementsNode (location: (88...98))
+ │ │ @ StatementsNode (location: (11,0)-(11,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (88...98))
+ │ │ └── @ CallNode (location: (11,0)-(11,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (88...91) = "foo"
+ │ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (92...98))
+ │ │ │ @ ArgumentsNode (location: (11,4)-(11,10))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ SymbolNode (location: (92...94))
- │ │ │ │ ├── opening_loc: (92...93) = ":"
- │ │ │ │ ├── value_loc: (93...94) = "a"
+ │ │ │ ├── @ 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: (96...98))
- │ │ │ ├── opening_loc: (96...97) = ":"
- │ │ │ ├── value_loc: (97...98) = "b"
+ │ │ │ └── @ 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: ∅
@@ -101,38 +101,38 @@
│ │ ├── flags: ∅
│ │ └── name: "foo"
│ └── flags: ∅
- ├── @ WhileNode (location: (111...161))
- │ ├── keyword_loc: (111...116) = "while"
- │ ├── closing_loc: (158...161) = "end"
+ ├── @ WhileNode (location: (13,0)-(13,50))
+ │ ├── keyword_loc: (13,0)-(13,5) = "while"
+ │ ├── closing_loc: (13,47)-(13,50) = "end"
│ ├── predicate:
- │ │ @ DefNode (location: (117...149))
+ │ │ @ DefNode (location: (13,6)-(13,38))
│ │ ├── name: :foo
- │ │ ├── name_loc: (126...129) = "foo"
+ │ │ ├── name_loc: (13,15)-(13,18) = "foo"
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (121...125))
+ │ │ │ @ SelfNode (location: (13,10)-(13,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (130...144))
+ │ │ │ @ ParametersNode (location: (13,19)-(13,33))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (130...144))
+ │ │ │ │ └── @ OptionalParameterNode (location: (13,19)-(13,33))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (130...131) = "a"
- │ │ │ │ ├── operator_loc: (132...133) = "="
+ │ │ │ │ ├── name_loc: (13,19)-(13,20) = "a"
+ │ │ │ │ ├── operator_loc: (13,21)-(13,22) = "="
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (134...144))
+ │ │ │ │ @ CallNode (location: (13,23)-(13,33))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (134...137) = "tap"
+ │ │ │ │ ├── message_loc: (13,23)-(13,26) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (138...144))
+ │ │ │ │ │ @ BlockNode (location: (13,27)-(13,33))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (138...140) = "do"
- │ │ │ │ │ └── closing_loc: (141...144) = "end"
+ │ │ │ │ │ ├── opening_loc: (13,27)-(13,29) = "do"
+ │ │ │ │ │ └── closing_loc: (13,30)-(13,33) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
│ │ │ ├── rest: ∅
@@ -142,142 +142,142 @@
│ │ │ └── block: ∅
│ │ ├── body: ∅
│ │ ├── locals: [:a]
- │ │ ├── def_keyword_loc: (117...120) = "def"
- │ │ ├── operator_loc: (125...126) = "."
+ │ │ ├── def_keyword_loc: (13,6)-(13,9) = "def"
+ │ │ ├── operator_loc: (13,14)-(13,15) = "."
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (146...149) = "end"
+ │ │ └── end_keyword_loc: (13,35)-(13,38) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (151...156))
+ │ │ @ StatementsNode (location: (13,40)-(13,45))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (151...156))
+ │ │ └── @ BreakNode (location: (13,40)-(13,45))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (151...156) = "break"
+ │ │ └── keyword_loc: (13,40)-(13,45) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (163...210))
- │ ├── keyword_loc: (163...168) = "while"
- │ ├── closing_loc: (207...210) = "end"
+ ├── @ WhileNode (location: (15,0)-(15,47))
+ │ ├── keyword_loc: (15,0)-(15,5) = "while"
+ │ ├── closing_loc: (15,44)-(15,47) = "end"
│ ├── predicate:
- │ │ @ ClassNode (location: (169...198))
+ │ │ @ ClassNode (location: (15,6)-(15,35))
│ │ ├── locals: [:a]
- │ │ ├── class_keyword_loc: (169...174) = "class"
+ │ │ ├── class_keyword_loc: (15,6)-(15,11) = "class"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (175...178))
+ │ │ │ @ ConstantReadNode (location: (15,12)-(15,15))
│ │ │ └── name: :Foo
│ │ ├── inheritance_operator_loc: ∅
│ │ ├── superclass: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (179...193))
+ │ │ │ @ StatementsNode (location: (15,16)-(15,30))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (179...193))
+ │ │ │ └── @ LocalVariableWriteNode (location: (15,16)-(15,30))
│ │ │ ├── name: :a
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (179...180) = "a"
+ │ │ │ ├── name_loc: (15,16)-(15,17) = "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (183...193))
+ │ │ │ │ @ CallNode (location: (15,20)-(15,30))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (183...186) = "tap"
+ │ │ │ │ ├── message_loc: (15,20)-(15,23) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (187...193))
+ │ │ │ │ │ @ BlockNode (location: (15,24)-(15,30))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (187...189) = "do"
- │ │ │ │ │ └── closing_loc: (190...193) = "end"
+ │ │ │ │ │ ├── opening_loc: (15,24)-(15,26) = "do"
+ │ │ │ │ │ └── closing_loc: (15,27)-(15,30) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
- │ │ │ └── operator_loc: (181...182) = "="
- │ │ ├── end_keyword_loc: (195...198) = "end"
+ │ │ │ └── operator_loc: (15,18)-(15,19) = "="
+ │ │ ├── end_keyword_loc: (15,32)-(15,35) = "end"
│ │ └── name: :Foo
│ ├── statements:
- │ │ @ StatementsNode (location: (200...205))
+ │ │ @ StatementsNode (location: (15,37)-(15,42))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (200...205))
+ │ │ └── @ BreakNode (location: (15,37)-(15,42))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (200...205) = "break"
+ │ │ └── keyword_loc: (15,37)-(15,42) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (212...260))
- │ ├── keyword_loc: (212...217) = "while"
- │ ├── closing_loc: (257...260) = "end"
+ ├── @ WhileNode (location: (17,0)-(17,48))
+ │ ├── keyword_loc: (17,0)-(17,5) = "while"
+ │ ├── closing_loc: (17,45)-(17,48) = "end"
│ ├── predicate:
- │ │ @ SingletonClassNode (location: (218...248))
+ │ │ @ SingletonClassNode (location: (17,6)-(17,36))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (218...223) = "class"
- │ │ ├── operator_loc: (224...226) = "<<"
+ │ │ ├── class_keyword_loc: (17,6)-(17,11) = "class"
+ │ │ ├── operator_loc: (17,12)-(17,14) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (227...231))
+ │ │ │ @ SelfNode (location: (17,15)-(17,19))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (233...243))
+ │ │ │ @ StatementsNode (location: (17,21)-(17,31))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (233...243))
+ │ │ │ └── @ CallNode (location: (17,21)-(17,31))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (233...236) = "tap"
+ │ │ │ ├── message_loc: (17,21)-(17,24) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (237...243))
+ │ │ │ │ @ BlockNode (location: (17,25)-(17,31))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (237...239) = "do"
- │ │ │ │ └── closing_loc: (240...243) = "end"
+ │ │ │ │ ├── opening_loc: (17,25)-(17,27) = "do"
+ │ │ │ │ └── closing_loc: (17,28)-(17,31) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
- │ │ └── end_keyword_loc: (245...248) = "end"
+ │ │ └── end_keyword_loc: (17,33)-(17,36) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (250...255))
+ │ │ @ StatementsNode (location: (17,38)-(17,43))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (250...255))
+ │ │ └── @ BreakNode (location: (17,38)-(17,43))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (250...255) = "break"
+ │ │ └── keyword_loc: (17,38)-(17,43) = "break"
│ └── flags: ∅
- └── @ WhileNode (location: (262...314))
- ├── keyword_loc: (262...267) = "while"
- ├── closing_loc: (311...314) = "end"
+ └── @ WhileNode (location: (19,0)-(19,52))
+ ├── keyword_loc: (19,0)-(19,5) = "while"
+ ├── closing_loc: (19,49)-(19,52) = "end"
├── predicate:
- │ @ SingletonClassNode (location: (268...302))
+ │ @ SingletonClassNode (location: (19,6)-(19,40))
│ ├── locals: [:a]
- │ ├── class_keyword_loc: (268...273) = "class"
- │ ├── operator_loc: (274...276) = "<<"
+ │ ├── class_keyword_loc: (19,6)-(19,11) = "class"
+ │ ├── operator_loc: (19,12)-(19,14) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (277...281))
+ │ │ @ SelfNode (location: (19,15)-(19,19))
│ ├── body:
- │ │ @ StatementsNode (location: (283...297))
+ │ │ @ StatementsNode (location: (19,21)-(19,35))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableWriteNode (location: (283...297))
+ │ │ └── @ LocalVariableWriteNode (location: (19,21)-(19,35))
│ │ ├── name: :a
│ │ ├── depth: 0
- │ │ ├── name_loc: (283...284) = "a"
+ │ │ ├── name_loc: (19,21)-(19,22) = "a"
│ │ ├── value:
- │ │ │ @ CallNode (location: (287...297))
+ │ │ │ @ CallNode (location: (19,25)-(19,35))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (287...290) = "tap"
+ │ │ │ ├── message_loc: (19,25)-(19,28) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (291...297))
+ │ │ │ │ @ BlockNode (location: (19,29)-(19,35))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (291...293) = "do"
- │ │ │ │ └── closing_loc: (294...297) = "end"
+ │ │ │ │ ├── opening_loc: (19,29)-(19,31) = "do"
+ │ │ │ │ └── closing_loc: (19,32)-(19,35) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
- │ │ └── operator_loc: (285...286) = "="
- │ └── end_keyword_loc: (299...302) = "end"
+ │ │ └── operator_loc: (19,23)-(19,24) = "="
+ │ └── end_keyword_loc: (19,37)-(19,40) = "end"
├── statements:
- │ @ StatementsNode (location: (304...309))
+ │ @ StatementsNode (location: (19,42)-(19,47))
│ └── body: (length: 1)
- │ └── @ BreakNode (location: (304...309))
+ │ └── @ BreakNode (location: (19,42)-(19,47))
│ ├── arguments: ∅
- │ └── keyword_loc: (304...309) = "break"
+ │ └── keyword_loc: (19,42)-(19,47) = "break"
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/__ENCODING__.txt b/test/yarp/snapshots/whitequark/__ENCODING__.txt
index aa300aa827..1b223bd8fe 100644
--- a/test/yarp/snapshots/whitequark/__ENCODING__.txt
+++ b/test/yarp/snapshots/whitequark/__ENCODING__.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ SourceEncodingNode (location: (0...12))
+ └── @ SourceEncodingNode (location: (1,0)-(1,12))
diff --git a/test/yarp/snapshots/whitequark/__ENCODING___legacy_.txt b/test/yarp/snapshots/whitequark/__ENCODING___legacy_.txt
index aa300aa827..1b223bd8fe 100644
--- a/test/yarp/snapshots/whitequark/__ENCODING___legacy_.txt
+++ b/test/yarp/snapshots/whitequark/__ENCODING___legacy_.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ SourceEncodingNode (location: (0...12))
+ └── @ SourceEncodingNode (location: (1,0)-(1,12))
diff --git a/test/yarp/snapshots/whitequark/alias.txt b/test/yarp/snapshots/whitequark/alias.txt
index 9f6a5861cb..4a9e6727e1 100644
--- a/test/yarp/snapshots/whitequark/alias.txt
+++ b/test/yarp/snapshots/whitequark/alias.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ AliasMethodNode (location: (0...14))
+ └── @ AliasMethodNode (location: (1,0)-(1,14))
├── new_name:
- │ @ SymbolNode (location: (6...10))
- │ ├── opening_loc: (6...7) = ":"
- │ ├── value_loc: (7...10) = "foo"
+ │ @ SymbolNode (location: (1,6)-(1,10))
+ │ ├── opening_loc: (1,6)-(1,7) = ":"
+ │ ├── value_loc: (1,7)-(1,10) = "foo"
│ ├── closing_loc: ∅
│ └── unescaped: "foo"
├── old_name:
- │ @ SymbolNode (location: (11...14))
+ │ @ SymbolNode (location: (1,11)-(1,14))
│ ├── opening_loc: ∅
- │ ├── value_loc: (11...14) = "bar"
+ │ ├── value_loc: (1,11)-(1,14) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- └── keyword_loc: (0...5) = "alias"
+ └── keyword_loc: (1,0)-(1,5) = "alias"
diff --git a/test/yarp/snapshots/whitequark/alias_gvar.txt b/test/yarp/snapshots/whitequark/alias_gvar.txt
index 56dc91c536..56357fa15c 100644
--- a/test/yarp/snapshots/whitequark/alias_gvar.txt
+++ b/test/yarp/snapshots/whitequark/alias_gvar.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 2)
- ├── @ AliasGlobalVariableNode (location: (0...11))
+ ├── @ AliasGlobalVariableNode (location: (1,0)-(1,11))
│ ├── new_name:
- │ │ @ GlobalVariableReadNode (location: (6...8))
+ │ │ @ GlobalVariableReadNode (location: (1,6)-(1,8))
│ │ └── name: :$a
│ ├── old_name:
- │ │ @ BackReferenceReadNode (location: (9...11))
- │ └── keyword_loc: (0...5) = "alias"
- └── @ AliasGlobalVariableNode (location: (13...24))
+ │ │ @ BackReferenceReadNode (location: (1,9)-(1,11))
+ │ └── keyword_loc: (1,0)-(1,5) = "alias"
+ └── @ AliasGlobalVariableNode (location: (3,0)-(3,11))
├── new_name:
- │ @ GlobalVariableReadNode (location: (19...21))
+ │ @ GlobalVariableReadNode (location: (3,6)-(3,8))
│ └── name: :$a
├── old_name:
- │ @ GlobalVariableReadNode (location: (22...24))
+ │ @ GlobalVariableReadNode (location: (3,9)-(3,11))
│ └── name: :$b
- └── keyword_loc: (13...18) = "alias"
+ └── keyword_loc: (3,0)-(3,5) = "alias"
diff --git a/test/yarp/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt b/test/yarp/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
index 0f0f4885c0..3d68cecdc2 100644
--- a/test/yarp/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
+++ b/test/yarp/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ IfNode (location: (0...15))
+ └── @ IfNode (location: (1,0)-(1,15))
├── if_keyword_loc: ∅
├── predicate:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,14 +17,14 @@
│ ├── flags: variable_call
│ └── name: "a"
├── statements:
- │ @ StatementsNode (location: (4...10))
+ │ @ StatementsNode (location: (1,4)-(1,10))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (4...10))
+ │ └── @ CallNode (location: (1,4)-(1,10))
│ ├── receiver:
- │ │ @ CallNode (location: (4...5))
+ │ │ @ CallNode (location: (1,4)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...5) = "b"
+ │ │ ├── message_loc: (1,4)-(1,5) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -32,27 +32,27 @@
│ │ ├── flags: variable_call
│ │ └── name: "b"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...7) = "&"
+ │ ├── message_loc: (1,6)-(1,7) = "&"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...10))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (8...10))
+ │ │ └── @ StringNode (location: (1,8)-(1,10))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (8...9) = "'"
- │ │ ├── content_loc: (9...9) = ""
- │ │ ├── closing_loc: (9...10) = "'"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "'"
+ │ │ ├── content_loc: (1,9)-(1,9) = ""
+ │ │ ├── closing_loc: (1,9)-(1,10) = "'"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
├── consequent:
- │ @ ElseNode (location: (10...15))
- │ ├── else_keyword_loc: (10...11) = ":"
+ │ @ ElseNode (location: (1,10)-(1,15))
+ │ ├── else_keyword_loc: (1,10)-(1,11) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (12...15))
+ │ │ @ StatementsNode (location: (1,12)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ NilNode (location: (12...15))
+ │ │ └── @ NilNode (location: (1,12)-(1,15))
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/and.txt b/test/yarp/snapshots/whitequark/and.txt
index dacaf095d5..ae1b5880d8 100644
--- a/test/yarp/snapshots/whitequark/and.txt
+++ b/test/yarp/snapshots/whitequark/and.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 2)
- ├── @ AndNode (location: (0...10))
+ ├── @ AndNode (location: (1,0)-(1,10))
│ ├── left:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,23 +16,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── right:
- │ │ @ CallNode (location: (7...10))
+ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...10) = "bar"
+ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── operator_loc: (4...6) = "&&"
- └── @ AndNode (location: (12...23))
+ │ └── operator_loc: (1,4)-(1,6) = "&&"
+ └── @ AndNode (location: (3,0)-(3,11))
├── left:
- │ @ CallNode (location: (12...15))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -40,14 +40,14 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── right:
- │ @ CallNode (location: (20...23))
+ │ @ CallNode (location: (3,8)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...23) = "bar"
+ │ ├── message_loc: (3,8)-(3,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── operator_loc: (16...19) = "and"
+ └── operator_loc: (3,4)-(3,7) = "and"
diff --git a/test/yarp/snapshots/whitequark/and_asgn.txt b/test/yarp/snapshots/whitequark/and_asgn.txt
index a066cdad4d..5e4675ac91 100644
--- a/test/yarp/snapshots/whitequark/and_asgn.txt
+++ b/test/yarp/snapshots/whitequark/and_asgn.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(3,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
- ├── @ CallAndWriteNode (location: (0...11))
+ ├── @ CallAndWriteNode (location: (1,0)-(1,11))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "a"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── flags: ∅
│ ├── read_name: "a"
│ ├── write_name: "a="
- │ ├── operator_loc: (6...9) = "&&="
+ │ ├── operator_loc: (1,6)-(1,9) = "&&="
│ └── value:
- │ @ IntegerNode (location: (10...11))
+ │ @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
- └── @ CallAndWriteNode (location: (13...28))
+ └── @ CallAndWriteNode (location: (3,0)-(3,15))
├── receiver:
- │ @ CallNode (location: (13...16))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...16) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -40,20 +40,20 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (16...22) = "[0, 1]"
- ├── opening_loc: (16...17) = "["
+ ├── message_loc: (3,3)-(3,9) = "[0, 1]"
+ ├── opening_loc: (3,3)-(3,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (17...21))
+ │ @ ArgumentsNode (location: (3,4)-(3,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (17...18))
+ │ ├── @ IntegerNode (location: (3,4)-(3,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (20...21))
+ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ └── flags: decimal
- ├── closing_loc: (21...22) = "]"
+ ├── closing_loc: (3,8)-(3,9) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
- ├── operator_loc: (23...26) = "&&="
+ ├── operator_loc: (3,10)-(3,13) = "&&="
└── value:
- @ IntegerNode (location: (27...28))
+ @ IntegerNode (location: (3,14)-(3,15))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/and_or_masgn.txt b/test/yarp/snapshots/whitequark/and_or_masgn.txt
index d390298e65..9b6bb94096 100644
--- a/test/yarp/snapshots/whitequark/and_or_masgn.txt
+++ b/test/yarp/snapshots/whitequark/and_or_masgn.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(3,19))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
- ├── @ AndNode (location: (0...19))
+ ├── @ AndNode (location: (1,0)-(1,19))
│ ├── left:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,41 +16,41 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── right:
- │ │ @ ParenthesesNode (location: (7...19))
+ │ │ @ ParenthesesNode (location: (1,7)-(1,19))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (8...18))
+ │ │ │ @ StatementsNode (location: (1,8)-(1,18))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ MultiWriteNode (location: (8...18))
+ │ │ │ └── @ MultiWriteNode (location: (1,8)-(1,18))
│ │ │ ├── targets: (length: 2)
- │ │ │ │ ├── @ LocalVariableTargetNode (location: (8...9))
+ │ │ │ │ ├── @ LocalVariableTargetNode (location: (1,8)-(1,9))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── @ LocalVariableTargetNode (location: (11...12))
+ │ │ │ │ └── @ LocalVariableTargetNode (location: (1,11)-(1,12))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── lparen_loc: ∅
│ │ │ ├── rparen_loc: ∅
- │ │ │ ├── operator_loc: (13...14) = "="
+ │ │ │ ├── operator_loc: (1,13)-(1,14) = "="
│ │ │ └── value:
- │ │ │ @ CallNode (location: (15...18))
+ │ │ │ @ CallNode (location: (1,15)-(1,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...18) = "bar"
+ │ │ │ ├── message_loc: (1,15)-(1,18) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── opening_loc: (7...8) = "("
- │ │ └── closing_loc: (18...19) = ")"
- │ └── operator_loc: (4...6) = "&&"
- └── @ OrNode (location: (21...40))
+ │ │ ├── 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: (21...24))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -58,32 +58,32 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── right:
- │ @ ParenthesesNode (location: (28...40))
+ │ @ ParenthesesNode (location: (3,7)-(3,19))
│ ├── body:
- │ │ @ StatementsNode (location: (29...39))
+ │ │ @ StatementsNode (location: (3,8)-(3,18))
│ │ └── body: (length: 1)
- │ │ └── @ MultiWriteNode (location: (29...39))
+ │ │ └── @ MultiWriteNode (location: (3,8)-(3,18))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (29...30))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (3,8)-(3,9))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (32...33))
+ │ │ │ └── @ LocalVariableTargetNode (location: (3,11)-(3,12))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
- │ │ ├── operator_loc: (34...35) = "="
+ │ │ ├── operator_loc: (3,13)-(3,14) = "="
│ │ └── value:
- │ │ @ CallNode (location: (36...39))
+ │ │ @ CallNode (location: (3,15)-(3,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (36...39) = "bar"
+ │ │ ├── message_loc: (3,15)-(3,18) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── opening_loc: (28...29) = "("
- │ └── closing_loc: (39...40) = ")"
- └── operator_loc: (25...27) = "||"
+ │ ├── opening_loc: (3,7)-(3,8) = "("
+ │ └── closing_loc: (3,18)-(3,19) = ")"
+ └── operator_loc: (3,4)-(3,6) = "||"
diff --git a/test/yarp/snapshots/whitequark/anonymous_blockarg.txt b/test/yarp/snapshots/whitequark/anonymous_blockarg.txt
index b2d6e22b5a..3afc2995f2 100644
--- a/test/yarp/snapshots/whitequark/anonymous_blockarg.txt
+++ b/test/yarp/snapshots/whitequark/anonymous_blockarg.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(1,23))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...9))
+ │ @ ParametersNode (location: (1,8)-(1,9))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -16,30 +16,30 @@
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (8...9))
+ │ @ BlockParameterNode (location: (1,8)-(1,9))
│ ├── name: nil
│ ├── name_loc: ∅
- │ └── operator_loc: (8...9) = "&"
+ │ └── operator_loc: (1,8)-(1,9) = "&"
├── body:
- │ @ StatementsNode (location: (12...17))
+ │ @ StatementsNode (location: (1,12)-(1,17))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (12...17))
+ │ └── @ CallNode (location: (1,12)-(1,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "bar"
- │ ├── opening_loc: (15...16) = "("
+ │ ├── message_loc: (1,12)-(1,15) = "bar"
+ │ ├── opening_loc: (1,15)-(1,16) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (17...18) = ")"
+ │ ├── closing_loc: (1,17)-(1,18) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (16...17))
+ │ │ @ BlockArgumentNode (location: (1,16)-(1,17))
│ │ ├── expression: ∅
- │ │ └── operator_loc: (16...17) = "&"
+ │ │ └── operator_loc: (1,16)-(1,17) = "&"
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:&]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (9...10) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,9)-(1,10) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (1,20)-(1,23) = "end"
diff --git a/test/yarp/snapshots/whitequark/arg.txt b/test/yarp/snapshots/whitequark/arg.txt
index a3ca01bdeb..d87f10db23 100644
--- a/test/yarp/snapshots/whitequark/arg.txt
+++ b/test/yarp/snapshots/whitequark/arg.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(3,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(3,20))
└── body: (length: 2)
- ├── @ DefNode (location: (0...15))
+ ├── @ DefNode (location: (1,0)-(1,15))
│ ├── name: :f
- │ ├── name_loc: (4...5) = "f"
+ │ ├── name_loc: (1,4)-(1,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (6...9))
+ │ │ @ ParametersNode (location: (1,6)-(1,9))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (6...9))
+ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,9))
│ │ │ └── name: :foo
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -20,22 +20,22 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:foo]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (5...6) = "("
- │ ├── rparen_loc: (9...10) = ")"
+ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ ├── rparen_loc: (1,9)-(1,10) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (12...15) = "end"
- └── @ DefNode (location: (17...37))
+ │ └── end_keyword_loc: (1,12)-(1,15) = "end"
+ └── @ DefNode (location: (3,0)-(3,20))
├── name: :f
- ├── name_loc: (21...22) = "f"
+ ├── name_loc: (3,4)-(3,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (23...31))
+ │ @ ParametersNode (location: (3,6)-(3,14))
│ ├── requireds: (length: 2)
- │ │ ├── @ RequiredParameterNode (location: (23...26))
+ │ │ ├── @ RequiredParameterNode (location: (3,6)-(3,9))
│ │ │ └── name: :foo
- │ │ └── @ RequiredParameterNode (location: (28...31))
+ │ │ └── @ RequiredParameterNode (location: (3,11)-(3,14))
│ │ └── name: :bar
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -45,9 +45,9 @@
│ └── block: ∅
├── body: ∅
├── locals: [:foo, :bar]
- ├── def_keyword_loc: (17...20) = "def"
+ ├── def_keyword_loc: (3,0)-(3,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (22...23) = "("
- ├── rparen_loc: (31...32) = ")"
+ ├── lparen_loc: (3,5)-(3,6) = "("
+ ├── rparen_loc: (3,14)-(3,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (34...37) = "end"
+ └── end_keyword_loc: (3,17)-(3,20) = "end"
diff --git a/test/yarp/snapshots/whitequark/arg_duplicate_ignored.txt b/test/yarp/snapshots/whitequark/arg_duplicate_ignored.txt
index df55173a0c..4db92126d7 100644
--- a/test/yarp/snapshots/whitequark/arg_duplicate_ignored.txt
+++ b/test/yarp/snapshots/whitequark/arg_duplicate_ignored.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(3,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(3,20))
└── body: (length: 2)
- ├── @ DefNode (location: (0...18))
+ ├── @ DefNode (location: (1,0)-(1,18))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (8...12))
+ │ │ @ ParametersNode (location: (1,8)-(1,12))
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ RequiredParameterNode (location: (8...9))
+ │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ │ └── name: :_
- │ │ │ └── @ RequiredParameterNode (location: (11...12))
+ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12))
│ │ │ └── name: :_
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -22,22 +22,22 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:_]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (12...13) = ")"
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,12)-(1,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (15...18) = "end"
- └── @ DefNode (location: (20...40))
+ │ └── end_keyword_loc: (1,15)-(1,18) = "end"
+ └── @ DefNode (location: (3,0)-(3,20))
├── name: :foo
- ├── name_loc: (24...27) = "foo"
+ ├── name_loc: (3,4)-(3,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (28...34))
+ │ @ ParametersNode (location: (3,8)-(3,14))
│ ├── requireds: (length: 2)
- │ │ ├── @ RequiredParameterNode (location: (28...30))
+ │ │ ├── @ RequiredParameterNode (location: (3,8)-(3,10))
│ │ │ └── name: :_a
- │ │ └── @ RequiredParameterNode (location: (32...34))
+ │ │ └── @ RequiredParameterNode (location: (3,12)-(3,14))
│ │ └── name: :_a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -47,9 +47,9 @@
│ └── block: ∅
├── body: ∅
├── locals: [:_a]
- ├── def_keyword_loc: (20...23) = "def"
+ ├── def_keyword_loc: (3,0)-(3,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (27...28) = "("
- ├── rparen_loc: (34...35) = ")"
+ ├── lparen_loc: (3,7)-(3,8) = "("
+ ├── rparen_loc: (3,14)-(3,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (37...40) = "end"
+ └── end_keyword_loc: (3,17)-(3,20) = "end"
diff --git a/test/yarp/snapshots/whitequark/arg_label.txt b/test/yarp/snapshots/whitequark/arg_label.txt
index 154595a4fc..1d9b43332a 100644
--- a/test/yarp/snapshots/whitequark/arg_label.txt
+++ b/test/yarp/snapshots/whitequark/arg_label.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...49))
+@ ProgramNode (location: (1,0)-(6,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...49))
+ @ StatementsNode (location: (1,0)-(6,12))
└── body: (length: 3)
- ├── @ DefNode (location: (0...16))
+ ├── @ DefNode (location: (1,0)-(2,8))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (9...12))
+ │ │ @ StatementsNode (location: (2,1)-(2,4))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9...12))
+ │ │ └── @ CallNode (location: (2,1)-(2,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "a"
+ │ │ ├── message_loc: (2,1)-(2,2) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (10...12))
+ │ │ │ @ ArgumentsNode (location: (2,2)-(2,4))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (10...12))
- │ │ │ ├── opening_loc: (10...11) = ":"
- │ │ │ ├── value_loc: (11...12) = "b"
+ │ │ │ └── @ 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: ∅
@@ -29,31 +29,31 @@
│ │ ├── flags: ∅
│ │ └── name: "a"
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- ├── @ DefNode (location: (18...35))
+ │ └── end_keyword_loc: (2,5)-(2,8) = "end"
+ ├── @ DefNode (location: (4,0)-(4,17))
│ ├── name: :foo
- │ ├── name_loc: (22...25) = "foo"
+ │ ├── name_loc: (4,4)-(4,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (28...31))
+ │ │ @ StatementsNode (location: (4,10)-(4,13))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (28...31))
+ │ │ └── @ CallNode (location: (4,10)-(4,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (28...29) = "a"
+ │ │ ├── message_loc: (4,10)-(4,11) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (29...31))
+ │ │ │ @ ArgumentsNode (location: (4,11)-(4,13))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (29...31))
- │ │ │ ├── opening_loc: (29...30) = ":"
- │ │ │ ├── value_loc: (30...31) = "b"
+ │ │ │ └── @ 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: ∅
@@ -61,49 +61,49 @@
│ │ ├── flags: ∅
│ │ └── name: "a"
│ ├── locals: []
- │ ├── def_keyword_loc: (18...21) = "def"
+ │ ├── def_keyword_loc: (4,0)-(4,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (25...26) = "("
- │ ├── rparen_loc: (26...27) = ")"
+ │ ├── lparen_loc: (4,7)-(4,8) = "("
+ │ ├── rparen_loc: (4,8)-(4,9) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (32...35) = "end"
- └── @ CallNode (location: (37...49))
+ │ └── end_keyword_loc: (4,14)-(4,17) = "end"
+ └── @ CallNode (location: (6,0)-(6,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (37...38) = "f"
+ ├── message_loc: (6,0)-(6,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (39...49))
+ │ @ BlockNode (location: (6,2)-(6,12))
│ ├── locals: []
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (41...43))
+ │ │ @ BlockParametersNode (location: (6,4)-(6,6))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (41...42) = "|"
- │ │ └── closing_loc: (42...43) = "|"
+ │ │ ├── opening_loc: (6,4)-(6,5) = "|"
+ │ │ └── closing_loc: (6,5)-(6,6) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (44...47))
+ │ │ @ StatementsNode (location: (6,7)-(6,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (44...47))
+ │ │ └── @ CallNode (location: (6,7)-(6,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (44...45) = "a"
+ │ │ ├── message_loc: (6,7)-(6,8) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (45...47))
+ │ │ │ @ ArgumentsNode (location: (6,8)-(6,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (45...47))
- │ │ │ ├── opening_loc: (45...46) = ":"
- │ │ │ ├── value_loc: (46...47) = "b"
+ │ │ │ └── @ 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: ∅
│ │ ├── flags: ∅
│ │ └── name: "a"
- │ ├── opening_loc: (39...40) = "{"
- │ └── closing_loc: (48...49) = "}"
+ │ ├── opening_loc: (6,2)-(6,3) = "{"
+ │ └── closing_loc: (6,11)-(6,12) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/whitequark/arg_scope.txt b/test/yarp/snapshots/whitequark/arg_scope.txt
index 4fcb24b0f5..cfe376d04d 100644
--- a/test/yarp/snapshots/whitequark/arg_scope.txt
+++ b/test/yarp/snapshots/whitequark/arg_scope.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...6) = "lambda"
+ ├── message_loc: (1,0)-(1,6) = "lambda"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (6...13))
+ │ @ BlockNode (location: (1,6)-(1,13))
│ ├── locals: [:a]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...11))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,11))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 1)
- │ │ │ └── @ BlockLocalVariableNode (location: (9...10))
+ │ │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10))
│ │ │ └── name: :a
- │ │ ├── opening_loc: (7...8) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,7)-(1,8) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body:
- │ │ @ StatementsNode (location: (11...12))
+ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (11...12))
+ │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,12))
│ │ ├── name: :a
│ │ └── depth: 0
- │ ├── opening_loc: (6...7) = "{"
- │ └── closing_loc: (12...13) = "}"
+ │ ├── opening_loc: (1,6)-(1,7) = "{"
+ │ └── closing_loc: (1,12)-(1,13) = "}"
├── flags: ∅
└── name: "lambda"
diff --git a/test/yarp/snapshots/whitequark/args.txt b/test/yarp/snapshots/whitequark/args.txt
index a869e5a175..1f3a3b5c74 100644
--- a/test/yarp/snapshots/whitequark/args.txt
+++ b/test/yarp/snapshots/whitequark/args.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...690))
+@ ProgramNode (location: (1,0)-(63,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...690))
+ @ StatementsNode (location: (1,0)-(63,21))
└── body: (length: 31)
- ├── @ DefNode (location: (0...13))
+ ├── @ DefNode (location: (1,0)-(1,13))
│ ├── name: :f
- │ ├── name_loc: (4...5) = "f"
+ │ ├── name_loc: (1,4)-(1,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (6...8))
+ │ │ @ ParametersNode (location: (1,6)-(1,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -16,35 +16,35 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (6...8))
+ │ │ @ BlockParameterNode (location: (1,6)-(1,8))
│ │ ├── name: :b
- │ │ ├── name_loc: (7...8) = "b"
- │ │ └── operator_loc: (6...7) = "&"
+ │ │ ├── name_loc: (1,7)-(1,8) = "b"
+ │ │ └── operator_loc: (1,6)-(1,7) = "&"
│ ├── body: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (10...13) = "end"
- ├── @ DefNode (location: (15...33))
+ │ └── end_keyword_loc: (1,10)-(1,13) = "end"
+ ├── @ DefNode (location: (3,0)-(3,18))
│ ├── name: :f
- │ ├── name_loc: (19...20) = "f"
+ │ ├── name_loc: (3,4)-(3,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (22...27))
+ │ │ @ ParametersNode (location: (3,7)-(3,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (22...27))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (3,7)-(3,12))
│ │ │ ├── parameters: (length: 1)
- │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (23...26))
+ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (3,8)-(3,11))
│ │ │ │ ├── parameters: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (24...25))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (3,9)-(3,10))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── opening_loc: (23...24) = "("
- │ │ │ │ └── closing_loc: (25...26) = ")"
- │ │ │ ├── opening_loc: (22...23) = "("
- │ │ │ └── closing_loc: (26...27) = ")"
+ │ │ │ │ ├── opening_loc: (3,8)-(3,9) = "("
+ │ │ │ │ └── closing_loc: (3,10)-(3,11) = ")"
+ │ │ │ ├── opening_loc: (3,7)-(3,8) = "("
+ │ │ │ └── closing_loc: (3,11)-(3,12) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -53,26 +53,26 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (15...18) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (21...22) = "("
- │ ├── rparen_loc: (27...28) = ")"
+ │ ├── lparen_loc: (3,6)-(3,7) = "("
+ │ ├── rparen_loc: (3,12)-(3,13) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (30...33) = "end"
- ├── @ DefNode (location: (35...51))
+ │ └── end_keyword_loc: (3,15)-(3,18) = "end"
+ ├── @ DefNode (location: (5,0)-(5,16))
│ ├── name: :f
- │ ├── name_loc: (39...40) = "f"
+ │ ├── name_loc: (5,4)-(5,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (42...45))
+ │ │ @ ParametersNode (location: (5,7)-(5,10))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (42...45))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5,7)-(5,10))
│ │ │ ├── parameters: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (43...44))
- │ │ │ │ ├── operator_loc: (43...44) = "*"
+ │ │ │ │ └── @ SplatNode (location: (5,8)-(5,9))
+ │ │ │ │ ├── operator_loc: (5,8)-(5,9) = "*"
│ │ │ │ └── expression: ∅
- │ │ │ ├── opening_loc: (42...43) = "("
- │ │ │ └── closing_loc: (44...45) = ")"
+ │ │ │ ├── opening_loc: (5,7)-(5,8) = "("
+ │ │ │ └── closing_loc: (5,9)-(5,10) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -81,28 +81,28 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (35...38) = "def"
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (41...42) = "("
- │ ├── rparen_loc: (45...46) = ")"
+ │ ├── lparen_loc: (5,6)-(5,7) = "("
+ │ ├── rparen_loc: (5,10)-(5,11) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (48...51) = "end"
- ├── @ DefNode (location: (53...72))
+ │ └── end_keyword_loc: (5,13)-(5,16) = "end"
+ ├── @ DefNode (location: (7,0)-(7,19))
│ ├── name: :f
- │ ├── name_loc: (57...58) = "f"
+ │ ├── name_loc: (7,4)-(7,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (60...66))
+ │ │ @ ParametersNode (location: (7,7)-(7,13))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (60...66))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (7,7)-(7,13))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ SplatNode (location: (61...62))
- │ │ │ │ │ ├── operator_loc: (61...62) = "*"
+ │ │ │ │ ├── @ SplatNode (location: (7,8)-(7,9))
+ │ │ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*"
│ │ │ │ │ └── expression: ∅
- │ │ │ │ └── @ RequiredParameterNode (location: (64...65))
+ │ │ │ │ └── @ RequiredParameterNode (location: (7,11)-(7,12))
│ │ │ │ └── name: :p
- │ │ │ ├── opening_loc: (60...61) = "("
- │ │ │ └── closing_loc: (65...66) = ")"
+ │ │ │ ├── opening_loc: (7,7)-(7,8) = "("
+ │ │ │ └── closing_loc: (7,12)-(7,13) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -111,28 +111,28 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:p]
- │ ├── def_keyword_loc: (53...56) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (59...60) = "("
- │ ├── rparen_loc: (66...67) = ")"
+ │ ├── lparen_loc: (7,6)-(7,7) = "("
+ │ ├── rparen_loc: (7,13)-(7,14) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (69...72) = "end"
- ├── @ DefNode (location: (74...91))
+ │ └── end_keyword_loc: (7,16)-(7,19) = "end"
+ ├── @ DefNode (location: (9,0)-(9,17))
│ ├── name: :f
- │ ├── name_loc: (78...79) = "f"
+ │ ├── name_loc: (9,4)-(9,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (81...85))
+ │ │ @ ParametersNode (location: (9,7)-(9,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (81...85))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (9,7)-(9,11))
│ │ │ ├── parameters: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (82...84))
- │ │ │ │ ├── operator_loc: (82...83) = "*"
+ │ │ │ │ └── @ SplatNode (location: (9,8)-(9,10))
+ │ │ │ │ ├── operator_loc: (9,8)-(9,9) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ RequiredParameterNode (location: (83...84))
+ │ │ │ │ @ RequiredParameterNode (location: (9,9)-(9,10))
│ │ │ │ └── name: :r
- │ │ │ ├── opening_loc: (81...82) = "("
- │ │ │ └── closing_loc: (84...85) = ")"
+ │ │ │ ├── opening_loc: (9,7)-(9,8) = "("
+ │ │ │ └── closing_loc: (9,10)-(9,11) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -141,30 +141,30 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:r]
- │ ├── def_keyword_loc: (74...77) = "def"
+ │ ├── def_keyword_loc: (9,0)-(9,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (80...81) = "("
- │ ├── rparen_loc: (85...86) = ")"
+ │ ├── lparen_loc: (9,6)-(9,7) = "("
+ │ ├── rparen_loc: (9,11)-(9,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (88...91) = "end"
- ├── @ DefNode (location: (93...113))
+ │ └── end_keyword_loc: (9,14)-(9,17) = "end"
+ ├── @ DefNode (location: (11,0)-(11,20))
│ ├── name: :f
- │ ├── name_loc: (97...98) = "f"
+ │ ├── name_loc: (11,4)-(11,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (100...107))
+ │ │ @ ParametersNode (location: (11,7)-(11,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (100...107))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (11,7)-(11,14))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ SplatNode (location: (101...103))
- │ │ │ │ │ ├── operator_loc: (101...102) = "*"
+ │ │ │ │ ├── @ SplatNode (location: (11,8)-(11,10))
+ │ │ │ │ │ ├── operator_loc: (11,8)-(11,9) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (102...103))
+ │ │ │ │ │ @ RequiredParameterNode (location: (11,9)-(11,10))
│ │ │ │ │ └── name: :r
- │ │ │ │ └── @ RequiredParameterNode (location: (105...106))
+ │ │ │ │ └── @ RequiredParameterNode (location: (11,12)-(11,13))
│ │ │ │ └── name: :p
- │ │ │ ├── opening_loc: (100...101) = "("
- │ │ │ └── closing_loc: (106...107) = ")"
+ │ │ │ ├── opening_loc: (11,7)-(11,8) = "("
+ │ │ │ └── closing_loc: (11,13)-(11,14) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -173,28 +173,28 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:r, :p]
- │ ├── def_keyword_loc: (93...96) = "def"
+ │ ├── def_keyword_loc: (11,0)-(11,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (99...100) = "("
- │ ├── rparen_loc: (107...108) = ")"
+ │ ├── lparen_loc: (11,6)-(11,7) = "("
+ │ ├── rparen_loc: (11,14)-(11,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (110...113) = "end"
- ├── @ DefNode (location: (115...134))
+ │ └── end_keyword_loc: (11,17)-(11,20) = "end"
+ ├── @ DefNode (location: (13,0)-(13,19))
│ ├── name: :f
- │ ├── name_loc: (119...120) = "f"
+ │ ├── name_loc: (13,4)-(13,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (122...128))
+ │ │ @ ParametersNode (location: (13,7)-(13,13))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (122...128))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (13,7)-(13,13))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (123...124))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (13,8)-(13,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ SplatNode (location: (126...127))
- │ │ │ │ ├── operator_loc: (126...127) = "*"
+ │ │ │ │ └── @ SplatNode (location: (13,11)-(13,12))
+ │ │ │ │ ├── operator_loc: (13,11)-(13,12) = "*"
│ │ │ │ └── expression: ∅
- │ │ │ ├── opening_loc: (122...123) = "("
- │ │ │ └── closing_loc: (127...128) = ")"
+ │ │ │ ├── opening_loc: (13,7)-(13,8) = "("
+ │ │ │ └── closing_loc: (13,12)-(13,13) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -203,30 +203,30 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a]
- │ ├── def_keyword_loc: (115...118) = "def"
+ │ ├── def_keyword_loc: (13,0)-(13,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (121...122) = "("
- │ ├── rparen_loc: (128...129) = ")"
+ │ ├── lparen_loc: (13,6)-(13,7) = "("
+ │ ├── rparen_loc: (13,13)-(13,14) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (131...134) = "end"
- ├── @ DefNode (location: (136...158))
+ │ └── end_keyword_loc: (13,16)-(13,19) = "end"
+ ├── @ DefNode (location: (15,0)-(15,22))
│ ├── name: :f
- │ ├── name_loc: (140...141) = "f"
+ │ ├── name_loc: (15,4)-(15,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (143...152))
+ │ │ @ ParametersNode (location: (15,7)-(15,16))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (143...152))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (15,7)-(15,16))
│ │ │ ├── parameters: (length: 3)
- │ │ │ │ ├── @ RequiredParameterNode (location: (144...145))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (15,8)-(15,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── @ SplatNode (location: (147...148))
- │ │ │ │ │ ├── operator_loc: (147...148) = "*"
+ │ │ │ │ ├── @ SplatNode (location: (15,11)-(15,12))
+ │ │ │ │ │ ├── operator_loc: (15,11)-(15,12) = "*"
│ │ │ │ │ └── expression: ∅
- │ │ │ │ └── @ RequiredParameterNode (location: (150...151))
+ │ │ │ │ └── @ RequiredParameterNode (location: (15,14)-(15,15))
│ │ │ │ └── name: :p
- │ │ │ ├── opening_loc: (143...144) = "("
- │ │ │ └── closing_loc: (151...152) = ")"
+ │ │ │ ├── opening_loc: (15,7)-(15,8) = "("
+ │ │ │ └── closing_loc: (15,15)-(15,16) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -235,30 +235,30 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a, :p]
- │ ├── def_keyword_loc: (136...139) = "def"
+ │ ├── def_keyword_loc: (15,0)-(15,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (142...143) = "("
- │ ├── rparen_loc: (152...153) = ")"
+ │ ├── lparen_loc: (15,6)-(15,7) = "("
+ │ ├── rparen_loc: (15,16)-(15,17) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (155...158) = "end"
- ├── @ DefNode (location: (160...180))
+ │ └── end_keyword_loc: (15,19)-(15,22) = "end"
+ ├── @ DefNode (location: (17,0)-(17,20))
│ ├── name: :f
- │ ├── name_loc: (164...165) = "f"
+ │ ├── name_loc: (17,4)-(17,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (167...174))
+ │ │ @ ParametersNode (location: (17,7)-(17,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (167...174))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (17,7)-(17,14))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (168...169))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (17,8)-(17,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ SplatNode (location: (171...173))
- │ │ │ │ ├── operator_loc: (171...172) = "*"
+ │ │ │ │ └── @ SplatNode (location: (17,11)-(17,13))
+ │ │ │ │ ├── operator_loc: (17,11)-(17,12) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ RequiredParameterNode (location: (172...173))
+ │ │ │ │ @ RequiredParameterNode (location: (17,12)-(17,13))
│ │ │ │ └── name: :r
- │ │ │ ├── opening_loc: (167...168) = "("
- │ │ │ └── closing_loc: (173...174) = ")"
+ │ │ │ ├── opening_loc: (17,7)-(17,8) = "("
+ │ │ │ └── closing_loc: (17,13)-(17,14) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -267,32 +267,32 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a, :r]
- │ ├── def_keyword_loc: (160...163) = "def"
+ │ ├── def_keyword_loc: (17,0)-(17,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (166...167) = "("
- │ ├── rparen_loc: (174...175) = ")"
+ │ ├── lparen_loc: (17,6)-(17,7) = "("
+ │ ├── rparen_loc: (17,14)-(17,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (177...180) = "end"
- ├── @ DefNode (location: (182...205))
+ │ └── end_keyword_loc: (17,17)-(17,20) = "end"
+ ├── @ DefNode (location: (19,0)-(19,23))
│ ├── name: :f
- │ ├── name_loc: (186...187) = "f"
+ │ ├── name_loc: (19,4)-(19,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (189...199))
+ │ │ @ ParametersNode (location: (19,7)-(19,17))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (189...199))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (19,7)-(19,17))
│ │ │ ├── parameters: (length: 3)
- │ │ │ │ ├── @ RequiredParameterNode (location: (190...191))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (19,8)-(19,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ ├── @ SplatNode (location: (193...195))
- │ │ │ │ │ ├── operator_loc: (193...194) = "*"
+ │ │ │ │ ├── @ SplatNode (location: (19,11)-(19,13))
+ │ │ │ │ │ ├── operator_loc: (19,11)-(19,12) = "*"
│ │ │ │ │ └── expression:
- │ │ │ │ │ @ RequiredParameterNode (location: (194...195))
+ │ │ │ │ │ @ RequiredParameterNode (location: (19,12)-(19,13))
│ │ │ │ │ └── name: :r
- │ │ │ │ └── @ RequiredParameterNode (location: (197...198))
+ │ │ │ │ └── @ RequiredParameterNode (location: (19,15)-(19,16))
│ │ │ │ └── name: :p
- │ │ │ ├── opening_loc: (189...190) = "("
- │ │ │ └── closing_loc: (198...199) = ")"
+ │ │ │ ├── opening_loc: (19,7)-(19,8) = "("
+ │ │ │ └── closing_loc: (19,16)-(19,17) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -301,27 +301,27 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a, :r, :p]
- │ ├── def_keyword_loc: (182...185) = "def"
+ │ ├── def_keyword_loc: (19,0)-(19,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (188...189) = "("
- │ ├── rparen_loc: (199...200) = ")"
+ │ ├── lparen_loc: (19,6)-(19,7) = "("
+ │ ├── rparen_loc: (19,17)-(19,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (202...205) = "end"
- ├── @ DefNode (location: (207...227))
+ │ └── end_keyword_loc: (19,20)-(19,23) = "end"
+ ├── @ DefNode (location: (21,0)-(21,20))
│ ├── name: :f
- │ ├── name_loc: (211...212) = "f"
+ │ ├── name_loc: (21,4)-(21,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (214...221))
+ │ │ @ ParametersNode (location: (21,7)-(21,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredDestructuredParameterNode (location: (214...221))
+ │ │ │ └── @ RequiredDestructuredParameterNode (location: (21,7)-(21,14))
│ │ │ ├── parameters: (length: 2)
- │ │ │ │ ├── @ RequiredParameterNode (location: (215...216))
+ │ │ │ │ ├── @ RequiredParameterNode (location: (21,8)-(21,9))
│ │ │ │ │ └── name: :a
- │ │ │ │ └── @ RequiredParameterNode (location: (218...220))
+ │ │ │ │ └── @ RequiredParameterNode (location: (21,11)-(21,13))
│ │ │ │ └── name: :a1
- │ │ │ ├── opening_loc: (214...215) = "("
- │ │ │ └── closing_loc: (220...221) = ")"
+ │ │ │ ├── opening_loc: (21,7)-(21,8) = "("
+ │ │ │ └── closing_loc: (21,13)-(21,14) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -330,223 +330,223 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a, :a1]
- │ ├── def_keyword_loc: (207...210) = "def"
+ │ ├── def_keyword_loc: (21,0)-(21,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (213...214) = "("
- │ ├── rparen_loc: (221...222) = ")"
+ │ ├── lparen_loc: (21,6)-(21,7) = "("
+ │ ├── rparen_loc: (21,14)-(21,15) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (224...227) = "end"
- ├── @ DefNode (location: (229...252))
+ │ └── end_keyword_loc: (21,17)-(21,20) = "end"
+ ├── @ DefNode (location: (23,0)-(23,23))
│ ├── name: :f
- │ ├── name_loc: (233...234) = "f"
+ │ ├── name_loc: (23,4)-(23,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (236...246))
+ │ │ @ ParametersNode (location: (23,7)-(23,17))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (236...242))
+ │ │ │ └── @ KeywordParameterNode (location: (23,7)-(23,13))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (236...240) = "foo:"
+ │ │ │ ├── name_loc: (23,7)-(23,11) = "foo:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (241...242))
+ │ │ │ @ IntegerNode (location: (23,12)-(23,13))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (244...246))
+ │ │ @ BlockParameterNode (location: (23,15)-(23,17))
│ │ ├── name: :b
- │ │ ├── name_loc: (245...246) = "b"
- │ │ └── operator_loc: (244...245) = "&"
+ │ │ ├── name_loc: (23,16)-(23,17) = "b"
+ │ │ └── operator_loc: (23,15)-(23,16) = "&"
│ ├── body: ∅
│ ├── locals: [:foo, :b]
- │ ├── def_keyword_loc: (229...232) = "def"
+ │ ├── def_keyword_loc: (23,0)-(23,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (235...236) = "("
- │ ├── rparen_loc: (246...247) = ")"
+ │ ├── lparen_loc: (23,6)-(23,7) = "("
+ │ ├── rparen_loc: (23,17)-(23,18) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (249...252) = "end"
- ├── @ DefNode (location: (254...292))
+ │ └── end_keyword_loc: (23,20)-(23,23) = "end"
+ ├── @ DefNode (location: (25,0)-(25,38))
│ ├── name: :f
- │ ├── name_loc: (258...259) = "f"
+ │ ├── name_loc: (25,4)-(25,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (261...286))
+ │ │ @ ParametersNode (location: (25,7)-(25,32))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
- │ │ │ ├── @ KeywordParameterNode (location: (261...267))
+ │ │ │ ├── @ KeywordParameterNode (location: (25,7)-(25,13))
│ │ │ │ ├── name: :foo
- │ │ │ │ ├── name_loc: (261...265) = "foo:"
+ │ │ │ │ ├── name_loc: (25,7)-(25,11) = "foo:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (266...267))
+ │ │ │ │ @ IntegerNode (location: (25,12)-(25,13))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ KeywordParameterNode (location: (269...275))
+ │ │ │ └── @ KeywordParameterNode (location: (25,15)-(25,21))
│ │ │ ├── name: :bar
- │ │ │ ├── name_loc: (269...273) = "bar:"
+ │ │ │ ├── name_loc: (25,15)-(25,19) = "bar:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (274...275))
+ │ │ │ @ IntegerNode (location: (25,20)-(25,21))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (277...282))
+ │ │ │ @ KeywordRestParameterNode (location: (25,23)-(25,28))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (279...282) = "baz"
- │ │ │ └── operator_loc: (277...279) = "**"
+ │ │ │ ├── name_loc: (25,25)-(25,28) = "baz"
+ │ │ │ └── operator_loc: (25,23)-(25,25) = "**"
│ │ └── block:
- │ │ @ BlockParameterNode (location: (284...286))
+ │ │ @ BlockParameterNode (location: (25,30)-(25,32))
│ │ ├── name: :b
- │ │ ├── name_loc: (285...286) = "b"
- │ │ └── operator_loc: (284...285) = "&"
+ │ │ ├── name_loc: (25,31)-(25,32) = "b"
+ │ │ └── operator_loc: (25,30)-(25,31) = "&"
│ ├── body: ∅
│ ├── locals: [:foo, :bar, :baz, :b]
- │ ├── def_keyword_loc: (254...257) = "def"
+ │ ├── def_keyword_loc: (25,0)-(25,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (260...261) = "("
- │ ├── rparen_loc: (286...287) = ")"
+ │ ├── lparen_loc: (25,6)-(25,7) = "("
+ │ ├── rparen_loc: (25,32)-(25,33) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (289...292) = "end"
- ├── @ DefNode (location: (294...314))
+ │ └── end_keyword_loc: (25,35)-(25,38) = "end"
+ ├── @ DefNode (location: (27,0)-(27,20))
│ ├── name: :f
- │ ├── name_loc: (298...299) = "f"
+ │ ├── name_loc: (27,4)-(27,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (300...309))
+ │ │ @ ParametersNode (location: (27,6)-(27,15))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (300...305))
+ │ │ │ @ KeywordRestParameterNode (location: (27,6)-(27,11))
│ │ │ ├── name: :baz
- │ │ │ ├── name_loc: (302...305) = "baz"
- │ │ │ └── operator_loc: (300...302) = "**"
+ │ │ │ ├── name_loc: (27,8)-(27,11) = "baz"
+ │ │ │ └── operator_loc: (27,6)-(27,8) = "**"
│ │ └── block:
- │ │ @ BlockParameterNode (location: (307...309))
+ │ │ @ BlockParameterNode (location: (27,13)-(27,15))
│ │ ├── name: :b
- │ │ ├── name_loc: (308...309) = "b"
- │ │ └── operator_loc: (307...308) = "&"
+ │ │ ├── name_loc: (27,14)-(27,15) = "b"
+ │ │ └── operator_loc: (27,13)-(27,14) = "&"
│ ├── body: ∅
│ ├── locals: [:baz, :b]
- │ ├── def_keyword_loc: (294...297) = "def"
+ │ ├── def_keyword_loc: (27,0)-(27,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (311...314) = "end"
- ├── @ DefNode (location: (316...332))
+ │ └── end_keyword_loc: (27,17)-(27,20) = "end"
+ ├── @ DefNode (location: (29,0)-(29,16))
│ ├── name: :f
- │ ├── name_loc: (320...321) = "f"
+ │ ├── name_loc: (29,4)-(29,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (322...327))
+ │ │ @ ParametersNode (location: (29,6)-(29,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (322...323))
+ │ │ │ @ RestParameterNode (location: (29,6)-(29,7))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (322...323) = "*"
+ │ │ │ └── operator_loc: (29,6)-(29,7) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ KeywordRestParameterNode (location: (325...327))
+ │ │ │ @ KeywordRestParameterNode (location: (29,9)-(29,11))
│ │ │ ├── name: nil
│ │ │ ├── name_loc: ∅
- │ │ │ └── operator_loc: (325...327) = "**"
+ │ │ │ └── operator_loc: (29,9)-(29,11) = "**"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:*, :**]
- │ ├── def_keyword_loc: (316...319) = "def"
+ │ ├── def_keyword_loc: (29,0)-(29,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (329...332) = "end"
- ├── @ DefNode (location: (334...351))
+ │ └── end_keyword_loc: (29,13)-(29,16) = "end"
+ ├── @ DefNode (location: (31,0)-(31,17))
│ ├── name: :f
- │ ├── name_loc: (338...339) = "f"
+ │ ├── name_loc: (31,4)-(31,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (340...346))
+ │ │ @ ParametersNode (location: (31,6)-(31,12))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (340...342))
+ │ │ │ @ RestParameterNode (location: (31,6)-(31,8))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (341...342) = "r"
- │ │ │ └── operator_loc: (340...341) = "*"
+ │ │ │ ├── name_loc: (31,7)-(31,8) = "r"
+ │ │ │ └── operator_loc: (31,6)-(31,7) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (344...346))
+ │ │ @ BlockParameterNode (location: (31,10)-(31,12))
│ │ ├── name: :b
- │ │ ├── name_loc: (345...346) = "b"
- │ │ └── operator_loc: (344...345) = "&"
+ │ │ ├── name_loc: (31,11)-(31,12) = "b"
+ │ │ └── operator_loc: (31,10)-(31,11) = "&"
│ ├── body: ∅
│ ├── locals: [:r, :b]
- │ ├── def_keyword_loc: (334...337) = "def"
+ │ ├── def_keyword_loc: (31,0)-(31,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (348...351) = "end"
- ├── @ DefNode (location: (353...373))
+ │ └── end_keyword_loc: (31,14)-(31,17) = "end"
+ ├── @ DefNode (location: (33,0)-(33,20))
│ ├── name: :f
- │ ├── name_loc: (357...358) = "f"
+ │ ├── name_loc: (33,4)-(33,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (359...368))
+ │ │ @ ParametersNode (location: (33,6)-(33,15))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (359...361))
+ │ │ │ @ RestParameterNode (location: (33,6)-(33,8))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (360...361) = "r"
- │ │ │ └── operator_loc: (359...360) = "*"
+ │ │ │ ├── name_loc: (33,7)-(33,8) = "r"
+ │ │ │ └── operator_loc: (33,6)-(33,7) = "*"
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (363...364))
+ │ │ │ └── @ RequiredParameterNode (location: (33,10)-(33,11))
│ │ │ └── name: :p
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (366...368))
+ │ │ @ BlockParameterNode (location: (33,13)-(33,15))
│ │ ├── name: :b
- │ │ ├── name_loc: (367...368) = "b"
- │ │ └── operator_loc: (366...367) = "&"
+ │ │ ├── name_loc: (33,14)-(33,15) = "b"
+ │ │ └── operator_loc: (33,13)-(33,14) = "&"
│ ├── body: ∅
│ ├── locals: [:r, :p, :b]
- │ ├── def_keyword_loc: (353...356) = "def"
+ │ ├── def_keyword_loc: (33,0)-(33,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (370...373) = "end"
- ├── @ DefNode (location: (375...386))
+ │ └── end_keyword_loc: (33,17)-(33,20) = "end"
+ ├── @ DefNode (location: (35,0)-(35,11))
│ ├── name: :f
- │ ├── name_loc: (379...380) = "f"
+ │ ├── name_loc: (35,4)-(35,5) = "f"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (375...378) = "def"
+ │ ├── def_keyword_loc: (35,0)-(35,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (383...386) = "end"
- ├── @ DefNode (location: (388...404))
+ │ └── end_keyword_loc: (35,8)-(35,11) = "end"
+ ├── @ DefNode (location: (37,0)-(37,16))
│ ├── name: :f
- │ ├── name_loc: (392...393) = "f"
+ │ ├── name_loc: (37,4)-(37,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (394...399))
+ │ │ @ ParametersNode (location: (37,6)-(37,11))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (394...395))
+ │ │ │ └── @ RequiredParameterNode (location: (37,6)-(37,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -554,419 +554,419 @@
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (397...399))
+ │ │ @ BlockParameterNode (location: (37,9)-(37,11))
│ │ ├── name: :b
- │ │ ├── name_loc: (398...399) = "b"
- │ │ └── operator_loc: (397...398) = "&"
+ │ │ ├── name_loc: (37,10)-(37,11) = "b"
+ │ │ └── operator_loc: (37,9)-(37,10) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :b]
- │ ├── def_keyword_loc: (388...391) = "def"
+ │ ├── def_keyword_loc: (37,0)-(37,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (401...404) = "end"
- ├── @ DefNode (location: (406...426))
+ │ └── end_keyword_loc: (37,13)-(37,16) = "end"
+ ├── @ DefNode (location: (39,0)-(39,20))
│ ├── name: :f
- │ ├── name_loc: (410...411) = "f"
+ │ ├── name_loc: (39,4)-(39,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (412...421))
+ │ │ @ ParametersNode (location: (39,6)-(39,15))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (412...413))
+ │ │ │ └── @ RequiredParameterNode (location: (39,6)-(39,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (415...417))
+ │ │ │ @ RestParameterNode (location: (39,9)-(39,11))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (416...417) = "r"
- │ │ │ └── operator_loc: (415...416) = "*"
+ │ │ │ ├── name_loc: (39,10)-(39,11) = "r"
+ │ │ │ └── operator_loc: (39,9)-(39,10) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (419...421))
+ │ │ @ BlockParameterNode (location: (39,13)-(39,15))
│ │ ├── name: :b
- │ │ ├── name_loc: (420...421) = "b"
- │ │ └── operator_loc: (419...420) = "&"
+ │ │ ├── name_loc: (39,14)-(39,15) = "b"
+ │ │ └── operator_loc: (39,13)-(39,14) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :r, :b]
- │ ├── def_keyword_loc: (406...409) = "def"
+ │ ├── def_keyword_loc: (39,0)-(39,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (423...426) = "end"
- ├── @ DefNode (location: (428...451))
+ │ └── end_keyword_loc: (39,17)-(39,20) = "end"
+ ├── @ DefNode (location: (41,0)-(41,23))
│ ├── name: :f
- │ ├── name_loc: (432...433) = "f"
+ │ ├── name_loc: (41,4)-(41,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (434...446))
+ │ │ @ ParametersNode (location: (41,6)-(41,18))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (434...435))
+ │ │ │ └── @ RequiredParameterNode (location: (41,6)-(41,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (437...439))
+ │ │ │ @ RestParameterNode (location: (41,9)-(41,11))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (438...439) = "r"
- │ │ │ └── operator_loc: (437...438) = "*"
+ │ │ │ ├── name_loc: (41,10)-(41,11) = "r"
+ │ │ │ └── operator_loc: (41,9)-(41,10) = "*"
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (441...442))
+ │ │ │ └── @ RequiredParameterNode (location: (41,13)-(41,14))
│ │ │ └── name: :p
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (444...446))
+ │ │ @ BlockParameterNode (location: (41,16)-(41,18))
│ │ ├── name: :b
- │ │ ├── name_loc: (445...446) = "b"
- │ │ └── operator_loc: (444...445) = "&"
+ │ │ ├── name_loc: (41,17)-(41,18) = "b"
+ │ │ └── operator_loc: (41,16)-(41,17) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :r, :p, :b]
- │ ├── def_keyword_loc: (428...431) = "def"
+ │ ├── def_keyword_loc: (41,0)-(41,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (448...451) = "end"
- ├── @ DefNode (location: (453...474))
+ │ └── end_keyword_loc: (41,20)-(41,23) = "end"
+ ├── @ DefNode (location: (43,0)-(43,21))
│ ├── name: :f
- │ ├── name_loc: (457...458) = "f"
+ │ ├── name_loc: (43,4)-(43,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (459...469))
+ │ │ @ ParametersNode (location: (43,6)-(43,16))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (459...460))
+ │ │ │ └── @ RequiredParameterNode (location: (43,6)-(43,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (462...465))
+ │ │ │ └── @ OptionalParameterNode (location: (43,9)-(43,12))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (462...463) = "o"
- │ │ │ ├── operator_loc: (463...464) = "="
+ │ │ │ ├── name_loc: (43,9)-(43,10) = "o"
+ │ │ │ ├── operator_loc: (43,10)-(43,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (464...465))
+ │ │ │ @ IntegerNode (location: (43,11)-(43,12))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (467...469))
+ │ │ @ BlockParameterNode (location: (43,14)-(43,16))
│ │ ├── name: :b
- │ │ ├── name_loc: (468...469) = "b"
- │ │ └── operator_loc: (467...468) = "&"
+ │ │ ├── name_loc: (43,15)-(43,16) = "b"
+ │ │ └── operator_loc: (43,14)-(43,15) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :o, :b]
- │ ├── def_keyword_loc: (453...456) = "def"
+ │ ├── def_keyword_loc: (43,0)-(43,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (471...474) = "end"
- ├── @ DefNode (location: (476...501))
+ │ └── end_keyword_loc: (43,18)-(43,21) = "end"
+ ├── @ DefNode (location: (45,0)-(45,25))
│ ├── name: :f
- │ ├── name_loc: (480...481) = "f"
+ │ ├── name_loc: (45,4)-(45,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (482...496))
+ │ │ @ ParametersNode (location: (45,6)-(45,20))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (482...483))
+ │ │ │ └── @ RequiredParameterNode (location: (45,6)-(45,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (485...488))
+ │ │ │ └── @ OptionalParameterNode (location: (45,9)-(45,12))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (485...486) = "o"
- │ │ │ ├── operator_loc: (486...487) = "="
+ │ │ │ ├── name_loc: (45,9)-(45,10) = "o"
+ │ │ │ ├── operator_loc: (45,10)-(45,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (487...488))
+ │ │ │ @ IntegerNode (location: (45,11)-(45,12))
│ │ │ └── flags: decimal
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (490...492))
+ │ │ │ @ RestParameterNode (location: (45,14)-(45,16))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (491...492) = "r"
- │ │ │ └── operator_loc: (490...491) = "*"
+ │ │ │ ├── name_loc: (45,15)-(45,16) = "r"
+ │ │ │ └── operator_loc: (45,14)-(45,15) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (494...496))
+ │ │ @ BlockParameterNode (location: (45,18)-(45,20))
│ │ ├── name: :b
- │ │ ├── name_loc: (495...496) = "b"
- │ │ └── operator_loc: (494...495) = "&"
+ │ │ ├── name_loc: (45,19)-(45,20) = "b"
+ │ │ └── operator_loc: (45,18)-(45,19) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :o, :r, :b]
- │ ├── def_keyword_loc: (476...479) = "def"
+ │ ├── def_keyword_loc: (45,0)-(45,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (498...501) = "end"
- ├── @ DefNode (location: (503...531))
+ │ └── end_keyword_loc: (45,22)-(45,25) = "end"
+ ├── @ DefNode (location: (47,0)-(47,28))
│ ├── name: :f
- │ ├── name_loc: (507...508) = "f"
+ │ ├── name_loc: (47,4)-(47,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (509...526))
+ │ │ @ ParametersNode (location: (47,6)-(47,23))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (509...510))
+ │ │ │ └── @ RequiredParameterNode (location: (47,6)-(47,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (512...515))
+ │ │ │ └── @ OptionalParameterNode (location: (47,9)-(47,12))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (512...513) = "o"
- │ │ │ ├── operator_loc: (513...514) = "="
+ │ │ │ ├── name_loc: (47,9)-(47,10) = "o"
+ │ │ │ ├── operator_loc: (47,10)-(47,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (514...515))
+ │ │ │ @ IntegerNode (location: (47,11)-(47,12))
│ │ │ └── flags: decimal
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (517...519))
+ │ │ │ @ RestParameterNode (location: (47,14)-(47,16))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (518...519) = "r"
- │ │ │ └── operator_loc: (517...518) = "*"
+ │ │ │ ├── name_loc: (47,15)-(47,16) = "r"
+ │ │ │ └── operator_loc: (47,14)-(47,15) = "*"
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (521...522))
+ │ │ │ └── @ RequiredParameterNode (location: (47,18)-(47,19))
│ │ │ └── name: :p
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (524...526))
+ │ │ @ BlockParameterNode (location: (47,21)-(47,23))
│ │ ├── name: :b
- │ │ ├── name_loc: (525...526) = "b"
- │ │ └── operator_loc: (524...525) = "&"
+ │ │ ├── name_loc: (47,22)-(47,23) = "b"
+ │ │ └── operator_loc: (47,21)-(47,22) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :o, :r, :p, :b]
- │ ├── def_keyword_loc: (503...506) = "def"
+ │ ├── def_keyword_loc: (47,0)-(47,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (528...531) = "end"
- ├── @ DefNode (location: (533...557))
+ │ └── end_keyword_loc: (47,25)-(47,28) = "end"
+ ├── @ DefNode (location: (49,0)-(49,24))
│ ├── name: :f
- │ ├── name_loc: (537...538) = "f"
+ │ ├── name_loc: (49,4)-(49,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (539...552))
+ │ │ @ ParametersNode (location: (49,6)-(49,19))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (539...540))
+ │ │ │ └── @ RequiredParameterNode (location: (49,6)-(49,7))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (542...545))
+ │ │ │ └── @ OptionalParameterNode (location: (49,9)-(49,12))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (542...543) = "o"
- │ │ │ ├── operator_loc: (543...544) = "="
+ │ │ │ ├── name_loc: (49,9)-(49,10) = "o"
+ │ │ │ ├── operator_loc: (49,10)-(49,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (544...545))
+ │ │ │ @ IntegerNode (location: (49,11)-(49,12))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (547...548))
+ │ │ │ └── @ RequiredParameterNode (location: (49,14)-(49,15))
│ │ │ └── name: :p
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (550...552))
+ │ │ @ BlockParameterNode (location: (49,17)-(49,19))
│ │ ├── name: :b
- │ │ ├── name_loc: (551...552) = "b"
- │ │ └── operator_loc: (550...551) = "&"
+ │ │ ├── name_loc: (49,18)-(49,19) = "b"
+ │ │ └── operator_loc: (49,17)-(49,18) = "&"
│ ├── body: ∅
│ ├── locals: [:a, :o, :p, :b]
- │ ├── def_keyword_loc: (533...536) = "def"
+ │ ├── def_keyword_loc: (49,0)-(49,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (554...557) = "end"
- ├── @ DefNode (location: (559...575))
+ │ └── end_keyword_loc: (49,21)-(49,24) = "end"
+ ├── @ DefNode (location: (51,0)-(52,5))
│ ├── name: :f
- │ ├── name_loc: (563...564) = "f"
+ │ ├── name_loc: (51,4)-(51,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (565...569))
+ │ │ @ ParametersNode (location: (51,6)-(51,10))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (565...569))
+ │ │ │ └── @ KeywordParameterNode (location: (51,6)-(51,10))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (565...569) = "foo:"
+ │ │ │ ├── name_loc: (51,6)-(51,10) = "foo:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:foo]
- │ ├── def_keyword_loc: (559...562) = "def"
+ │ ├── def_keyword_loc: (51,0)-(51,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (572...575) = "end"
- ├── @ DefNode (location: (577...596))
+ │ └── end_keyword_loc: (52,2)-(52,5) = "end"
+ ├── @ DefNode (location: (54,0)-(55,5))
│ ├── name: :f
- │ ├── name_loc: (581...582) = "f"
+ │ ├── name_loc: (54,4)-(54,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (583...590))
+ │ │ @ ParametersNode (location: (54,6)-(54,13))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (583...590))
+ │ │ │ └── @ KeywordParameterNode (location: (54,6)-(54,13))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (583...587) = "foo:"
+ │ │ │ ├── name_loc: (54,6)-(54,10) = "foo:"
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (588...590))
+ │ │ │ @ IntegerNode (location: (54,11)-(54,13))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:foo]
- │ ├── def_keyword_loc: (577...580) = "def"
+ │ ├── def_keyword_loc: (54,0)-(54,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (593...596) = "end"
- ├── @ DefNode (location: (598...616))
+ │ └── end_keyword_loc: (55,2)-(55,5) = "end"
+ ├── @ DefNode (location: (57,0)-(57,18))
│ ├── name: :f
- │ ├── name_loc: (602...603) = "f"
+ │ ├── name_loc: (57,4)-(57,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (604...611))
+ │ │ @ ParametersNode (location: (57,6)-(57,13))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (604...607))
+ │ │ │ └── @ OptionalParameterNode (location: (57,6)-(57,9))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (604...605) = "o"
- │ │ │ ├── operator_loc: (605...606) = "="
+ │ │ │ ├── name_loc: (57,6)-(57,7) = "o"
+ │ │ │ ├── operator_loc: (57,7)-(57,8) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (606...607))
+ │ │ │ @ IntegerNode (location: (57,8)-(57,9))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (609...611))
+ │ │ @ BlockParameterNode (location: (57,11)-(57,13))
│ │ ├── name: :b
- │ │ ├── name_loc: (610...611) = "b"
- │ │ └── operator_loc: (609...610) = "&"
+ │ │ ├── name_loc: (57,12)-(57,13) = "b"
+ │ │ └── operator_loc: (57,11)-(57,12) = "&"
│ ├── body: ∅
│ ├── locals: [:o, :b]
- │ ├── def_keyword_loc: (598...601) = "def"
+ │ ├── def_keyword_loc: (57,0)-(57,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (613...616) = "end"
- ├── @ DefNode (location: (618...640))
+ │ └── end_keyword_loc: (57,15)-(57,18) = "end"
+ ├── @ DefNode (location: (59,0)-(59,22))
│ ├── name: :f
- │ ├── name_loc: (622...623) = "f"
+ │ ├── name_loc: (59,4)-(59,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (624...635))
+ │ │ @ ParametersNode (location: (59,6)-(59,17))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (624...627))
+ │ │ │ └── @ OptionalParameterNode (location: (59,6)-(59,9))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (624...625) = "o"
- │ │ │ ├── operator_loc: (625...626) = "="
+ │ │ │ ├── name_loc: (59,6)-(59,7) = "o"
+ │ │ │ ├── operator_loc: (59,7)-(59,8) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (626...627))
+ │ │ │ @ IntegerNode (location: (59,8)-(59,9))
│ │ │ └── flags: decimal
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (629...631))
+ │ │ │ @ RestParameterNode (location: (59,11)-(59,13))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (630...631) = "r"
- │ │ │ └── operator_loc: (629...630) = "*"
+ │ │ │ ├── name_loc: (59,12)-(59,13) = "r"
+ │ │ │ └── operator_loc: (59,11)-(59,12) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (633...635))
+ │ │ @ BlockParameterNode (location: (59,15)-(59,17))
│ │ ├── name: :b
- │ │ ├── name_loc: (634...635) = "b"
- │ │ └── operator_loc: (633...634) = "&"
+ │ │ ├── name_loc: (59,16)-(59,17) = "b"
+ │ │ └── operator_loc: (59,15)-(59,16) = "&"
│ ├── body: ∅
│ ├── locals: [:o, :r, :b]
- │ ├── def_keyword_loc: (618...621) = "def"
+ │ ├── def_keyword_loc: (59,0)-(59,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (637...640) = "end"
- ├── @ DefNode (location: (642...667))
+ │ └── end_keyword_loc: (59,19)-(59,22) = "end"
+ ├── @ DefNode (location: (61,0)-(61,25))
│ ├── name: :f
- │ ├── name_loc: (646...647) = "f"
+ │ ├── name_loc: (61,4)-(61,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (648...662))
+ │ │ @ ParametersNode (location: (61,6)-(61,20))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (648...651))
+ │ │ │ └── @ OptionalParameterNode (location: (61,6)-(61,9))
│ │ │ ├── name: :o
- │ │ │ ├── name_loc: (648...649) = "o"
- │ │ │ ├── operator_loc: (649...650) = "="
+ │ │ │ ├── name_loc: (61,6)-(61,7) = "o"
+ │ │ │ ├── operator_loc: (61,7)-(61,8) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (650...651))
+ │ │ │ @ IntegerNode (location: (61,8)-(61,9))
│ │ │ └── flags: decimal
│ │ ├── rest:
- │ │ │ @ RestParameterNode (location: (653...655))
+ │ │ │ @ RestParameterNode (location: (61,11)-(61,13))
│ │ │ ├── name: :r
- │ │ │ ├── name_loc: (654...655) = "r"
- │ │ │ └── operator_loc: (653...654) = "*"
+ │ │ │ ├── name_loc: (61,12)-(61,13) = "r"
+ │ │ │ └── operator_loc: (61,11)-(61,12) = "*"
│ │ ├── posts: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (657...658))
+ │ │ │ └── @ RequiredParameterNode (location: (61,15)-(61,16))
│ │ │ └── name: :p
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
- │ │ @ BlockParameterNode (location: (660...662))
+ │ │ @ BlockParameterNode (location: (61,18)-(61,20))
│ │ ├── name: :b
- │ │ ├── name_loc: (661...662) = "b"
- │ │ └── operator_loc: (660...661) = "&"
+ │ │ ├── name_loc: (61,19)-(61,20) = "b"
+ │ │ └── operator_loc: (61,18)-(61,19) = "&"
│ ├── body: ∅
│ ├── locals: [:o, :r, :p, :b]
- │ ├── def_keyword_loc: (642...645) = "def"
+ │ ├── def_keyword_loc: (61,0)-(61,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (664...667) = "end"
- └── @ DefNode (location: (669...690))
+ │ └── end_keyword_loc: (61,22)-(61,25) = "end"
+ └── @ DefNode (location: (63,0)-(63,21))
├── name: :f
- ├── name_loc: (673...674) = "f"
+ ├── name_loc: (63,4)-(63,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (675...685))
+ │ @ ParametersNode (location: (63,6)-(63,16))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 1)
- │ │ └── @ OptionalParameterNode (location: (675...678))
+ │ │ └── @ OptionalParameterNode (location: (63,6)-(63,9))
│ │ ├── name: :o
- │ │ ├── name_loc: (675...676) = "o"
- │ │ ├── operator_loc: (676...677) = "="
+ │ │ ├── name_loc: (63,6)-(63,7) = "o"
+ │ │ ├── operator_loc: (63,7)-(63,8) = "="
│ │ └── value:
- │ │ @ IntegerNode (location: (677...678))
+ │ │ @ IntegerNode (location: (63,8)-(63,9))
│ │ └── flags: decimal
│ ├── rest: ∅
│ ├── posts: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (680...681))
+ │ │ └── @ RequiredParameterNode (location: (63,11)-(63,12))
│ │ └── name: :p
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (683...685))
+ │ @ BlockParameterNode (location: (63,14)-(63,16))
│ ├── name: :b
- │ ├── name_loc: (684...685) = "b"
- │ └── operator_loc: (683...684) = "&"
+ │ ├── name_loc: (63,15)-(63,16) = "b"
+ │ └── operator_loc: (63,14)-(63,15) = "&"
├── body: ∅
├── locals: [:o, :p, :b]
- ├── def_keyword_loc: (669...672) = "def"
+ ├── def_keyword_loc: (63,0)-(63,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (687...690) = "end"
+ └── end_keyword_loc: (63,18)-(63,21) = "end"
diff --git a/test/yarp/snapshots/whitequark/args_args_assocs.txt b/test/yarp/snapshots/whitequark/args_args_assocs.txt
index 545b54e660..38d1a2622d 100644
--- a/test/yarp/snapshots/whitequark/args_args_assocs.txt
+++ b/test/yarp/snapshots/whitequark/args_args_assocs.txt
@@ -1,88 +1,88 @@
-@ ProgramNode (location: (0...45))
+@ ProgramNode (location: (1,0)-(3,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...45))
+ @ StatementsNode (location: (1,0)-(3,24))
└── body: (length: 2)
- ├── @ CallNode (location: (0...19))
+ ├── @ CallNode (location: (1,0)-(1,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...18))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,18))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (4...7))
+ │ │ ├── @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...7) = "foo"
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ KeywordHashNode (location: (9...18))
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (9...18))
+ │ │ └── @ AssocNode (location: (1,9)-(1,18))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (9...13))
- │ │ │ ├── opening_loc: (9...10) = ":"
- │ │ │ ├── value_loc: (10...13) = "foo"
+ │ │ │ @ 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: (17...18))
+ │ │ │ @ IntegerNode (location: (1,17)-(1,18))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (14...16) = "=>"
- │ ├── closing_loc: (18...19) = ")"
+ │ │ └── operator_loc: (1,14)-(1,16) = "=>"
+ │ ├── closing_loc: (1,18)-(1,19) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (21...45))
+ └── @ CallNode (location: (3,0)-(3,24))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (21...24) = "fun"
- ├── opening_loc: (24...25) = "("
+ ├── message_loc: (3,0)-(3,3) = "fun"
+ ├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (25...39))
+ │ @ ArgumentsNode (location: (3,4)-(3,18))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (25...28))
+ │ ├── @ CallNode (location: (3,4)-(3,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (25...28) = "foo"
+ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── @ KeywordHashNode (location: (30...39))
+ │ └── @ KeywordHashNode (location: (3,9)-(3,18))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (30...39))
+ │ └── @ AssocNode (location: (3,9)-(3,18))
│ ├── key:
- │ │ @ SymbolNode (location: (30...34))
- │ │ ├── opening_loc: (30...31) = ":"
- │ │ ├── value_loc: (31...34) = "foo"
+ │ │ @ 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: (38...39))
+ │ │ @ IntegerNode (location: (3,17)-(3,18))
│ │ └── flags: decimal
- │ └── operator_loc: (35...37) = "=>"
- ├── closing_loc: (45...46) = ")"
+ │ └── operator_loc: (3,14)-(3,16) = "=>"
+ ├── closing_loc: (3,24)-(3,25) = ")"
├── block:
- │ @ BlockArgumentNode (location: (41...45))
+ │ @ BlockArgumentNode (location: (3,20)-(3,24))
│ ├── expression:
- │ │ @ CallNode (location: (42...45))
+ │ │ @ CallNode (location: (3,21)-(3,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...45) = "baz"
+ │ │ ├── message_loc: (3,21)-(3,24) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── operator_loc: (41...42) = "&"
+ │ └── operator_loc: (3,20)-(3,21) = "&"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/args_args_assocs_comma.txt b/test/yarp/snapshots/whitequark/args_args_assocs_comma.txt
index df8e9cb739..80a6079616 100644
--- a/test/yarp/snapshots/whitequark/args_args_assocs_comma.txt
+++ b/test/yarp/snapshots/whitequark/args_args_assocs_comma.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ CallNode (location: (0...20))
+ └── @ CallNode (location: (1,0)-(1,20))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,35 +16,35 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...20) = "[bar, :baz => 1,]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,20) = "[bar, :baz => 1,]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...18))
+ │ @ ArgumentsNode (location: (1,4)-(1,18))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (4...7))
+ │ ├── @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...7) = "bar"
+ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── @ KeywordHashNode (location: (9...18))
+ │ └── @ KeywordHashNode (location: (1,9)-(1,18))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (9...18))
+ │ └── @ AssocNode (location: (1,9)-(1,18))
│ ├── key:
- │ │ @ SymbolNode (location: (9...13))
- │ │ ├── opening_loc: (9...10) = ":"
- │ │ ├── value_loc: (10...13) = "baz"
+ │ │ @ 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: (17...18))
+ │ │ @ IntegerNode (location: (1,17)-(1,18))
│ │ └── flags: decimal
- │ └── operator_loc: (14...16) = "=>"
- ├── closing_loc: (19...20) = "]"
+ │ └── operator_loc: (1,14)-(1,16) = "=>"
+ ├── closing_loc: (1,19)-(1,20) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/args_args_comma.txt b/test/yarp/snapshots/whitequark/args_args_comma.txt
index 361f36eb6e..1b2709bfcc 100644
--- a/test/yarp/snapshots/whitequark/args_args_comma.txt
+++ b/test/yarp/snapshots/whitequark/args_args_comma.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[bar,]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[bar,]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...7))
+ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (4...7))
+ │ └── @ CallNode (location: (1,4)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...7) = "bar"
+ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/args_args_star.txt b/test/yarp/snapshots/whitequark/args_args_star.txt
index 2fa0f0e33e..64ea48909c 100644
--- a/test/yarp/snapshots/whitequark/args_args_star.txt
+++ b/test/yarp/snapshots/whitequark/args_args_star.txt
@@ -1,88 +1,88 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(3,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...13))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (4...7))
+ │ │ ├── @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...7) = "foo"
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ SplatNode (location: (9...13))
- │ │ ├── operator_loc: (9...10) = "*"
+ │ │ └── @ SplatNode (location: (1,9)-(1,13))
+ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (10...13))
+ │ │ @ CallNode (location: (1,10)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...13) = "bar"
+ │ │ ├── message_loc: (1,10)-(1,13) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (13...14) = ")"
+ │ ├── closing_loc: (1,13)-(1,14) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (16...35))
+ └── @ CallNode (location: (3,0)-(3,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (16...19) = "fun"
- ├── opening_loc: (19...20) = "("
+ ├── message_loc: (3,0)-(3,3) = "fun"
+ ├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (20...29))
+ │ @ ArgumentsNode (location: (3,4)-(3,13))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (20...23))
+ │ ├── @ CallNode (location: (3,4)-(3,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...23) = "foo"
+ │ │ ├── message_loc: (3,4)-(3,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── @ SplatNode (location: (25...29))
- │ ├── operator_loc: (25...26) = "*"
+ │ └── @ SplatNode (location: (3,9)-(3,13))
+ │ ├── operator_loc: (3,9)-(3,10) = "*"
│ └── expression:
- │ @ CallNode (location: (26...29))
+ │ @ CallNode (location: (3,10)-(3,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...29) = "bar"
+ │ ├── message_loc: (3,10)-(3,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── closing_loc: (35...36) = ")"
+ ├── closing_loc: (3,19)-(3,20) = ")"
├── block:
- │ @ BlockArgumentNode (location: (31...35))
+ │ @ BlockArgumentNode (location: (3,15)-(3,19))
│ ├── expression:
- │ │ @ CallNode (location: (32...35))
+ │ │ @ CallNode (location: (3,16)-(3,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (32...35) = "baz"
+ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── operator_loc: (31...32) = "&"
+ │ └── operator_loc: (3,15)-(3,16) = "&"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/args_assocs.txt b/test/yarp/snapshots/whitequark/args_assocs.txt
index ae8e3cdf16..518b760764 100644
--- a/test/yarp/snapshots/whitequark/args_assocs.txt
+++ b/test/yarp/snapshots/whitequark/args_assocs.txt
@@ -1,171 +1,171 @@
-@ ProgramNode (location: (0...114))
+@ ProgramNode (location: (1,0)-(11,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...114))
+ @ StatementsNode (location: (1,0)-(11,17))
└── body: (length: 6)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...13))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (4...13))
+ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (4...13))
+ │ │ └── @ AssocNode (location: (1,4)-(1,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (4...8))
- │ │ │ ├── opening_loc: (4...5) = ":"
- │ │ │ ├── value_loc: (5...8) = "foo"
+ │ │ │ @ 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: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (9...11) = "=>"
- │ ├── closing_loc: (13...14) = ")"
+ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
+ │ ├── closing_loc: (1,13)-(1,14) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (16...35))
+ ├── @ CallNode (location: (3,0)-(3,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...19) = "fun"
- │ ├── opening_loc: (19...20) = "("
+ │ ├── message_loc: (3,0)-(3,3) = "fun"
+ │ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (20...29))
+ │ │ @ ArgumentsNode (location: (3,4)-(3,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (20...29))
+ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (20...29))
+ │ │ └── @ AssocNode (location: (3,4)-(3,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (20...24))
- │ │ │ ├── opening_loc: (20...21) = ":"
- │ │ │ ├── value_loc: (21...24) = "foo"
+ │ │ │ @ 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: (28...29))
+ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (25...27) = "=>"
- │ ├── closing_loc: (35...36) = ")"
+ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
+ │ ├── closing_loc: (3,19)-(3,20) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (31...35))
+ │ │ @ BlockArgumentNode (location: (3,15)-(3,19))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (32...35))
+ │ │ │ @ CallNode (location: (3,16)-(3,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (32...35) = "baz"
+ │ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (31...32) = "&"
+ │ │ └── operator_loc: (3,15)-(3,16) = "&"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (38...59))
+ ├── @ CallNode (location: (5,0)-(5,21))
│ ├── receiver:
- │ │ @ SelfNode (location: (38...42))
- │ ├── call_operator_loc: (42...43) = "."
- │ ├── message_loc: (43...46) = "[]="
+ │ │ @ SelfNode (location: (5,0)-(5,4))
+ │ ├── call_operator_loc: (5,4)-(5,5) = "."
+ │ ├── message_loc: (5,5)-(5,8) = "[]="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (47...59))
+ │ │ @ ArgumentsNode (location: (5,9)-(5,21))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (47...50))
+ │ │ ├── @ CallNode (location: (5,9)-(5,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (47...50) = "foo"
+ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ KeywordHashNode (location: (52...59))
+ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (52...59))
+ │ │ └── @ AssocNode (location: (5,14)-(5,21))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (52...54))
- │ │ │ ├── opening_loc: (52...53) = ":"
- │ │ │ ├── value_loc: (53...54) = "a"
+ │ │ │ @ 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: (58...59))
+ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (55...57) = "=>"
+ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (61...76))
+ ├── @ CallNode (location: (7,0)-(7,15))
│ ├── receiver:
- │ │ @ SelfNode (location: (61...65))
+ │ │ @ SelfNode (location: (7,0)-(7,4))
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (65...76) = "[:bar => 1]"
- │ ├── opening_loc: (65...66) = "["
+ │ ├── message_loc: (7,4)-(7,15) = "[:bar => 1]"
+ │ ├── opening_loc: (7,4)-(7,5) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (66...75))
+ │ │ @ ArgumentsNode (location: (7,5)-(7,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (66...75))
+ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (66...75))
+ │ │ └── @ AssocNode (location: (7,5)-(7,14))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (66...70))
- │ │ │ ├── opening_loc: (66...67) = ":"
- │ │ │ ├── value_loc: (67...70) = "bar"
+ │ │ │ @ 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: (74...75))
+ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (71...73) = "=>"
- │ ├── closing_loc: (75...76) = "]"
+ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
+ │ ├── closing_loc: (7,14)-(7,15) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ SuperNode (location: (78...95))
- │ ├── keyword_loc: (78...83) = "super"
- │ ├── lparen_loc: (83...84) = "("
+ ├── @ SuperNode (location: (9,0)-(9,17))
+ │ ├── keyword_loc: (9,0)-(9,5) = "super"
+ │ ├── lparen_loc: (9,5)-(9,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (84...94))
+ │ │ @ ArgumentsNode (location: (9,6)-(9,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (84...94))
+ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (84...94))
+ │ │ └── @ AssocNode (location: (9,6)-(9,16))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (84...88))
- │ │ │ ├── opening_loc: (84...85) = ":"
- │ │ │ ├── value_loc: (85...88) = "foo"
+ │ │ │ @ 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: (92...94))
+ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (89...91) = "=>"
- │ ├── rparen_loc: (94...95) = ")"
+ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
+ │ ├── rparen_loc: (9,16)-(9,17) = ")"
│ └── block: ∅
- └── @ YieldNode (location: (97...114))
- ├── keyword_loc: (97...102) = "yield"
- ├── lparen_loc: (102...103) = "("
+ └── @ YieldNode (location: (11,0)-(11,17))
+ ├── keyword_loc: (11,0)-(11,5) = "yield"
+ ├── lparen_loc: (11,5)-(11,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (103...113))
+ │ @ ArgumentsNode (location: (11,6)-(11,16))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (103...113))
+ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (103...113))
+ │ └── @ AssocNode (location: (11,6)-(11,16))
│ ├── key:
- │ │ @ SymbolNode (location: (103...107))
- │ │ ├── opening_loc: (103...104) = ":"
- │ │ ├── value_loc: (104...107) = "foo"
+ │ │ @ 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: (111...113))
+ │ │ @ IntegerNode (location: (11,14)-(11,16))
│ │ └── flags: decimal
- │ └── operator_loc: (108...110) = "=>"
- └── rparen_loc: (113...114) = ")"
+ │ └── operator_loc: (11,11)-(11,13) = "=>"
+ └── rparen_loc: (11,16)-(11,17) = ")"
diff --git a/test/yarp/snapshots/whitequark/args_assocs_comma.txt b/test/yarp/snapshots/whitequark/args_assocs_comma.txt
index a37c01d525..238ba6ff28 100644
--- a/test/yarp/snapshots/whitequark/args_assocs_comma.txt
+++ b/test/yarp/snapshots/whitequark/args_assocs_comma.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,25 +16,25 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...15) = "[:baz => 1,]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,15) = "[:baz => 1,]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...13))
+ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (4...13))
+ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (4...13))
+ │ └── @ AssocNode (location: (1,4)-(1,13))
│ ├── key:
- │ │ @ SymbolNode (location: (4...8))
- │ │ ├── opening_loc: (4...5) = ":"
- │ │ ├── value_loc: (5...8) = "baz"
+ │ │ @ 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: (12...13))
+ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ └── flags: decimal
- │ └── operator_loc: (9...11) = "=>"
- ├── closing_loc: (14...15) = "]"
+ │ └── operator_loc: (1,9)-(1,11) = "=>"
+ ├── closing_loc: (1,14)-(1,15) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/args_assocs_legacy.txt b/test/yarp/snapshots/whitequark/args_assocs_legacy.txt
index ae8e3cdf16..518b760764 100644
--- a/test/yarp/snapshots/whitequark/args_assocs_legacy.txt
+++ b/test/yarp/snapshots/whitequark/args_assocs_legacy.txt
@@ -1,171 +1,171 @@
-@ ProgramNode (location: (0...114))
+@ ProgramNode (location: (1,0)-(11,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...114))
+ @ StatementsNode (location: (1,0)-(11,17))
└── body: (length: 6)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...13))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (4...13))
+ │ │ └── @ KeywordHashNode (location: (1,4)-(1,13))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (4...13))
+ │ │ └── @ AssocNode (location: (1,4)-(1,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (4...8))
- │ │ │ ├── opening_loc: (4...5) = ":"
- │ │ │ ├── value_loc: (5...8) = "foo"
+ │ │ │ @ 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: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (9...11) = "=>"
- │ ├── closing_loc: (13...14) = ")"
+ │ │ └── operator_loc: (1,9)-(1,11) = "=>"
+ │ ├── closing_loc: (1,13)-(1,14) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (16...35))
+ ├── @ CallNode (location: (3,0)-(3,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...19) = "fun"
- │ ├── opening_loc: (19...20) = "("
+ │ ├── message_loc: (3,0)-(3,3) = "fun"
+ │ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (20...29))
+ │ │ @ ArgumentsNode (location: (3,4)-(3,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (20...29))
+ │ │ └── @ KeywordHashNode (location: (3,4)-(3,13))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (20...29))
+ │ │ └── @ AssocNode (location: (3,4)-(3,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (20...24))
- │ │ │ ├── opening_loc: (20...21) = ":"
- │ │ │ ├── value_loc: (21...24) = "foo"
+ │ │ │ @ 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: (28...29))
+ │ │ │ @ IntegerNode (location: (3,12)-(3,13))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (25...27) = "=>"
- │ ├── closing_loc: (35...36) = ")"
+ │ │ └── operator_loc: (3,9)-(3,11) = "=>"
+ │ ├── closing_loc: (3,19)-(3,20) = ")"
│ ├── block:
- │ │ @ BlockArgumentNode (location: (31...35))
+ │ │ @ BlockArgumentNode (location: (3,15)-(3,19))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (32...35))
+ │ │ │ @ CallNode (location: (3,16)-(3,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (32...35) = "baz"
+ │ │ │ ├── message_loc: (3,16)-(3,19) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── operator_loc: (31...32) = "&"
+ │ │ └── operator_loc: (3,15)-(3,16) = "&"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (38...59))
+ ├── @ CallNode (location: (5,0)-(5,21))
│ ├── receiver:
- │ │ @ SelfNode (location: (38...42))
- │ ├── call_operator_loc: (42...43) = "."
- │ ├── message_loc: (43...46) = "[]="
+ │ │ @ SelfNode (location: (5,0)-(5,4))
+ │ ├── call_operator_loc: (5,4)-(5,5) = "."
+ │ ├── message_loc: (5,5)-(5,8) = "[]="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (47...59))
+ │ │ @ ArgumentsNode (location: (5,9)-(5,21))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (47...50))
+ │ │ ├── @ CallNode (location: (5,9)-(5,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (47...50) = "foo"
+ │ │ │ ├── message_loc: (5,9)-(5,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ KeywordHashNode (location: (52...59))
+ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (52...59))
+ │ │ └── @ AssocNode (location: (5,14)-(5,21))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (52...54))
- │ │ │ ├── opening_loc: (52...53) = ":"
- │ │ │ ├── value_loc: (53...54) = "a"
+ │ │ │ @ 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: (58...59))
+ │ │ │ @ IntegerNode (location: (5,20)-(5,21))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (55...57) = "=>"
+ │ │ └── operator_loc: (5,17)-(5,19) = "=>"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]="
- ├── @ CallNode (location: (61...76))
+ ├── @ CallNode (location: (7,0)-(7,15))
│ ├── receiver:
- │ │ @ SelfNode (location: (61...65))
+ │ │ @ SelfNode (location: (7,0)-(7,4))
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (65...76) = "[:bar => 1]"
- │ ├── opening_loc: (65...66) = "["
+ │ ├── message_loc: (7,4)-(7,15) = "[:bar => 1]"
+ │ ├── opening_loc: (7,4)-(7,5) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (66...75))
+ │ │ @ ArgumentsNode (location: (7,5)-(7,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (66...75))
+ │ │ └── @ KeywordHashNode (location: (7,5)-(7,14))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (66...75))
+ │ │ └── @ AssocNode (location: (7,5)-(7,14))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (66...70))
- │ │ │ ├── opening_loc: (66...67) = ":"
- │ │ │ ├── value_loc: (67...70) = "bar"
+ │ │ │ @ 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: (74...75))
+ │ │ │ @ IntegerNode (location: (7,13)-(7,14))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (71...73) = "=>"
- │ ├── closing_loc: (75...76) = "]"
+ │ │ └── operator_loc: (7,10)-(7,12) = "=>"
+ │ ├── closing_loc: (7,14)-(7,15) = "]"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "[]"
- ├── @ SuperNode (location: (78...95))
- │ ├── keyword_loc: (78...83) = "super"
- │ ├── lparen_loc: (83...84) = "("
+ ├── @ SuperNode (location: (9,0)-(9,17))
+ │ ├── keyword_loc: (9,0)-(9,5) = "super"
+ │ ├── lparen_loc: (9,5)-(9,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (84...94))
+ │ │ @ ArgumentsNode (location: (9,6)-(9,16))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (84...94))
+ │ │ └── @ KeywordHashNode (location: (9,6)-(9,16))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (84...94))
+ │ │ └── @ AssocNode (location: (9,6)-(9,16))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (84...88))
- │ │ │ ├── opening_loc: (84...85) = ":"
- │ │ │ ├── value_loc: (85...88) = "foo"
+ │ │ │ @ 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: (92...94))
+ │ │ │ @ IntegerNode (location: (9,14)-(9,16))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (89...91) = "=>"
- │ ├── rparen_loc: (94...95) = ")"
+ │ │ └── operator_loc: (9,11)-(9,13) = "=>"
+ │ ├── rparen_loc: (9,16)-(9,17) = ")"
│ └── block: ∅
- └── @ YieldNode (location: (97...114))
- ├── keyword_loc: (97...102) = "yield"
- ├── lparen_loc: (102...103) = "("
+ └── @ YieldNode (location: (11,0)-(11,17))
+ ├── keyword_loc: (11,0)-(11,5) = "yield"
+ ├── lparen_loc: (11,5)-(11,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (103...113))
+ │ @ ArgumentsNode (location: (11,6)-(11,16))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (103...113))
+ │ └── @ KeywordHashNode (location: (11,6)-(11,16))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (103...113))
+ │ └── @ AssocNode (location: (11,6)-(11,16))
│ ├── key:
- │ │ @ SymbolNode (location: (103...107))
- │ │ ├── opening_loc: (103...104) = ":"
- │ │ ├── value_loc: (104...107) = "foo"
+ │ │ @ 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: (111...113))
+ │ │ @ IntegerNode (location: (11,14)-(11,16))
│ │ └── flags: decimal
- │ └── operator_loc: (108...110) = "=>"
- └── rparen_loc: (113...114) = ")"
+ │ └── operator_loc: (11,11)-(11,13) = "=>"
+ └── rparen_loc: (11,16)-(11,17) = ")"
diff --git a/test/yarp/snapshots/whitequark/args_block_pass.txt b/test/yarp/snapshots/whitequark/args_block_pass.txt
index 0667d00520..2cc3008c2e 100644
--- a/test/yarp/snapshots/whitequark/args_block_pass.txt
+++ b/test/yarp/snapshots/whitequark/args_block_pass.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "fun"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments: ∅
- ├── closing_loc: (8...9) = ")"
+ ├── closing_loc: (1,8)-(1,9) = ")"
├── block:
- │ @ BlockArgumentNode (location: (4...8))
+ │ @ BlockArgumentNode (location: (1,4)-(1,8))
│ ├── expression:
- │ │ @ CallNode (location: (5...8))
+ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...8) = "bar"
+ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── operator_loc: (4...5) = "&"
+ │ └── operator_loc: (1,4)-(1,5) = "&"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/args_cmd.txt b/test/yarp/snapshots/whitequark/args_cmd.txt
index ea53fa675e..cd16a4d354 100644
--- a/test/yarp/snapshots/whitequark/args_cmd.txt
+++ b/test/yarp/snapshots/whitequark/args_cmd.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "fun"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...9))
+ │ @ ArgumentsNode (location: (1,4)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (4...9))
+ │ └── @ CallNode (location: (1,4)-(1,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "f"
+ │ ├── message_loc: (1,4)-(1,5) = "f"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...9))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6...9))
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "bar"
+ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -33,7 +33,7 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- ├── closing_loc: (9...10) = ")"
+ ├── closing_loc: (1,9)-(1,10) = ")"
├── block: ∅
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/args_star.txt b/test/yarp/snapshots/whitequark/args_star.txt
index 3c25c18574..13b48ff6bb 100644
--- a/test/yarp/snapshots/whitequark/args_star.txt
+++ b/test/yarp/snapshots/whitequark/args_star.txt
@@ -1,68 +1,68 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(3,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(3,14))
└── body: (length: 2)
- ├── @ CallNode (location: (0...9))
+ ├── @ CallNode (location: (1,0)-(1,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
- │ ├── opening_loc: (3...4) = "("
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...8))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (4...8))
- │ │ ├── operator_loc: (4...5) = "*"
+ │ │ └── @ SplatNode (location: (1,4)-(1,8))
+ │ │ ├── operator_loc: (1,4)-(1,5) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (5...8))
+ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...8) = "bar"
+ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (8...9) = ")"
+ │ ├── closing_loc: (1,8)-(1,9) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (11...25))
+ └── @ CallNode (location: (3,0)-(3,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (11...14) = "fun"
- ├── opening_loc: (14...15) = "("
+ ├── message_loc: (3,0)-(3,3) = "fun"
+ ├── opening_loc: (3,3)-(3,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (15...19))
+ │ @ ArgumentsNode (location: (3,4)-(3,8))
│ └── arguments: (length: 1)
- │ └── @ SplatNode (location: (15...19))
- │ ├── operator_loc: (15...16) = "*"
+ │ └── @ SplatNode (location: (3,4)-(3,8))
+ │ ├── operator_loc: (3,4)-(3,5) = "*"
│ └── expression:
- │ @ CallNode (location: (16...19))
+ │ @ CallNode (location: (3,5)-(3,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (16...19) = "bar"
+ │ ├── message_loc: (3,5)-(3,8) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── closing_loc: (25...26) = ")"
+ ├── closing_loc: (3,14)-(3,15) = ")"
├── block:
- │ @ BlockArgumentNode (location: (21...25))
+ │ @ BlockArgumentNode (location: (3,10)-(3,14))
│ ├── expression:
- │ │ @ CallNode (location: (22...25))
+ │ │ @ CallNode (location: (3,11)-(3,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (22...25) = "baz"
+ │ │ ├── message_loc: (3,11)-(3,14) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── operator_loc: (21...22) = "&"
+ │ └── operator_loc: (3,10)-(3,11) = "&"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/array_assocs.txt b/test/yarp/snapshots/whitequark/array_assocs.txt
index d19ddcc78c..4509ddde8b 100644
--- a/test/yarp/snapshots/whitequark/array_assocs.txt
+++ b/test/yarp/snapshots/whitequark/array_assocs.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(3,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...10))
+ ├── @ ArrayNode (location: (1,0)-(1,10))
│ ├── elements: (length: 1)
- │ │ └── @ KeywordHashNode (location: (2...8))
+ │ │ └── @ KeywordHashNode (location: (1,2)-(1,8))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (2...8))
+ │ │ └── @ AssocNode (location: (1,2)-(1,8))
│ │ ├── key:
- │ │ │ @ IntegerNode (location: (2...3))
+ │ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ │ └── flags: decimal
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (7...8))
+ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (4...6) = "=>"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (9...10) = "]"
- └── @ ArrayNode (location: (12...25))
+ │ │ └── operator_loc: (1,4)-(1,6) = "=>"
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (1,9)-(1,10) = "]"
+ └── @ ArrayNode (location: (3,0)-(3,13))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (14...15))
+ │ ├── @ IntegerNode (location: (3,2)-(3,3))
│ │ └── flags: decimal
- │ └── @ KeywordHashNode (location: (17...23))
+ │ └── @ KeywordHashNode (location: (3,5)-(3,11))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (17...23))
+ │ └── @ AssocNode (location: (3,5)-(3,11))
│ ├── key:
- │ │ @ IntegerNode (location: (17...18))
+ │ │ @ IntegerNode (location: (3,5)-(3,6))
│ │ └── flags: decimal
│ ├── value:
- │ │ @ IntegerNode (location: (22...23))
+ │ │ @ IntegerNode (location: (3,10)-(3,11))
│ │ └── flags: decimal
- │ └── operator_loc: (19...21) = "=>"
- ├── opening_loc: (12...13) = "["
- └── closing_loc: (24...25) = "]"
+ │ └── operator_loc: (3,7)-(3,9) = "=>"
+ ├── opening_loc: (3,0)-(3,1) = "["
+ └── closing_loc: (3,12)-(3,13) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_plain.txt b/test/yarp/snapshots/whitequark/array_plain.txt
index 5a32fa318b..4bf2b19039 100644
--- a/test/yarp/snapshots/whitequark/array_plain.txt
+++ b/test/yarp/snapshots/whitequark/array_plain.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...6))
+ └── @ ArrayNode (location: (1,0)-(1,6))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (1...2))
+ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (4...5))
+ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
- ├── opening_loc: (0...1) = "["
- └── closing_loc: (5...6) = "]"
+ ├── opening_loc: (1,0)-(1,1) = "["
+ └── closing_loc: (1,5)-(1,6) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_splat.txt b/test/yarp/snapshots/whitequark/array_splat.txt
index 0eb1ae072a..c25c8719b6 100644
--- a/test/yarp/snapshots/whitequark/array_splat.txt
+++ b/test/yarp/snapshots/whitequark/array_splat.txt
@@ -1,62 +1,62 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(5,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(5,9))
└── body: (length: 3)
- ├── @ ArrayNode (location: (0...6))
+ ├── @ ArrayNode (location: (1,0)-(1,6))
│ ├── elements: (length: 1)
- │ │ └── @ SplatNode (location: (1...5))
- │ │ ├── operator_loc: (1...2) = "*"
+ │ │ └── @ SplatNode (location: (1,1)-(1,5))
+ │ │ ├── operator_loc: (1,1)-(1,2) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (2...5))
+ │ │ @ CallNode (location: (1,2)-(1,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...5) = "foo"
+ │ │ ├── message_loc: (1,2)-(1,5) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (0...1) = "["
- │ └── closing_loc: (5...6) = "]"
- ├── @ ArrayNode (location: (8...20))
+ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ └── closing_loc: (1,5)-(1,6) = "]"
+ ├── @ ArrayNode (location: (3,0)-(3,12))
│ ├── elements: (length: 3)
- │ │ ├── @ IntegerNode (location: (9...10))
+ │ │ ├── @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
- │ │ ├── @ SplatNode (location: (12...16))
- │ │ │ ├── operator_loc: (12...13) = "*"
+ │ │ ├── @ SplatNode (location: (3,4)-(3,8))
+ │ │ │ ├── operator_loc: (3,4)-(3,5) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (13...16))
+ │ │ │ @ CallNode (location: (3,5)-(3,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...16) = "foo"
+ │ │ │ ├── message_loc: (3,5)-(3,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ └── @ IntegerNode (location: (18...19))
+ │ │ └── @ IntegerNode (location: (3,10)-(3,11))
│ │ └── flags: decimal
- │ ├── opening_loc: (8...9) = "["
- │ └── closing_loc: (19...20) = "]"
- └── @ ArrayNode (location: (22...31))
+ │ ├── opening_loc: (3,0)-(3,1) = "["
+ │ └── closing_loc: (3,11)-(3,12) = "]"
+ └── @ ArrayNode (location: (5,0)-(5,9))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (23...24))
+ │ ├── @ IntegerNode (location: (5,1)-(5,2))
│ │ └── flags: decimal
- │ └── @ SplatNode (location: (26...30))
- │ ├── operator_loc: (26...27) = "*"
+ │ └── @ SplatNode (location: (5,4)-(5,8))
+ │ ├── operator_loc: (5,4)-(5,5) = "*"
│ └── expression:
- │ @ CallNode (location: (27...30))
+ │ @ CallNode (location: (5,5)-(5,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (27...30) = "foo"
+ │ ├── message_loc: (5,5)-(5,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── opening_loc: (22...23) = "["
- └── closing_loc: (30...31) = "]"
+ ├── opening_loc: (5,0)-(5,1) = "["
+ └── closing_loc: (5,8)-(5,9) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_symbols.txt b/test/yarp/snapshots/whitequark/array_symbols.txt
index 29ab12d427..cca5be139a 100644
--- a/test/yarp/snapshots/whitequark/array_symbols.txt
+++ b/test/yarp/snapshots/whitequark/array_symbols.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...11))
+ └── @ ArrayNode (location: (1,0)-(1,11))
├── elements: (length: 2)
- │ ├── @ SymbolNode (location: (3...6))
+ │ ├── @ SymbolNode (location: (1,3)-(1,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (3...6) = "foo"
+ │ │ ├── value_loc: (1,3)-(1,6) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── @ SymbolNode (location: (7...10))
+ │ └── @ SymbolNode (location: (1,7)-(1,10))
│ ├── opening_loc: ∅
- │ ├── value_loc: (7...10) = "bar"
+ │ ├── value_loc: (1,7)-(1,10) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- ├── opening_loc: (0...3) = "%i["
- └── closing_loc: (10...11) = "]"
+ ├── opening_loc: (1,0)-(1,3) = "%i["
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_symbols_empty.txt b/test/yarp/snapshots/whitequark/array_symbols_empty.txt
index 15495e3f24..3beafc362a 100644
--- a/test/yarp/snapshots/whitequark/array_symbols_empty.txt
+++ b/test/yarp/snapshots/whitequark/array_symbols_empty.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...4))
+ ├── @ ArrayNode (location: (1,0)-(1,4))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (0...3) = "%I("
- │ └── closing_loc: (3...4) = ")"
- └── @ ArrayNode (location: (6...10))
+ │ ├── opening_loc: (1,0)-(1,3) = "%I("
+ │ └── closing_loc: (1,3)-(1,4) = ")"
+ └── @ ArrayNode (location: (3,0)-(3,4))
├── elements: (length: 0)
- ├── opening_loc: (6...9) = "%i["
- └── closing_loc: (9...10) = "]"
+ ├── opening_loc: (3,0)-(3,3) = "%i["
+ └── closing_loc: (3,3)-(3,4) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_symbols_interp.txt b/test/yarp/snapshots/whitequark/array_symbols_interp.txt
index e294c65068..de1a25f97e 100644
--- a/test/yarp/snapshots/whitequark/array_symbols_interp.txt
+++ b/test/yarp/snapshots/whitequark/array_symbols_interp.txt
@@ -1,64 +1,64 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(3,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...14))
+ ├── @ ArrayNode (location: (1,0)-(1,14))
│ ├── elements: (length: 2)
- │ │ ├── @ SymbolNode (location: (3...6))
+ │ │ ├── @ SymbolNode (location: (1,3)-(1,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (3...6) = "foo"
+ │ │ │ ├── value_loc: (1,3)-(1,6) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ InterpolatedSymbolNode (location: (7...13))
+ │ │ └── @ InterpolatedSymbolNode (location: (1,7)-(1,13))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (7...13))
- │ │ │ ├── opening_loc: (7...9) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,13))
+ │ │ │ ├── opening_loc: (1,7)-(1,9) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (9...12))
+ │ │ │ │ @ StatementsNode (location: (1,9)-(1,12))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (9...12))
+ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (9...12) = "bar"
+ │ │ │ │ ├── message_loc: (1,9)-(1,12) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (12...13) = "}"
+ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ └── closing_loc: ∅
- │ ├── opening_loc: (0...3) = "%I["
- │ └── closing_loc: (13...14) = "]"
- └── @ ArrayNode (location: (16...29))
+ │ ├── opening_loc: (1,0)-(1,3) = "%I["
+ │ └── closing_loc: (1,13)-(1,14) = "]"
+ └── @ ArrayNode (location: (3,0)-(3,13))
├── elements: (length: 1)
- │ └── @ InterpolatedSymbolNode (location: (19...28))
+ │ └── @ InterpolatedSymbolNode (location: (3,3)-(3,12))
│ ├── opening_loc: ∅
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (19...22))
+ │ │ ├── @ StringNode (location: (3,3)-(3,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (19...22) = "foo"
+ │ │ │ ├── content_loc: (3,3)-(3,6) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedStatementsNode (location: (22...28))
- │ │ ├── opening_loc: (22...24) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (3,6)-(3,12))
+ │ │ ├── opening_loc: (3,6)-(3,8) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (24...27))
+ │ │ │ @ StatementsNode (location: (3,8)-(3,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (24...27))
+ │ │ │ └── @ CallNode (location: (3,8)-(3,11))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (24...27) = "bar"
+ │ │ │ ├── message_loc: (3,8)-(3,11) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── closing_loc: (27...28) = "}"
+ │ │ └── closing_loc: (3,11)-(3,12) = "}"
│ └── closing_loc: ∅
- ├── opening_loc: (16...19) = "%I["
- └── closing_loc: (28...29) = "]"
+ ├── opening_loc: (3,0)-(3,3) = "%I["
+ └── closing_loc: (3,12)-(3,13) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_words.txt b/test/yarp/snapshots/whitequark/array_words.txt
index 7d4c9bad71..4301158d05 100644
--- a/test/yarp/snapshots/whitequark/array_words.txt
+++ b/test/yarp/snapshots/whitequark/array_words.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ ArrayNode (location: (0...11))
+ └── @ ArrayNode (location: (1,0)-(1,11))
├── elements: (length: 2)
- │ ├── @ StringNode (location: (3...6))
+ │ ├── @ StringNode (location: (1,3)-(1,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (3...6) = "foo"
+ │ │ ├── content_loc: (1,3)-(1,6) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── @ StringNode (location: (7...10))
+ │ └── @ StringNode (location: (1,7)-(1,10))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (7...10) = "bar"
+ │ ├── content_loc: (1,7)-(1,10) = "bar"
│ ├── closing_loc: ∅
│ └── unescaped: "bar"
- ├── opening_loc: (0...3) = "%w["
- └── closing_loc: (10...11) = "]"
+ ├── opening_loc: (1,0)-(1,3) = "%w["
+ └── closing_loc: (1,10)-(1,11) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_words_empty.txt b/test/yarp/snapshots/whitequark/array_words_empty.txt
index fc103a67af..dff4df5662 100644
--- a/test/yarp/snapshots/whitequark/array_words_empty.txt
+++ b/test/yarp/snapshots/whitequark/array_words_empty.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...4))
+ ├── @ ArrayNode (location: (1,0)-(1,4))
│ ├── elements: (length: 0)
- │ ├── opening_loc: (0...3) = "%W("
- │ └── closing_loc: (3...4) = ")"
- └── @ ArrayNode (location: (6...10))
+ │ ├── opening_loc: (1,0)-(1,3) = "%W("
+ │ └── closing_loc: (1,3)-(1,4) = ")"
+ └── @ ArrayNode (location: (3,0)-(3,4))
├── elements: (length: 0)
- ├── opening_loc: (6...9) = "%w["
- └── closing_loc: (9...10) = "]"
+ ├── opening_loc: (3,0)-(3,3) = "%w["
+ └── closing_loc: (3,3)-(3,4) = "]"
diff --git a/test/yarp/snapshots/whitequark/array_words_interp.txt b/test/yarp/snapshots/whitequark/array_words_interp.txt
index e4f98d384a..8645425e25 100644
--- a/test/yarp/snapshots/whitequark/array_words_interp.txt
+++ b/test/yarp/snapshots/whitequark/array_words_interp.txt
@@ -1,76 +1,76 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(3,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(3,22))
└── body: (length: 2)
- ├── @ ArrayNode (location: (0...14))
+ ├── @ ArrayNode (location: (1,0)-(1,14))
│ ├── elements: (length: 2)
- │ │ ├── @ StringNode (location: (3...6))
+ │ │ ├── @ StringNode (location: (1,3)-(1,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (3...6) = "foo"
+ │ │ │ ├── content_loc: (1,3)-(1,6) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ InterpolatedStringNode (location: (7...13))
+ │ │ └── @ InterpolatedStringNode (location: (1,7)-(1,13))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 1)
- │ │ │ └── @ EmbeddedStatementsNode (location: (7...13))
- │ │ │ ├── opening_loc: (7...9) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,13))
+ │ │ │ ├── opening_loc: (1,7)-(1,9) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (9...12))
+ │ │ │ │ @ StatementsNode (location: (1,9)-(1,12))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (9...12))
+ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (9...12) = "bar"
+ │ │ │ │ ├── message_loc: (1,9)-(1,12) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (12...13) = "}"
+ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ └── closing_loc: ∅
- │ ├── opening_loc: (0...3) = "%W["
- │ └── closing_loc: (13...14) = "]"
- └── @ ArrayNode (location: (16...38))
+ │ ├── opening_loc: (1,0)-(1,3) = "%W["
+ │ └── closing_loc: (1,13)-(1,14) = "]"
+ └── @ ArrayNode (location: (3,0)-(3,22))
├── elements: (length: 2)
- │ ├── @ StringNode (location: (19...22))
+ │ ├── @ StringNode (location: (3,3)-(3,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (19...22) = "foo"
+ │ │ ├── content_loc: (3,3)-(3,6) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ └── @ InterpolatedStringNode (location: (23...37))
+ │ └── @ InterpolatedStringNode (location: (3,7)-(3,21))
│ ├── opening_loc: ∅
│ ├── parts: (length: 3)
- │ │ ├── @ EmbeddedStatementsNode (location: (23...29))
- │ │ │ ├── opening_loc: (23...25) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (3,7)-(3,13))
+ │ │ │ ├── opening_loc: (3,7)-(3,9) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (25...28))
+ │ │ │ │ @ StatementsNode (location: (3,9)-(3,12))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (25...28))
+ │ │ │ │ └── @ CallNode (location: (3,9)-(3,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (25...28) = "bar"
+ │ │ │ │ ├── message_loc: (3,9)-(3,12) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (28...29) = "}"
- │ │ ├── @ StringNode (location: (29...32))
+ │ │ │ └── closing_loc: (3,12)-(3,13) = "}"
+ │ │ ├── @ StringNode (location: (3,13)-(3,16))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (29...32) = "foo"
+ │ │ │ ├── content_loc: (3,13)-(3,16) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedVariableNode (location: (32...37))
- │ │ ├── operator_loc: (32...33) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (3,16)-(3,21))
+ │ │ ├── operator_loc: (3,16)-(3,17) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (33...37))
+ │ │ @ InstanceVariableReadNode (location: (3,17)-(3,21))
│ │ └── name: :@baz
│ └── closing_loc: ∅
- ├── opening_loc: (16...19) = "%W["
- └── closing_loc: (37...38) = "]"
+ ├── opening_loc: (3,0)-(3,3) = "%W["
+ └── closing_loc: (3,21)-(3,22) = "]"
diff --git a/test/yarp/snapshots/whitequark/asgn_cmd.txt b/test/yarp/snapshots/whitequark/asgn_cmd.txt
index d2d1b8ec07..13268c70b1 100644
--- a/test/yarp/snapshots/whitequark/asgn_cmd.txt
+++ b/test/yarp/snapshots/whitequark/asgn_cmd.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: [:foo, :bar]
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (0...17))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,17))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (0...3) = "foo"
+ │ ├── name_loc: (1,0)-(1,3) = "foo"
│ ├── value:
- │ │ @ LocalVariableWriteNode (location: (6...17))
+ │ │ @ LocalVariableWriteNode (location: (1,6)-(1,17))
│ │ ├── name: :bar
│ │ ├── depth: 0
- │ │ ├── name_loc: (6...9) = "bar"
+ │ │ ├── name_loc: (1,6)-(1,9) = "bar"
│ │ ├── value:
- │ │ │ @ CallNode (location: (12...17))
+ │ │ │ @ CallNode (location: (1,12)-(1,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (12...13) = "m"
+ │ │ │ ├── message_loc: (1,12)-(1,13) = "m"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (14...17))
+ │ │ │ │ @ ArgumentsNode (location: (1,14)-(1,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (14...17))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17))
│ │ │ │ ├── name: :foo
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "m"
- │ │ └── operator_loc: (10...11) = "="
- │ └── operator_loc: (4...5) = "="
- └── @ LocalVariableWriteNode (location: (19...30))
+ │ │ └── operator_loc: (1,10)-(1,11) = "="
+ │ └── operator_loc: (1,4)-(1,5) = "="
+ └── @ LocalVariableWriteNode (location: (3,0)-(3,11))
├── name: :foo
├── depth: 0
- ├── name_loc: (19...22) = "foo"
+ ├── name_loc: (3,0)-(3,3) = "foo"
├── value:
- │ @ CallNode (location: (25...30))
+ │ @ CallNode (location: (3,6)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...26) = "m"
+ │ ├── message_loc: (3,6)-(3,7) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (27...30))
+ │ │ @ ArgumentsNode (location: (3,8)-(3,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (27...30))
+ │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- └── operator_loc: (23...24) = "="
+ └── operator_loc: (3,4)-(3,5) = "="
diff --git a/test/yarp/snapshots/whitequark/asgn_mrhs.txt b/test/yarp/snapshots/whitequark/asgn_mrhs.txt
index 4eff333410..bb86015289 100644
--- a/test/yarp/snapshots/whitequark/asgn_mrhs.txt
+++ b/test/yarp/snapshots/whitequark/asgn_mrhs.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(5,15))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(5,15))
└── body: (length: 3)
- ├── @ LocalVariableWriteNode (location: (0...10))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,10))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (0...3) = "foo"
+ │ ├── name_loc: (1,0)-(1,3) = "foo"
│ ├── value:
- │ │ @ ArrayNode (location: (6...10))
+ │ │ @ ArrayNode (location: (1,6)-(1,10))
│ │ ├── elements: (length: 1)
- │ │ │ └── @ SplatNode (location: (6...10))
- │ │ │ ├── operator_loc: (6...7) = "*"
+ │ │ │ └── @ SplatNode (location: (1,6)-(1,10))
+ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (7...10))
+ │ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...10) = "bar"
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -25,53 +25,53 @@
│ │ │ └── name: "bar"
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (4...5) = "="
- ├── @ LocalVariableWriteNode (location: (12...24))
+ │ └── operator_loc: (1,4)-(1,5) = "="
+ ├── @ LocalVariableWriteNode (location: (3,0)-(3,12))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (12...15) = "foo"
+ │ ├── name_loc: (3,0)-(3,3) = "foo"
│ ├── value:
- │ │ @ ArrayNode (location: (18...24))
+ │ │ @ ArrayNode (location: (3,6)-(3,12))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ CallNode (location: (18...21))
+ │ │ │ ├── @ CallNode (location: (3,6)-(3,9))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (18...21) = "bar"
+ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── @ IntegerNode (location: (23...24))
+ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (16...17) = "="
- └── @ LocalVariableWriteNode (location: (26...41))
+ │ └── operator_loc: (3,4)-(3,5) = "="
+ └── @ LocalVariableWriteNode (location: (5,0)-(5,15))
├── name: :foo
├── depth: 0
- ├── name_loc: (26...29) = "foo"
+ ├── name_loc: (5,0)-(5,3) = "foo"
├── value:
- │ @ ArrayNode (location: (32...41))
+ │ @ ArrayNode (location: (5,6)-(5,15))
│ ├── elements: (length: 2)
- │ │ ├── @ CallNode (location: (32...35))
+ │ │ ├── @ CallNode (location: (5,6)-(5,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (32...35) = "baz"
+ │ │ │ ├── message_loc: (5,6)-(5,9) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── @ SplatNode (location: (37...41))
- │ │ ├── operator_loc: (37...38) = "*"
+ │ │ └── @ SplatNode (location: (5,11)-(5,15))
+ │ │ ├── operator_loc: (5,11)-(5,12) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (38...41))
+ │ │ @ CallNode (location: (5,12)-(5,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (38...41) = "bar"
+ │ │ ├── message_loc: (5,12)-(5,15) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -80,4 +80,4 @@
│ │ └── name: "bar"
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- └── operator_loc: (30...31) = "="
+ └── operator_loc: (5,4)-(5,5) = "="
diff --git a/test/yarp/snapshots/whitequark/back_ref.txt b/test/yarp/snapshots/whitequark/back_ref.txt
index 325e09c39b..eafd6f144a 100644
--- a/test/yarp/snapshots/whitequark/back_ref.txt
+++ b/test/yarp/snapshots/whitequark/back_ref.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ BackReferenceReadNode (location: (0...2))
+ └── @ BackReferenceReadNode (location: (1,0)-(1,2))
diff --git a/test/yarp/snapshots/whitequark/bang.txt b/test/yarp/snapshots/whitequark/bang.txt
index 3fb4571b16..da83d817a5 100644
--- a/test/yarp/snapshots/whitequark/bang.txt
+++ b/test/yarp/snapshots/whitequark/bang.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ CallNode (location: (1...4))
+ │ @ CallNode (location: (1,1)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1...4) = "foo"
+ │ ├── message_loc: (1,1)-(1,4) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,7 +16,7 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/bang_cmd.txt b/test/yarp/snapshots/whitequark/bang_cmd.txt
index e772f50514..27b0a1ebdf 100644
--- a/test/yarp/snapshots/whitequark/bang_cmd.txt
+++ b/test/yarp/snapshots/whitequark/bang_cmd.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ CallNode (location: (0...6))
+ └── @ CallNode (location: (1,0)-(1,6))
├── receiver:
- │ @ CallNode (location: (1...6))
+ │ @ CallNode (location: (1,1)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (1...2) = "m"
+ │ ├── message_loc: (1,1)-(1,2) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (3...6))
+ │ │ @ ArgumentsNode (location: (1,3)-(1,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (3...6))
+ │ │ └── @ CallNode (location: (1,3)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...6) = "foo"
+ │ │ ├── message_loc: (1,3)-(1,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -28,7 +28,7 @@
│ ├── flags: ∅
│ └── name: "m"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/begin_cmdarg.txt b/test/yarp/snapshots/whitequark/begin_cmdarg.txt
index bb16a76261..833863958f 100644
--- a/test/yarp/snapshots/whitequark/begin_cmdarg.txt
+++ b/test/yarp/snapshots/whitequark/begin_cmdarg.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ CallNode (location: (0...28))
+ └── @ CallNode (location: (1,0)-(1,28))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...28))
+ │ @ ArgumentsNode (location: (1,2)-(1,28))
│ └── arguments: (length: 1)
- │ └── @ BeginNode (location: (2...28))
- │ ├── begin_keyword_loc: (2...7) = "begin"
+ │ └── @ BeginNode (location: (1,2)-(1,28))
+ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (8...24))
+ │ │ @ StatementsNode (location: (1,8)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (8...24))
+ │ │ └── @ CallNode (location: (1,8)-(1,24))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ └── flags: decimal
- │ │ ├── call_operator_loc: (9...10) = "."
- │ │ ├── message_loc: (10...15) = "times"
+ │ │ ├── call_operator_loc: (1,9)-(1,10) = "."
+ │ │ ├── message_loc: (1,10)-(1,15) = "times"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (16...24))
+ │ │ │ @ BlockNode (location: (1,16)-(1,24))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (19...20))
+ │ │ │ │ @ StatementsNode (location: (1,19)-(1,20))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (19...20))
+ │ │ │ │ └── @ IntegerNode (location: (1,19)-(1,20))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (16...18) = "do"
- │ │ │ └── closing_loc: (21...24) = "end"
+ │ │ │ ├── opening_loc: (1,16)-(1,18) = "do"
+ │ │ │ └── closing_loc: (1,21)-(1,24) = "end"
│ │ ├── flags: ∅
│ │ └── name: "times"
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (25...28) = "end"
+ │ └── end_keyword_loc: (1,25)-(1,28) = "end"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/beginless_erange_after_newline.txt b/test/yarp/snapshots/whitequark/beginless_erange_after_newline.txt
index c7265ad242..0bea43c7f2 100644
--- a/test/yarp/snapshots/whitequark/beginless_erange_after_newline.txt
+++ b/test/yarp/snapshots/whitequark/beginless_erange_after_newline.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(2,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(2,6))
└── body: (length: 2)
- ├── @ CallNode (location: (0...3))
+ ├── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- └── @ RangeNode (location: (4...10))
+ └── @ RangeNode (location: (2,0)-(2,6))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (7...10))
+ │ @ IntegerNode (location: (2,3)-(2,6))
│ └── flags: decimal
- ├── operator_loc: (4...7) = "..."
+ ├── operator_loc: (2,0)-(2,3) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/whitequark/beginless_irange_after_newline.txt b/test/yarp/snapshots/whitequark/beginless_irange_after_newline.txt
index 443cddbac2..ab2fa8064f 100644
--- a/test/yarp/snapshots/whitequark/beginless_irange_after_newline.txt
+++ b/test/yarp/snapshots/whitequark/beginless_irange_after_newline.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(2,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(2,5))
└── body: (length: 2)
- ├── @ CallNode (location: (0...3))
+ ├── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- └── @ RangeNode (location: (4...9))
+ └── @ RangeNode (location: (2,0)-(2,5))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (6...9))
+ │ @ IntegerNode (location: (2,2)-(2,5))
│ └── flags: decimal
- ├── operator_loc: (4...6) = ".."
+ ├── operator_loc: (2,0)-(2,2) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/beginless_range.txt b/test/yarp/snapshots/whitequark/beginless_range.txt
index 93140d84c3..7ec06309c4 100644
--- a/test/yarp/snapshots/whitequark/beginless_range.txt
+++ b/test/yarp/snapshots/whitequark/beginless_range.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(3,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(3,5))
└── body: (length: 2)
- ├── @ RangeNode (location: (0...6))
+ ├── @ RangeNode (location: (1,0)-(1,6))
│ ├── left: ∅
│ ├── right:
- │ │ @ IntegerNode (location: (3...6))
+ │ │ @ IntegerNode (location: (1,3)-(1,6))
│ │ └── flags: decimal
- │ ├── operator_loc: (0...3) = "..."
+ │ ├── operator_loc: (1,0)-(1,3) = "..."
│ └── flags: exclude_end
- └── @ RangeNode (location: (8...13))
+ └── @ RangeNode (location: (3,0)-(3,5))
├── left: ∅
├── right:
- │ @ IntegerNode (location: (10...13))
+ │ @ IntegerNode (location: (3,2)-(3,5))
│ └── flags: decimal
- ├── operator_loc: (8...10) = ".."
+ ├── operator_loc: (3,0)-(3,2) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/blockarg.txt b/test/yarp/snapshots/whitequark/blockarg.txt
index 57156a2834..ce1c33a0f0 100644
--- a/test/yarp/snapshots/whitequark/blockarg.txt
+++ b/test/yarp/snapshots/whitequark/blockarg.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ DefNode (location: (0...18))
+ └── @ DefNode (location: (1,0)-(1,18))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -16,15 +16,15 @@
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block:
- │ @ BlockParameterNode (location: (6...12))
+ │ @ BlockParameterNode (location: (1,6)-(1,12))
│ ├── name: :block
- │ ├── name_loc: (7...12) = "block"
- │ └── operator_loc: (6...7) = "&"
+ │ ├── name_loc: (1,7)-(1,12) = "block"
+ │ └── operator_loc: (1,6)-(1,7) = "&"
├── body: ∅
├── locals: [:block]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (12...13) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (15...18) = "end"
+ └── end_keyword_loc: (1,15)-(1,18) = "end"
diff --git a/test/yarp/snapshots/whitequark/blockargs.txt b/test/yarp/snapshots/whitequark/blockargs.txt
index 0fb5a16e45..a9692cbaed 100644
--- a/test/yarp/snapshots/whitequark/blockargs.txt
+++ b/test/yarp/snapshots/whitequark/blockargs.txt
@@ -1,59 +1,59 @@
-@ ProgramNode (location: (0...550))
+@ ProgramNode (location: (1,0)-(71,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...550))
+ @ StatementsNode (location: (1,0)-(71,7))
└── body: (length: 35)
- ├── @ CallNode (location: (0...5))
+ ├── @ CallNode (location: (1,0)-(1,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "f"
+ │ ├── message_loc: (1,0)-(1,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (1...5))
+ │ │ @ BlockNode (location: (1,1)-(1,5))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (1...2) = "{"
- │ │ └── closing_loc: (4...5) = "}"
+ │ │ ├── opening_loc: (1,1)-(1,2) = "{"
+ │ │ └── closing_loc: (1,4)-(1,5) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (7...15))
+ ├── @ CallNode (location: (3,0)-(3,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...8) = "f"
+ │ ├── message_loc: (3,0)-(3,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (8...15))
+ │ │ @ BlockNode (location: (3,1)-(3,8))
│ │ ├── locals: []
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (10...13))
+ │ │ │ @ BlockParametersNode (location: (3,3)-(3,6))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (10...11) = "|"
- │ │ │ └── closing_loc: (12...13) = "|"
+ │ │ │ ├── opening_loc: (3,3)-(3,4) = "|"
+ │ │ │ └── closing_loc: (3,5)-(3,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (8...9) = "{"
- │ │ └── closing_loc: (14...15) = "}"
+ │ │ ├── opening_loc: (3,1)-(3,2) = "{"
+ │ │ └── closing_loc: (3,7)-(3,8) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (17...26))
+ ├── @ CallNode (location: (5,0)-(5,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (17...18) = "f"
+ │ ├── message_loc: (5,0)-(5,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (18...26))
+ │ │ @ BlockNode (location: (5,1)-(5,9))
│ │ ├── locals: [:b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (20...24))
+ │ │ │ @ BlockParametersNode (location: (5,3)-(5,7))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (21...23))
+ │ │ │ │ @ ParametersNode (location: (5,4)-(5,6))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -61,296 +61,296 @@
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (21...23))
+ │ │ │ │ @ BlockParameterNode (location: (5,4)-(5,6))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (22...23) = "b"
- │ │ │ │ └── operator_loc: (21...22) = "&"
+ │ │ │ │ ├── name_loc: (5,5)-(5,6) = "b"
+ │ │ │ │ └── operator_loc: (5,4)-(5,5) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (20...21) = "|"
- │ │ │ └── closing_loc: (23...24) = "|"
+ │ │ │ ├── opening_loc: (5,3)-(5,4) = "|"
+ │ │ │ └── closing_loc: (5,6)-(5,7) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (18...19) = "{"
- │ │ └── closing_loc: (25...26) = "}"
+ │ │ ├── opening_loc: (5,1)-(5,2) = "{"
+ │ │ └── closing_loc: (5,8)-(5,9) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (28...44))
+ ├── @ CallNode (location: (7,0)-(7,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (28...29) = "f"
+ │ ├── message_loc: (7,0)-(7,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (29...44))
+ │ │ @ BlockNode (location: (7,1)-(7,16))
│ │ ├── locals: [:baz, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (31...42))
+ │ │ │ @ BlockParametersNode (location: (7,3)-(7,14))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (32...41))
+ │ │ │ │ @ ParametersNode (location: (7,4)-(7,13))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest:
- │ │ │ │ │ @ KeywordRestParameterNode (location: (32...37))
+ │ │ │ │ │ @ KeywordRestParameterNode (location: (7,4)-(7,9))
│ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── name_loc: (34...37) = "baz"
- │ │ │ │ │ └── operator_loc: (32...34) = "**"
+ │ │ │ │ │ ├── name_loc: (7,6)-(7,9) = "baz"
+ │ │ │ │ │ └── operator_loc: (7,4)-(7,6) = "**"
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (39...41))
+ │ │ │ │ @ BlockParameterNode (location: (7,11)-(7,13))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (40...41) = "b"
- │ │ │ │ └── operator_loc: (39...40) = "&"
+ │ │ │ │ ├── name_loc: (7,12)-(7,13) = "b"
+ │ │ │ │ └── operator_loc: (7,11)-(7,12) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (31...32) = "|"
- │ │ │ └── closing_loc: (41...42) = "|"
+ │ │ │ ├── opening_loc: (7,3)-(7,4) = "|"
+ │ │ │ └── closing_loc: (7,13)-(7,14) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (29...30) = "{"
- │ │ └── closing_loc: (43...44) = "}"
+ │ │ ├── opening_loc: (7,1)-(7,2) = "{"
+ │ │ └── closing_loc: (7,15)-(7,16) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (46...58))
+ ├── @ CallNode (location: (9,0)-(9,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (46...47) = "f"
+ │ ├── message_loc: (9,0)-(9,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (47...58))
+ │ │ @ BlockNode (location: (9,1)-(9,12))
│ │ ├── locals: [:*, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (49...56))
+ │ │ │ @ BlockParametersNode (location: (9,3)-(9,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (50...55))
+ │ │ │ │ @ ParametersNode (location: (9,4)-(9,9))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (50...51))
+ │ │ │ │ │ @ RestParameterNode (location: (9,4)-(9,5))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (50...51) = "*"
+ │ │ │ │ │ └── operator_loc: (9,4)-(9,5) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (53...55))
+ │ │ │ │ @ BlockParameterNode (location: (9,7)-(9,9))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (54...55) = "b"
- │ │ │ │ └── operator_loc: (53...54) = "&"
+ │ │ │ │ ├── name_loc: (9,8)-(9,9) = "b"
+ │ │ │ │ └── operator_loc: (9,7)-(9,8) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (49...50) = "|"
- │ │ │ └── closing_loc: (55...56) = "|"
+ │ │ │ ├── opening_loc: (9,3)-(9,4) = "|"
+ │ │ │ └── closing_loc: (9,9)-(9,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (47...48) = "{"
- │ │ └── closing_loc: (57...58) = "}"
+ │ │ ├── opening_loc: (9,1)-(9,2) = "{"
+ │ │ └── closing_loc: (9,11)-(9,12) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (60...76))
+ ├── @ CallNode (location: (11,0)-(11,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...61) = "f"
+ │ ├── message_loc: (11,0)-(11,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (61...76))
+ │ │ @ BlockNode (location: (11,1)-(11,16))
│ │ ├── locals: [:r, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (63...74))
+ │ │ │ @ BlockParametersNode (location: (11,3)-(11,14))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (64...73))
+ │ │ │ │ @ ParametersNode (location: (11,4)-(11,13))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (64...66))
+ │ │ │ │ │ @ RestParameterNode (location: (11,4)-(11,6))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (65...66) = "r"
- │ │ │ │ │ └── operator_loc: (64...65) = "*"
+ │ │ │ │ │ ├── name_loc: (11,5)-(11,6) = "r"
+ │ │ │ │ │ └── operator_loc: (11,4)-(11,5) = "*"
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (68...69))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (11,8)-(11,9))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (71...73))
+ │ │ │ │ @ BlockParameterNode (location: (11,11)-(11,13))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (72...73) = "b"
- │ │ │ │ └── operator_loc: (71...72) = "&"
+ │ │ │ │ ├── name_loc: (11,12)-(11,13) = "b"
+ │ │ │ │ └── operator_loc: (11,11)-(11,12) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (63...64) = "|"
- │ │ │ └── closing_loc: (73...74) = "|"
+ │ │ │ ├── opening_loc: (11,3)-(11,4) = "|"
+ │ │ │ └── closing_loc: (11,13)-(11,14) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (61...62) = "{"
- │ │ └── closing_loc: (75...76) = "}"
+ │ │ ├── opening_loc: (11,1)-(11,2) = "{"
+ │ │ └── closing_loc: (11,15)-(11,16) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (78...91))
+ ├── @ CallNode (location: (13,0)-(13,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (78...79) = "f"
+ │ ├── message_loc: (13,0)-(13,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (79...91))
+ │ │ @ BlockNode (location: (13,1)-(13,13))
│ │ ├── locals: [:s, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (81...89))
+ │ │ │ @ BlockParametersNode (location: (13,3)-(13,11))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (82...88))
+ │ │ │ │ @ ParametersNode (location: (13,4)-(13,10))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (82...84))
+ │ │ │ │ │ @ RestParameterNode (location: (13,4)-(13,6))
│ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (83...84) = "s"
- │ │ │ │ │ └── operator_loc: (82...83) = "*"
+ │ │ │ │ │ ├── name_loc: (13,5)-(13,6) = "s"
+ │ │ │ │ │ └── operator_loc: (13,4)-(13,5) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (86...88))
+ │ │ │ │ @ BlockParameterNode (location: (13,8)-(13,10))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (87...88) = "b"
- │ │ │ │ └── operator_loc: (86...87) = "&"
+ │ │ │ │ ├── name_loc: (13,9)-(13,10) = "b"
+ │ │ │ │ └── operator_loc: (13,8)-(13,9) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (81...82) = "|"
- │ │ │ └── closing_loc: (88...89) = "|"
+ │ │ │ ├── opening_loc: (13,3)-(13,4) = "|"
+ │ │ │ └── closing_loc: (13,10)-(13,11) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (79...80) = "{"
- │ │ └── closing_loc: (90...91) = "}"
+ │ │ ├── opening_loc: (13,1)-(13,2) = "{"
+ │ │ └── closing_loc: (13,12)-(13,13) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (93...102))
+ ├── @ CallNode (location: (15,0)-(15,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (93...94) = "f"
+ │ ├── message_loc: (15,0)-(15,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (94...102))
+ │ │ @ BlockNode (location: (15,1)-(15,9))
│ │ ├── locals: [:s]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (96...100))
+ │ │ │ @ BlockParametersNode (location: (15,3)-(15,7))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (97...99))
+ │ │ │ │ @ ParametersNode (location: (15,4)-(15,6))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (97...99))
+ │ │ │ │ │ @ RestParameterNode (location: (15,4)-(15,6))
│ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (98...99) = "s"
- │ │ │ │ │ └── operator_loc: (97...98) = "*"
+ │ │ │ │ │ ├── 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: (96...97) = "|"
- │ │ │ └── closing_loc: (99...100) = "|"
+ │ │ │ ├── opening_loc: (15,3)-(15,4) = "|"
+ │ │ │ └── closing_loc: (15,6)-(15,7) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (94...95) = "{"
- │ │ └── closing_loc: (101...102) = "}"
+ │ │ ├── opening_loc: (15,1)-(15,2) = "{"
+ │ │ └── closing_loc: (15,8)-(15,9) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (104...112))
+ ├── @ CallNode (location: (17,0)-(17,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (104...105) = "f"
+ │ ├── message_loc: (17,0)-(17,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (105...112))
+ │ │ @ BlockNode (location: (17,1)-(17,8))
│ │ ├── locals: [:*]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (107...110))
+ │ │ │ @ BlockParametersNode (location: (17,3)-(17,6))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (108...109))
+ │ │ │ │ @ ParametersNode (location: (17,4)-(17,5))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (108...109))
+ │ │ │ │ │ @ RestParameterNode (location: (17,4)-(17,5))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (108...109) = "*"
+ │ │ │ │ │ └── operator_loc: (17,4)-(17,5) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (107...108) = "|"
- │ │ │ └── closing_loc: (109...110) = "|"
+ │ │ │ ├── opening_loc: (17,3)-(17,4) = "|"
+ │ │ │ └── closing_loc: (17,5)-(17,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (105...106) = "{"
- │ │ └── closing_loc: (111...112) = "}"
+ │ │ ├── opening_loc: (17,1)-(17,2) = "{"
+ │ │ └── closing_loc: (17,7)-(17,8) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (114...125))
+ ├── @ CallNode (location: (19,0)-(21,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (114...115) = "f"
+ │ ├── message_loc: (19,0)-(19,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (115...125))
+ │ │ @ BlockNode (location: (19,1)-(21,3))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (117...123))
+ │ │ │ @ BlockParametersNode (location: (19,3)-(21,1))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (120...121))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1))
│ │ │ │ └── name: :a
- │ │ │ ├── opening_loc: (117...118) = "|"
- │ │ │ └── closing_loc: (122...123) = "|"
+ │ │ │ ├── opening_loc: (19,3)-(19,4) = "|"
+ │ │ │ └── closing_loc: (21,0)-(21,1) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (115...116) = "{"
- │ │ └── closing_loc: (124...125) = "}"
+ │ │ ├── opening_loc: (19,1)-(19,2) = "{"
+ │ │ └── closing_loc: (21,2)-(21,3) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (127...136))
+ ├── @ CallNode (location: (23,0)-(23,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (127...128) = "f"
+ │ ├── message_loc: (23,0)-(23,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (128...136))
+ │ │ @ BlockNode (location: (23,1)-(23,9))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (130...134))
+ │ │ │ @ BlockParametersNode (location: (23,3)-(23,7))
│ │ │ ├── parameters: ∅
│ │ │ ├── locals: (length: 1)
- │ │ │ │ └── @ BlockLocalVariableNode (location: (132...133))
+ │ │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6))
│ │ │ │ └── name: :a
- │ │ │ ├── opening_loc: (130...131) = "|"
- │ │ │ └── closing_loc: (133...134) = "|"
+ │ │ │ ├── opening_loc: (23,3)-(23,4) = "|"
+ │ │ │ └── closing_loc: (23,6)-(23,7) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (128...129) = "{"
- │ │ └── closing_loc: (135...136) = "}"
+ │ │ ├── opening_loc: (23,1)-(23,2) = "{"
+ │ │ └── closing_loc: (23,8)-(23,9) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (138...150))
+ ├── @ CallNode (location: (25,0)-(25,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (138...139) = "f"
+ │ ├── message_loc: (25,0)-(25,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (139...150))
+ │ │ @ BlockNode (location: (25,1)-(25,12))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (141...148))
+ │ │ │ @ BlockParametersNode (location: (25,3)-(25,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (142...147))
+ │ │ │ │ @ ParametersNode (location: (25,4)-(25,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (142...143))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -358,262 +358,262 @@
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (145...147))
+ │ │ │ │ @ BlockParameterNode (location: (25,7)-(25,9))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (146...147) = "b"
- │ │ │ │ └── operator_loc: (145...146) = "&"
+ │ │ │ │ ├── name_loc: (25,8)-(25,9) = "b"
+ │ │ │ │ └── operator_loc: (25,7)-(25,8) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (141...142) = "|"
- │ │ │ └── closing_loc: (147...148) = "|"
+ │ │ │ ├── opening_loc: (25,3)-(25,4) = "|"
+ │ │ │ └── closing_loc: (25,9)-(25,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (139...140) = "{"
- │ │ └── closing_loc: (149...150) = "}"
+ │ │ ├── opening_loc: (25,1)-(25,2) = "{"
+ │ │ └── closing_loc: (25,11)-(25,12) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (152...167))
+ ├── @ CallNode (location: (27,0)-(27,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (152...153) = "f"
+ │ ├── message_loc: (27,0)-(27,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (153...167))
+ │ │ @ BlockNode (location: (27,1)-(27,15))
│ │ ├── locals: [:a, :*, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (155...165))
+ │ │ │ @ BlockParametersNode (location: (27,3)-(27,13))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (156...164))
+ │ │ │ │ @ ParametersNode (location: (27,4)-(27,12))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (156...157))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (159...160))
+ │ │ │ │ │ @ RestParameterNode (location: (27,7)-(27,8))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (159...160) = "*"
+ │ │ │ │ │ └── operator_loc: (27,7)-(27,8) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (162...164))
+ │ │ │ │ @ BlockParameterNode (location: (27,10)-(27,12))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (163...164) = "b"
- │ │ │ │ └── operator_loc: (162...163) = "&"
+ │ │ │ │ ├── name_loc: (27,11)-(27,12) = "b"
+ │ │ │ │ └── operator_loc: (27,10)-(27,11) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (155...156) = "|"
- │ │ │ └── closing_loc: (164...165) = "|"
+ │ │ │ ├── opening_loc: (27,3)-(27,4) = "|"
+ │ │ │ └── closing_loc: (27,12)-(27,13) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (153...154) = "{"
- │ │ └── closing_loc: (166...167) = "}"
+ │ │ ├── opening_loc: (27,1)-(27,2) = "{"
+ │ │ └── closing_loc: (27,14)-(27,15) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (169...188))
+ ├── @ CallNode (location: (29,0)-(29,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (169...170) = "f"
+ │ ├── message_loc: (29,0)-(29,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (170...188))
+ │ │ @ BlockNode (location: (29,1)-(29,19))
│ │ ├── locals: [:a, :r, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (172...186))
+ │ │ │ @ BlockParametersNode (location: (29,3)-(29,17))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (173...185))
+ │ │ │ │ @ ParametersNode (location: (29,4)-(29,16))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (173...174))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (176...178))
+ │ │ │ │ │ @ RestParameterNode (location: (29,7)-(29,9))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (177...178) = "r"
- │ │ │ │ │ └── operator_loc: (176...177) = "*"
+ │ │ │ │ │ ├── name_loc: (29,8)-(29,9) = "r"
+ │ │ │ │ │ └── operator_loc: (29,7)-(29,8) = "*"
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (180...181))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (29,11)-(29,12))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (183...185))
+ │ │ │ │ @ BlockParameterNode (location: (29,14)-(29,16))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (184...185) = "b"
- │ │ │ │ └── operator_loc: (183...184) = "&"
+ │ │ │ │ ├── name_loc: (29,15)-(29,16) = "b"
+ │ │ │ │ └── operator_loc: (29,14)-(29,15) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (172...173) = "|"
- │ │ │ └── closing_loc: (185...186) = "|"
+ │ │ │ ├── opening_loc: (29,3)-(29,4) = "|"
+ │ │ │ └── closing_loc: (29,16)-(29,17) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (170...171) = "{"
- │ │ └── closing_loc: (187...188) = "}"
+ │ │ ├── opening_loc: (29,1)-(29,2) = "{"
+ │ │ └── closing_loc: (29,18)-(29,19) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (190...206))
+ ├── @ CallNode (location: (31,0)-(31,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (190...191) = "f"
+ │ ├── message_loc: (31,0)-(31,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (191...206))
+ │ │ @ BlockNode (location: (31,1)-(31,16))
│ │ ├── locals: [:a, :s, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (193...204))
+ │ │ │ @ BlockParametersNode (location: (31,3)-(31,14))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (194...203))
+ │ │ │ │ @ ParametersNode (location: (31,4)-(31,13))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (194...195))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (197...199))
+ │ │ │ │ │ @ RestParameterNode (location: (31,7)-(31,9))
│ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (198...199) = "s"
- │ │ │ │ │ └── operator_loc: (197...198) = "*"
+ │ │ │ │ │ ├── name_loc: (31,8)-(31,9) = "s"
+ │ │ │ │ │ └── operator_loc: (31,7)-(31,8) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (201...203))
+ │ │ │ │ @ BlockParameterNode (location: (31,11)-(31,13))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (202...203) = "b"
- │ │ │ │ └── operator_loc: (201...202) = "&"
+ │ │ │ │ ├── name_loc: (31,12)-(31,13) = "b"
+ │ │ │ │ └── operator_loc: (31,11)-(31,12) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (193...194) = "|"
- │ │ │ └── closing_loc: (203...204) = "|"
+ │ │ │ ├── opening_loc: (31,3)-(31,4) = "|"
+ │ │ │ └── closing_loc: (31,13)-(31,14) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (191...192) = "{"
- │ │ └── closing_loc: (205...206) = "}"
+ │ │ ├── opening_loc: (31,1)-(31,2) = "{"
+ │ │ └── closing_loc: (31,15)-(31,16) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (208...220))
+ ├── @ CallNode (location: (33,0)-(33,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (208...209) = "f"
+ │ ├── message_loc: (33,0)-(33,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (209...220))
+ │ │ @ BlockNode (location: (33,1)-(33,12))
│ │ ├── locals: [:a, :s]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (211...218))
+ │ │ │ @ BlockParametersNode (location: (33,3)-(33,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (212...217))
+ │ │ │ │ @ ParametersNode (location: (33,4)-(33,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (212...213))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (215...217))
+ │ │ │ │ │ @ RestParameterNode (location: (33,7)-(33,9))
│ │ │ │ │ ├── name: :s
- │ │ │ │ │ ├── name_loc: (216...217) = "s"
- │ │ │ │ │ └── operator_loc: (215...216) = "*"
+ │ │ │ │ │ ├── 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: (211...212) = "|"
- │ │ │ └── closing_loc: (217...218) = "|"
+ │ │ │ ├── opening_loc: (33,3)-(33,4) = "|"
+ │ │ │ └── closing_loc: (33,9)-(33,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (209...210) = "{"
- │ │ └── closing_loc: (219...220) = "}"
+ │ │ ├── opening_loc: (33,1)-(33,2) = "{"
+ │ │ └── closing_loc: (33,11)-(33,12) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (222...233))
+ ├── @ CallNode (location: (35,0)-(35,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (222...223) = "f"
+ │ ├── message_loc: (35,0)-(35,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (223...233))
+ │ │ @ BlockNode (location: (35,1)-(35,11))
│ │ ├── locals: [:a, :*]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (225...231))
+ │ │ │ @ BlockParametersNode (location: (35,3)-(35,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (226...230))
+ │ │ │ │ @ ParametersNode (location: (35,4)-(35,8))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (226...227))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (229...230))
+ │ │ │ │ │ @ RestParameterNode (location: (35,7)-(35,8))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (229...230) = "*"
+ │ │ │ │ │ └── operator_loc: (35,7)-(35,8) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (225...226) = "|"
- │ │ │ └── closing_loc: (230...231) = "|"
+ │ │ │ ├── opening_loc: (35,3)-(35,4) = "|"
+ │ │ │ └── closing_loc: (35,8)-(35,9) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (223...224) = "{"
- │ │ └── closing_loc: (232...233) = "}"
+ │ │ ├── opening_loc: (35,1)-(35,2) = "{"
+ │ │ └── closing_loc: (35,10)-(35,11) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (235...247))
+ ├── @ CallNode (location: (37,0)-(37,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (235...236) = "f"
+ │ ├── message_loc: (37,0)-(37,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (236...247))
+ │ │ @ BlockNode (location: (37,1)-(37,12))
│ │ ├── locals: [:a, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (238...245))
+ │ │ │ @ BlockParametersNode (location: (37,3)-(37,10))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (239...244))
+ │ │ │ │ @ ParametersNode (location: (37,4)-(37,9))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (239...240))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (242...243))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,7)-(37,8))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (243...244))
+ │ │ │ │ │ @ RestParameterNode (location: (37,8)-(37,9))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (243...244) = ","
+ │ │ │ │ │ └── operator_loc: (37,8)-(37,9) = ","
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (238...239) = "|"
- │ │ │ └── closing_loc: (244...245) = "|"
+ │ │ │ ├── opening_loc: (37,3)-(37,4) = "|"
+ │ │ │ └── closing_loc: (37,9)-(37,10) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (236...237) = "{"
- │ │ └── closing_loc: (246...247) = "}"
+ │ │ ├── opening_loc: (37,1)-(37,2) = "{"
+ │ │ └── closing_loc: (37,11)-(37,12) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (249...260))
+ ├── @ CallNode (location: (39,0)-(39,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (249...250) = "f"
+ │ ├── message_loc: (39,0)-(39,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (250...260))
+ │ │ @ BlockNode (location: (39,1)-(39,11))
│ │ ├── locals: [:a, :c]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (252...258))
+ │ │ │ @ BlockParametersNode (location: (39,3)-(39,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (253...257))
+ │ │ │ │ @ ParametersNode (location: (39,4)-(39,8))
│ │ │ │ ├── requireds: (length: 2)
- │ │ │ │ │ ├── @ RequiredParameterNode (location: (253...254))
+ │ │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5))
│ │ │ │ │ │ └── name: :a
- │ │ │ │ │ └── @ RequiredParameterNode (location: (256...257))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (39,7)-(39,8))
│ │ │ │ │ └── name: :c
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -622,251 +622,251 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (252...253) = "|"
- │ │ │ └── closing_loc: (257...258) = "|"
+ │ │ │ ├── opening_loc: (39,3)-(39,4) = "|"
+ │ │ │ └── closing_loc: (39,8)-(39,9) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (250...251) = "{"
- │ │ └── closing_loc: (259...260) = "}"
+ │ │ ├── opening_loc: (39,1)-(39,2) = "{"
+ │ │ └── closing_loc: (39,10)-(39,11) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (262...279))
+ ├── @ CallNode (location: (41,0)-(41,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (262...263) = "f"
+ │ ├── message_loc: (41,0)-(41,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (263...279))
+ │ │ @ BlockNode (location: (41,1)-(41,17))
│ │ ├── locals: [:a, :o, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (265...277))
+ │ │ │ @ BlockParametersNode (location: (41,3)-(41,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (266...276))
+ │ │ │ │ @ ParametersNode (location: (41,4)-(41,14))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (266...267))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (269...272))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (41,7)-(41,10))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (269...270) = "o"
- │ │ │ │ │ ├── operator_loc: (270...271) = "="
+ │ │ │ │ │ ├── name_loc: (41,7)-(41,8) = "o"
+ │ │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (271...272))
+ │ │ │ │ │ @ IntegerNode (location: (41,9)-(41,10))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (274...276))
+ │ │ │ │ @ BlockParameterNode (location: (41,12)-(41,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (275...276) = "b"
- │ │ │ │ └── operator_loc: (274...275) = "&"
+ │ │ │ │ ├── name_loc: (41,13)-(41,14) = "b"
+ │ │ │ │ └── operator_loc: (41,12)-(41,13) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (265...266) = "|"
- │ │ │ └── closing_loc: (276...277) = "|"
+ │ │ │ ├── opening_loc: (41,3)-(41,4) = "|"
+ │ │ │ └── closing_loc: (41,14)-(41,15) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (263...264) = "{"
- │ │ └── closing_loc: (278...279) = "}"
+ │ │ ├── opening_loc: (41,1)-(41,2) = "{"
+ │ │ └── closing_loc: (41,16)-(41,17) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (281...305))
+ ├── @ CallNode (location: (43,0)-(43,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (281...282) = "f"
+ │ ├── message_loc: (43,0)-(43,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (282...305))
+ │ │ @ BlockNode (location: (43,1)-(43,24))
│ │ ├── locals: [:a, :o, :r, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (284...303))
+ │ │ │ @ BlockParametersNode (location: (43,3)-(43,22))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (285...302))
+ │ │ │ │ @ ParametersNode (location: (43,4)-(43,21))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (285...286))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (288...291))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (43,7)-(43,10))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (288...289) = "o"
- │ │ │ │ │ ├── operator_loc: (289...290) = "="
+ │ │ │ │ │ ├── name_loc: (43,7)-(43,8) = "o"
+ │ │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (290...291))
+ │ │ │ │ │ @ IntegerNode (location: (43,9)-(43,10))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (293...295))
+ │ │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (294...295) = "r"
- │ │ │ │ │ └── operator_loc: (293...294) = "*"
+ │ │ │ │ │ ├── name_loc: (43,13)-(43,14) = "r"
+ │ │ │ │ │ └── operator_loc: (43,12)-(43,13) = "*"
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (297...298))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (43,16)-(43,17))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (300...302))
+ │ │ │ │ @ BlockParameterNode (location: (43,19)-(43,21))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (301...302) = "b"
- │ │ │ │ └── operator_loc: (300...301) = "&"
+ │ │ │ │ ├── name_loc: (43,20)-(43,21) = "b"
+ │ │ │ │ └── operator_loc: (43,19)-(43,20) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (284...285) = "|"
- │ │ │ └── closing_loc: (302...303) = "|"
+ │ │ │ ├── opening_loc: (43,3)-(43,4) = "|"
+ │ │ │ └── closing_loc: (43,21)-(43,22) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (282...283) = "{"
- │ │ └── closing_loc: (304...305) = "}"
+ │ │ ├── opening_loc: (43,1)-(43,2) = "{"
+ │ │ └── closing_loc: (43,23)-(43,24) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (307...334))
+ ├── @ CallNode (location: (45,0)-(45,27))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (307...308) = "f"
+ │ ├── message_loc: (45,0)-(45,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (308...334))
+ │ │ @ BlockNode (location: (45,1)-(45,27))
│ │ ├── locals: [:a, :o, :o1, :r, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (310...332))
+ │ │ │ @ BlockParametersNode (location: (45,3)-(45,25))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (311...331))
+ │ │ │ │ @ ParametersNode (location: (45,4)-(45,24))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (311...312))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 2)
- │ │ │ │ │ ├── @ OptionalParameterNode (location: (314...317))
+ │ │ │ │ │ ├── @ OptionalParameterNode (location: (45,7)-(45,10))
│ │ │ │ │ │ ├── name: :o
- │ │ │ │ │ │ ├── name_loc: (314...315) = "o"
- │ │ │ │ │ │ ├── operator_loc: (315...316) = "="
+ │ │ │ │ │ │ ├── name_loc: (45,7)-(45,8) = "o"
+ │ │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "="
│ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ IntegerNode (location: (316...317))
+ │ │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ OptionalParameterNode (location: (319...323))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16))
│ │ │ │ │ ├── name: :o1
- │ │ │ │ │ ├── name_loc: (319...321) = "o1"
- │ │ │ │ │ ├── operator_loc: (321...322) = "="
+ │ │ │ │ │ ├── name_loc: (45,12)-(45,14) = "o1"
+ │ │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (322...323))
+ │ │ │ │ │ @ IntegerNode (location: (45,15)-(45,16))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (325...327))
+ │ │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (326...327) = "r"
- │ │ │ │ │ └── operator_loc: (325...326) = "*"
+ │ │ │ │ │ ├── name_loc: (45,19)-(45,20) = "r"
+ │ │ │ │ │ └── operator_loc: (45,18)-(45,19) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (329...331))
+ │ │ │ │ @ BlockParameterNode (location: (45,22)-(45,24))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (330...331) = "b"
- │ │ │ │ └── operator_loc: (329...330) = "&"
+ │ │ │ │ ├── name_loc: (45,23)-(45,24) = "b"
+ │ │ │ │ └── operator_loc: (45,22)-(45,23) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (310...311) = "|"
- │ │ │ └── closing_loc: (331...332) = "|"
+ │ │ │ ├── opening_loc: (45,3)-(45,4) = "|"
+ │ │ │ └── closing_loc: (45,24)-(45,25) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (308...309) = "{"
- │ │ └── closing_loc: (333...334) = "}"
+ │ │ ├── opening_loc: (45,1)-(45,2) = "{"
+ │ │ └── closing_loc: (45,26)-(45,27) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (336...356))
+ ├── @ CallNode (location: (47,0)-(47,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (336...337) = "f"
+ │ ├── message_loc: (47,0)-(47,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (337...356))
+ │ │ @ BlockNode (location: (47,1)-(47,20))
│ │ ├── locals: [:a, :o, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (339...354))
+ │ │ │ @ BlockParametersNode (location: (47,3)-(47,18))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (340...353))
+ │ │ │ │ @ ParametersNode (location: (47,4)-(47,17))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (340...341))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (343...346))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (47,7)-(47,10))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (343...344) = "o"
- │ │ │ │ │ ├── operator_loc: (344...345) = "="
+ │ │ │ │ │ ├── name_loc: (47,7)-(47,8) = "o"
+ │ │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (345...346))
+ │ │ │ │ │ @ IntegerNode (location: (47,9)-(47,10))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (348...349))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (47,12)-(47,13))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (351...353))
+ │ │ │ │ @ BlockParameterNode (location: (47,15)-(47,17))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (352...353) = "b"
- │ │ │ │ └── operator_loc: (351...352) = "&"
+ │ │ │ │ ├── name_loc: (47,16)-(47,17) = "b"
+ │ │ │ │ └── operator_loc: (47,15)-(47,16) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (339...340) = "|"
- │ │ │ └── closing_loc: (353...354) = "|"
+ │ │ │ ├── opening_loc: (47,3)-(47,4) = "|"
+ │ │ │ └── closing_loc: (47,17)-(47,18) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (337...338) = "{"
- │ │ └── closing_loc: (355...356) = "}"
+ │ │ ├── opening_loc: (47,1)-(47,2) = "{"
+ │ │ └── closing_loc: (47,19)-(47,20) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (358...367))
+ ├── @ CallNode (location: (49,0)-(49,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (358...359) = "f"
+ │ ├── message_loc: (49,0)-(49,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (359...367))
+ │ │ @ BlockNode (location: (49,1)-(49,9))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (361...365))
+ │ │ │ @ BlockParametersNode (location: (49,3)-(49,7))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (362...364))
+ │ │ │ │ @ ParametersNode (location: (49,4)-(49,6))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (362...363))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (363...364))
+ │ │ │ │ │ @ RestParameterNode (location: (49,5)-(49,6))
│ │ │ │ │ ├── name: nil
│ │ │ │ │ ├── name_loc: ∅
- │ │ │ │ │ └── operator_loc: (363...364) = ","
+ │ │ │ │ │ └── operator_loc: (49,5)-(49,6) = ","
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (361...362) = "|"
- │ │ │ └── closing_loc: (364...365) = "|"
+ │ │ │ ├── opening_loc: (49,3)-(49,4) = "|"
+ │ │ │ └── closing_loc: (49,6)-(49,7) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (359...360) = "{"
- │ │ └── closing_loc: (366...367) = "}"
+ │ │ ├── opening_loc: (49,1)-(49,2) = "{"
+ │ │ └── closing_loc: (49,8)-(49,9) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (369...377))
+ ├── @ CallNode (location: (51,0)-(51,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (369...370) = "f"
+ │ ├── message_loc: (51,0)-(51,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (370...377))
+ │ │ @ BlockNode (location: (51,1)-(51,8))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (372...375))
+ │ │ │ @ BlockParametersNode (location: (51,3)-(51,6))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (373...374))
+ │ │ │ │ @ ParametersNode (location: (51,4)-(51,5))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (373...374))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -875,29 +875,29 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (372...373) = "|"
- │ │ │ └── closing_loc: (374...375) = "|"
+ │ │ │ ├── opening_loc: (51,3)-(51,4) = "|"
+ │ │ │ └── closing_loc: (51,5)-(51,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (370...371) = "{"
- │ │ └── closing_loc: (376...377) = "}"
+ │ │ ├── opening_loc: (51,1)-(51,2) = "{"
+ │ │ └── closing_loc: (51,7)-(51,8) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (379...387))
+ ├── @ CallNode (location: (53,0)-(53,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (379...380) = "f"
+ │ ├── message_loc: (53,0)-(53,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (380...387))
+ │ │ @ BlockNode (location: (53,1)-(53,8))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (382...385))
+ │ │ │ @ BlockParametersNode (location: (53,3)-(53,6))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (383...384))
+ │ │ │ │ @ ParametersNode (location: (53,4)-(53,5))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (383...384))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -906,29 +906,29 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (382...383) = "|"
- │ │ │ └── closing_loc: (384...385) = "|"
+ │ │ │ ├── opening_loc: (53,3)-(53,4) = "|"
+ │ │ │ └── closing_loc: (53,5)-(53,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (380...381) = "{"
- │ │ └── closing_loc: (386...387) = "}"
+ │ │ ├── opening_loc: (53,1)-(53,2) = "{"
+ │ │ └── closing_loc: (53,7)-(53,8) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (389...397))
+ ├── @ CallNode (location: (55,0)-(55,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (389...390) = "f"
+ │ ├── message_loc: (55,0)-(55,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (390...397))
+ │ │ @ BlockNode (location: (55,1)-(55,8))
│ │ ├── locals: [:a]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (392...395))
+ │ │ │ @ BlockParametersNode (location: (55,3)-(55,6))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (393...394))
+ │ │ │ │ @ ParametersNode (location: (55,4)-(55,5))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (393...394))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -937,324 +937,324 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (392...393) = "|"
- │ │ │ └── closing_loc: (394...395) = "|"
+ │ │ │ ├── opening_loc: (55,3)-(55,4) = "|"
+ │ │ │ └── closing_loc: (55,5)-(55,6) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (390...391) = "{"
- │ │ └── closing_loc: (396...397) = "}"
+ │ │ ├── opening_loc: (55,1)-(55,2) = "{"
+ │ │ └── closing_loc: (55,7)-(55,8) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (399...416))
+ ├── @ CallNode (location: (57,0)-(57,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (399...400) = "f"
+ │ ├── message_loc: (57,0)-(57,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (400...416))
+ │ │ @ BlockNode (location: (57,1)-(57,17))
│ │ ├── locals: [:foo, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (402...414))
+ │ │ │ @ BlockParametersNode (location: (57,3)-(57,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (403...413))
+ │ │ │ │ @ ParametersNode (location: (57,4)-(57,14))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ KeywordParameterNode (location: (403...409))
+ │ │ │ │ │ └── @ KeywordParameterNode (location: (57,4)-(57,10))
│ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── name_loc: (403...407) = "foo:"
+ │ │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:"
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (408...409))
+ │ │ │ │ │ @ IntegerNode (location: (57,9)-(57,10))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (411...413))
+ │ │ │ │ @ BlockParameterNode (location: (57,12)-(57,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (412...413) = "b"
- │ │ │ │ └── operator_loc: (411...412) = "&"
+ │ │ │ │ ├── name_loc: (57,13)-(57,14) = "b"
+ │ │ │ │ └── operator_loc: (57,12)-(57,13) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (402...403) = "|"
- │ │ │ └── closing_loc: (413...414) = "|"
+ │ │ │ ├── opening_loc: (57,3)-(57,4) = "|"
+ │ │ │ └── closing_loc: (57,14)-(57,15) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (400...401) = "{"
- │ │ └── closing_loc: (415...416) = "}"
+ │ │ ├── opening_loc: (57,1)-(57,2) = "{"
+ │ │ └── closing_loc: (57,16)-(57,17) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (418...450))
+ ├── @ CallNode (location: (59,0)-(59,32))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (418...419) = "f"
+ │ ├── message_loc: (59,0)-(59,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (419...450))
+ │ │ @ BlockNode (location: (59,1)-(59,32))
│ │ ├── locals: [:foo, :bar, :baz, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (421...448))
+ │ │ │ @ BlockParametersNode (location: (59,3)-(59,30))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (422...447))
+ │ │ │ │ @ ParametersNode (location: (59,4)-(59,29))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 2)
- │ │ │ │ │ ├── @ KeywordParameterNode (location: (422...428))
+ │ │ │ │ │ ├── @ KeywordParameterNode (location: (59,4)-(59,10))
│ │ │ │ │ │ ├── name: :foo
- │ │ │ │ │ │ ├── name_loc: (422...426) = "foo:"
+ │ │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:"
│ │ │ │ │ │ └── value:
- │ │ │ │ │ │ @ IntegerNode (location: (427...428))
+ │ │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10))
│ │ │ │ │ │ └── flags: decimal
- │ │ │ │ │ └── @ KeywordParameterNode (location: (430...436))
+ │ │ │ │ │ └── @ KeywordParameterNode (location: (59,12)-(59,18))
│ │ │ │ │ ├── name: :bar
- │ │ │ │ │ ├── name_loc: (430...434) = "bar:"
+ │ │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:"
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (435...436))
+ │ │ │ │ │ @ IntegerNode (location: (59,17)-(59,18))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── keyword_rest:
- │ │ │ │ │ @ KeywordRestParameterNode (location: (438...443))
+ │ │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25))
│ │ │ │ │ ├── name: :baz
- │ │ │ │ │ ├── name_loc: (440...443) = "baz"
- │ │ │ │ │ └── operator_loc: (438...440) = "**"
+ │ │ │ │ │ ├── name_loc: (59,22)-(59,25) = "baz"
+ │ │ │ │ │ └── operator_loc: (59,20)-(59,22) = "**"
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (445...447))
+ │ │ │ │ @ BlockParameterNode (location: (59,27)-(59,29))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (446...447) = "b"
- │ │ │ │ └── operator_loc: (445...446) = "&"
+ │ │ │ │ ├── name_loc: (59,28)-(59,29) = "b"
+ │ │ │ │ └── operator_loc: (59,27)-(59,28) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (421...422) = "|"
- │ │ │ └── closing_loc: (447...448) = "|"
+ │ │ │ ├── opening_loc: (59,3)-(59,4) = "|"
+ │ │ │ └── closing_loc: (59,29)-(59,30) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (419...420) = "{"
- │ │ └── closing_loc: (449...450) = "}"
+ │ │ ├── opening_loc: (59,1)-(59,2) = "{"
+ │ │ └── closing_loc: (59,31)-(59,32) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (452...463))
+ ├── @ CallNode (location: (61,0)-(61,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (452...453) = "f"
+ │ ├── message_loc: (61,0)-(61,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (453...463))
+ │ │ @ BlockNode (location: (61,1)-(61,11))
│ │ ├── locals: [:foo]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (455...461))
+ │ │ │ @ BlockParametersNode (location: (61,3)-(61,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (456...460))
+ │ │ │ │ @ ParametersNode (location: (61,4)-(61,8))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 1)
- │ │ │ │ │ └── @ KeywordParameterNode (location: (456...460))
+ │ │ │ │ │ └── @ KeywordParameterNode (location: (61,4)-(61,8))
│ │ │ │ │ ├── name: :foo
- │ │ │ │ │ ├── name_loc: (456...460) = "foo:"
+ │ │ │ │ │ ├── name_loc: (61,4)-(61,8) = "foo:"
│ │ │ │ │ └── value: ∅
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (455...456) = "|"
- │ │ │ └── closing_loc: (460...461) = "|"
+ │ │ │ ├── opening_loc: (61,3)-(61,4) = "|"
+ │ │ │ └── closing_loc: (61,8)-(61,9) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (453...454) = "{"
- │ │ └── closing_loc: (462...463) = "}"
+ │ │ ├── opening_loc: (61,1)-(61,2) = "{"
+ │ │ └── closing_loc: (61,10)-(61,11) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (465...479))
+ ├── @ CallNode (location: (63,0)-(63,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (465...466) = "f"
+ │ ├── message_loc: (63,0)-(63,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (466...479))
+ │ │ @ BlockNode (location: (63,1)-(63,14))
│ │ ├── locals: [:o, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (468...477))
+ │ │ │ @ BlockParametersNode (location: (63,3)-(63,12))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (469...476))
+ │ │ │ │ @ ParametersNode (location: (63,4)-(63,11))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (469...472))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (469...470) = "o"
- │ │ │ │ │ ├── operator_loc: (470...471) = "="
+ │ │ │ │ │ ├── name_loc: (63,4)-(63,5) = "o"
+ │ │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (471...472))
+ │ │ │ │ │ @ IntegerNode (location: (63,6)-(63,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (474...476))
+ │ │ │ │ @ BlockParameterNode (location: (63,9)-(63,11))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (475...476) = "b"
- │ │ │ │ └── operator_loc: (474...475) = "&"
+ │ │ │ │ ├── name_loc: (63,10)-(63,11) = "b"
+ │ │ │ │ └── operator_loc: (63,9)-(63,10) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (468...469) = "|"
- │ │ │ └── closing_loc: (476...477) = "|"
+ │ │ │ ├── opening_loc: (63,3)-(63,4) = "|"
+ │ │ │ └── closing_loc: (63,11)-(63,12) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (466...467) = "{"
- │ │ └── closing_loc: (478...479) = "}"
+ │ │ ├── opening_loc: (63,1)-(63,2) = "{"
+ │ │ └── closing_loc: (63,13)-(63,14) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (481...499))
+ ├── @ CallNode (location: (65,0)-(65,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (481...482) = "f"
+ │ ├── message_loc: (65,0)-(65,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (482...499))
+ │ │ @ BlockNode (location: (65,1)-(65,18))
│ │ ├── locals: [:o, :r, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (484...497))
+ │ │ │ @ BlockParametersNode (location: (65,3)-(65,16))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (485...496))
+ │ │ │ │ @ ParametersNode (location: (65,4)-(65,15))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (485...488))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (485...486) = "o"
- │ │ │ │ │ ├── operator_loc: (486...487) = "="
+ │ │ │ │ │ ├── name_loc: (65,4)-(65,5) = "o"
+ │ │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (487...488))
+ │ │ │ │ │ @ IntegerNode (location: (65,6)-(65,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (490...492))
+ │ │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (491...492) = "r"
- │ │ │ │ │ └── operator_loc: (490...491) = "*"
+ │ │ │ │ │ ├── name_loc: (65,10)-(65,11) = "r"
+ │ │ │ │ │ └── operator_loc: (65,9)-(65,10) = "*"
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (494...496))
+ │ │ │ │ @ BlockParameterNode (location: (65,13)-(65,15))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (495...496) = "b"
- │ │ │ │ └── operator_loc: (494...495) = "&"
+ │ │ │ │ ├── name_loc: (65,14)-(65,15) = "b"
+ │ │ │ │ └── operator_loc: (65,13)-(65,14) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (484...485) = "|"
- │ │ │ └── closing_loc: (496...497) = "|"
+ │ │ │ ├── opening_loc: (65,3)-(65,4) = "|"
+ │ │ │ └── closing_loc: (65,15)-(65,16) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (482...483) = "{"
- │ │ └── closing_loc: (498...499) = "}"
+ │ │ ├── opening_loc: (65,1)-(65,2) = "{"
+ │ │ └── closing_loc: (65,17)-(65,18) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (501...522))
+ ├── @ CallNode (location: (67,0)-(67,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (501...502) = "f"
+ │ ├── message_loc: (67,0)-(67,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (502...522))
+ │ │ @ BlockNode (location: (67,1)-(67,21))
│ │ ├── locals: [:o, :r, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (504...520))
+ │ │ │ @ BlockParametersNode (location: (67,3)-(67,19))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (505...519))
+ │ │ │ │ @ ParametersNode (location: (67,4)-(67,18))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (505...508))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (505...506) = "o"
- │ │ │ │ │ ├── operator_loc: (506...507) = "="
+ │ │ │ │ │ ├── name_loc: (67,4)-(67,5) = "o"
+ │ │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (507...508))
+ │ │ │ │ │ @ IntegerNode (location: (67,6)-(67,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest:
- │ │ │ │ │ @ RestParameterNode (location: (510...512))
+ │ │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11))
│ │ │ │ │ ├── name: :r
- │ │ │ │ │ ├── name_loc: (511...512) = "r"
- │ │ │ │ │ └── operator_loc: (510...511) = "*"
+ │ │ │ │ │ ├── name_loc: (67,10)-(67,11) = "r"
+ │ │ │ │ │ └── operator_loc: (67,9)-(67,10) = "*"
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (514...515))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (67,13)-(67,14))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (517...519))
+ │ │ │ │ @ BlockParameterNode (location: (67,16)-(67,18))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (518...519) = "b"
- │ │ │ │ └── operator_loc: (517...518) = "&"
+ │ │ │ │ ├── name_loc: (67,17)-(67,18) = "b"
+ │ │ │ │ └── operator_loc: (67,16)-(67,17) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (504...505) = "|"
- │ │ │ └── closing_loc: (519...520) = "|"
+ │ │ │ ├── opening_loc: (67,3)-(67,4) = "|"
+ │ │ │ └── closing_loc: (67,18)-(67,19) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (502...503) = "{"
- │ │ └── closing_loc: (521...522) = "}"
+ │ │ ├── opening_loc: (67,1)-(67,2) = "{"
+ │ │ └── closing_loc: (67,20)-(67,21) = "}"
│ ├── flags: ∅
│ └── name: "f"
- ├── @ CallNode (location: (524...541))
+ ├── @ CallNode (location: (69,0)-(69,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (524...525) = "f"
+ │ ├── message_loc: (69,0)-(69,1) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (525...541))
+ │ │ @ BlockNode (location: (69,1)-(69,17))
│ │ ├── locals: [:o, :p, :b]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (527...539))
+ │ │ │ @ BlockParametersNode (location: (69,3)-(69,15))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (528...538))
+ │ │ │ │ @ ParametersNode (location: (69,4)-(69,14))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (528...531))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7))
│ │ │ │ │ ├── name: :o
- │ │ │ │ │ ├── name_loc: (528...529) = "o"
- │ │ │ │ │ ├── operator_loc: (529...530) = "="
+ │ │ │ │ │ ├── name_loc: (69,4)-(69,5) = "o"
+ │ │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ IntegerNode (location: (530...531))
+ │ │ │ │ │ @ IntegerNode (location: (69,6)-(69,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (533...534))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (69,9)-(69,10))
│ │ │ │ │ └── name: :p
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block:
- │ │ │ │ @ BlockParameterNode (location: (536...538))
+ │ │ │ │ @ BlockParameterNode (location: (69,12)-(69,14))
│ │ │ │ ├── name: :b
- │ │ │ │ ├── name_loc: (537...538) = "b"
- │ │ │ │ └── operator_loc: (536...537) = "&"
+ │ │ │ │ ├── name_loc: (69,13)-(69,14) = "b"
+ │ │ │ │ └── operator_loc: (69,12)-(69,13) = "&"
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (527...528) = "|"
- │ │ │ └── closing_loc: (538...539) = "|"
+ │ │ │ ├── opening_loc: (69,3)-(69,4) = "|"
+ │ │ │ └── closing_loc: (69,14)-(69,15) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (525...526) = "{"
- │ │ └── closing_loc: (540...541) = "}"
+ │ │ ├── opening_loc: (69,1)-(69,2) = "{"
+ │ │ └── closing_loc: (69,16)-(69,17) = "}"
│ ├── flags: ∅
│ └── name: "f"
- └── @ CallNode (location: (543...550))
+ └── @ CallNode (location: (71,0)-(71,7))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (543...544) = "f"
+ ├── message_loc: (71,0)-(71,1) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (544...550))
+ │ @ BlockNode (location: (71,1)-(71,7))
│ ├── locals: []
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (546...548))
+ │ │ @ BlockParametersNode (location: (71,3)-(71,5))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (546...547) = "|"
- │ │ └── closing_loc: (547...548) = "|"
+ │ │ ├── opening_loc: (71,3)-(71,4) = "|"
+ │ │ └── closing_loc: (71,4)-(71,5) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (544...545) = "{"
- │ └── closing_loc: (549...550) = "}"
+ │ ├── opening_loc: (71,1)-(71,2) = "{"
+ │ └── closing_loc: (71,6)-(71,7) = "}"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/whitequark/break.txt b/test/yarp/snapshots/whitequark/break.txt
index f83a13166a..7f375d2d3f 100644
--- a/test/yarp/snapshots/whitequark/break.txt
+++ b/test/yarp/snapshots/whitequark/break.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(7,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
- ├── @ BreakNode (location: (0...5))
+ ├── @ BreakNode (location: (1,0)-(1,5))
│ ├── arguments: ∅
- │ └── keyword_loc: (0...5) = "break"
- ├── @ BreakNode (location: (7...16))
+ │ └── keyword_loc: (1,0)-(1,5) = "break"
+ ├── @ BreakNode (location: (3,0)-(3,9))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...16))
+ │ │ @ ArgumentsNode (location: (3,6)-(3,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (13...16))
+ │ │ └── @ CallNode (location: (3,6)-(3,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...16) = "foo"
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── keyword_loc: (7...12) = "break"
- ├── @ BreakNode (location: (18...25))
+ │ └── keyword_loc: (3,0)-(3,5) = "break"
+ ├── @ BreakNode (location: (5,0)-(5,7))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (23...25))
+ │ │ @ ArgumentsNode (location: (5,5)-(5,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (23...25))
+ │ │ └── @ ParenthesesNode (location: (5,5)-(5,7))
│ │ ├── body: ∅
- │ │ ├── opening_loc: (23...24) = "("
- │ │ └── closing_loc: (24...25) = ")"
- │ └── keyword_loc: (18...23) = "break"
- └── @ BreakNode (location: (27...37))
+ │ │ ├── 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: (32...37))
+ │ @ ArgumentsNode (location: (7,5)-(7,10))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (32...37))
+ │ └── @ ParenthesesNode (location: (7,5)-(7,10))
│ ├── body:
- │ │ @ StatementsNode (location: (33...36))
+ │ │ @ StatementsNode (location: (7,6)-(7,9))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (33...36))
+ │ │ └── @ CallNode (location: (7,6)-(7,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (33...36) = "foo"
+ │ │ ├── message_loc: (7,6)-(7,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (32...33) = "("
- │ └── closing_loc: (36...37) = ")"
- └── keyword_loc: (27...32) = "break"
+ │ ├── opening_loc: (7,5)-(7,6) = "("
+ │ └── closing_loc: (7,9)-(7,10) = ")"
+ └── keyword_loc: (7,0)-(7,5) = "break"
diff --git a/test/yarp/snapshots/whitequark/break_block.txt b/test/yarp/snapshots/whitequark/break_block.txt
index 27d5a25dfc..58e972f226 100644
--- a/test/yarp/snapshots/whitequark/break_block.txt
+++ b/test/yarp/snapshots/whitequark/break_block.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ BreakNode (location: (0...20))
+ └── @ BreakNode (location: (1,0)-(1,20))
├── arguments:
- │ @ ArgumentsNode (location: (6...20))
+ │ @ ArgumentsNode (location: (1,6)-(1,20))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (6...20))
+ │ └── @ CallNode (location: (1,6)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "fun"
+ │ ├── message_loc: (1,6)-(1,9) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (10...13))
+ │ │ @ ArgumentsNode (location: (1,10)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (10...13))
+ │ │ └── @ CallNode (location: (1,10)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...13) = "foo"
+ │ │ ├── message_loc: (1,10)-(1,13) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -27,12 +27,12 @@
│ │ └── name: "foo"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (14...20))
+ │ │ @ BlockNode (location: (1,14)-(1,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (14...16) = "do"
- │ │ └── closing_loc: (17...20) = "end"
+ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ ├── flags: ∅
│ └── name: "fun"
- └── keyword_loc: (0...5) = "break"
+ └── keyword_loc: (1,0)-(1,5) = "break"
diff --git a/test/yarp/snapshots/whitequark/bug_435.txt b/test/yarp/snapshots/whitequark/bug_435.txt
index c8c8a9a243..fd7380e15d 100644
--- a/test/yarp/snapshots/whitequark/bug_435.txt
+++ b/test/yarp/snapshots/whitequark/bug_435.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...14))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,14))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 1)
- │ └── @ EmbeddedStatementsNode (location: (1...13))
- │ ├── opening_loc: (1...3) = "\#{"
+ │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,13))
+ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ ├── statements:
- │ │ @ StatementsNode (location: (3...12))
+ │ │ @ StatementsNode (location: (1,3)-(1,12))
│ │ └── body: (length: 1)
- │ │ └── @ LambdaNode (location: (3...12))
+ │ │ └── @ LambdaNode (location: (1,3)-(1,12))
│ │ ├── locals: [:foo]
- │ │ ├── operator_loc: (3...5) = "->"
- │ │ ├── opening_loc: (10...11) = "{"
- │ │ ├── closing_loc: (11...12) = "}"
+ │ │ ├── operator_loc: (1,3)-(1,5) = "->"
+ │ │ ├── opening_loc: (1,10)-(1,11) = "{"
+ │ │ ├── closing_loc: (1,11)-(1,12) = "}"
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (6...9))
+ │ │ │ @ BlockParametersNode (location: (1,6)-(1,9))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (6...9))
+ │ │ │ │ @ ParametersNode (location: (1,6)-(1,9))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (6...9))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,9))
│ │ │ │ │ └── name: :foo
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -33,5 +33,5 @@
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ └── body: ∅
- │ └── closing_loc: (12...13) = "}"
- └── closing_loc: (13...14) = "\""
+ │ └── closing_loc: (1,12)-(1,13) = "}"
+ └── closing_loc: (1,13)-(1,14) = "\""
diff --git a/test/yarp/snapshots/whitequark/bug_447.txt b/test/yarp/snapshots/whitequark/bug_447.txt
index af256bdaa3..40a6d81e4c 100644
--- a/test/yarp/snapshots/whitequark/bug_447.txt
+++ b/test/yarp/snapshots/whitequark/bug_447.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(3,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(3,14))
└── body: (length: 2)
- ├── @ CallNode (location: (0...11))
+ ├── @ CallNode (location: (1,0)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "m"
+ │ ├── message_loc: (1,0)-(1,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...4))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ │ └── arguments: (length: 1)
- │ │ └── @ ArrayNode (location: (2...4))
+ │ │ └── @ ArrayNode (location: (1,2)-(1,4))
│ │ ├── elements: (length: 0)
- │ │ ├── opening_loc: (2...3) = "["
- │ │ └── closing_loc: (3...4) = "]"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "["
+ │ │ └── closing_loc: (1,3)-(1,4) = "]"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (5...11))
+ │ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (5...7) = "do"
- │ │ └── closing_loc: (8...11) = "end"
+ │ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ │ └── closing_loc: (1,8)-(1,11) = "end"
│ ├── flags: ∅
│ └── name: "m"
- └── @ CallNode (location: (13...27))
+ └── @ CallNode (location: (3,0)-(3,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (13...14) = "m"
+ ├── message_loc: (3,0)-(3,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (15...20))
+ │ @ ArgumentsNode (location: (3,2)-(3,7))
│ └── arguments: (length: 2)
- │ ├── @ ArrayNode (location: (15...17))
+ │ ├── @ ArrayNode (location: (3,2)-(3,4))
│ │ ├── elements: (length: 0)
- │ │ ├── opening_loc: (15...16) = "["
- │ │ └── closing_loc: (16...17) = "]"
- │ └── @ IntegerNode (location: (19...20))
+ │ │ ├── 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: (21...27))
+ │ @ BlockNode (location: (3,8)-(3,14))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (21...23) = "do"
- │ └── closing_loc: (24...27) = "end"
+ │ ├── opening_loc: (3,8)-(3,10) = "do"
+ │ └── closing_loc: (3,11)-(3,14) = "end"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/whitequark/bug_452.txt b/test/yarp/snapshots/whitequark/bug_452.txt
index 3654e0f3b5..e7ecdcb2c7 100644
--- a/test/yarp/snapshots/whitequark/bug_452.txt
+++ b/test/yarp/snapshots/whitequark/bug_452.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(1,37))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(1,37))
└── body: (length: 2)
- ├── @ CallNode (location: (0...21))
+ ├── @ CallNode (location: (1,0)-(1,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...2) = "td"
+ │ ├── message_loc: (1,0)-(1,2) = "td"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (3...21))
+ │ │ @ ArgumentsNode (location: (1,3)-(1,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (3...21))
+ │ │ └── @ CallNode (location: (1,3)-(1,21))
│ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (3...10))
+ │ │ │ @ ParenthesesNode (location: (1,3)-(1,10))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (4...9))
+ │ │ │ │ @ StatementsNode (location: (1,4)-(1,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (4...9))
+ │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9))
│ │ │ │ └── flags: decimal
- │ │ │ ├── opening_loc: (3...4) = "("
- │ │ │ └── closing_loc: (9...10) = ")"
- │ │ ├── call_operator_loc: (10...11) = "."
- │ │ ├── message_loc: (11...19) = "toString"
- │ │ ├── opening_loc: (19...20) = "("
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ │ └── closing_loc: (1,9)-(1,10) = ")"
+ │ │ ├── call_operator_loc: (1,10)-(1,11) = "."
+ │ │ ├── message_loc: (1,11)-(1,19) = "toString"
+ │ │ ├── opening_loc: (1,19)-(1,20) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (20...21) = ")"
+ │ │ ├── closing_loc: (1,20)-(1,21) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "toString"
@@ -33,29 +33,29 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "td"
- └── @ CallNode (location: (23...37))
+ └── @ CallNode (location: (1,23)-(1,37))
├── receiver:
- │ @ CallNode (location: (23...25))
+ │ @ CallNode (location: (1,23)-(1,25))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (23...25) = "td"
+ │ ├── message_loc: (1,23)-(1,25) = "td"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "td"
- ├── call_operator_loc: (25...26) = "."
- ├── message_loc: (26...29) = "num"
+ ├── call_operator_loc: (1,25)-(1,26) = "."
+ ├── message_loc: (1,26)-(1,29) = "num"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (30...37))
+ │ @ BlockNode (location: (1,30)-(1,37))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (30...32) = "do"
- │ └── closing_loc: (34...37) = "end"
+ │ ├── opening_loc: (1,30)-(1,32) = "do"
+ │ └── closing_loc: (1,34)-(1,37) = "end"
├── flags: ∅
└── name: "num"
diff --git a/test/yarp/snapshots/whitequark/bug_466.txt b/test/yarp/snapshots/whitequark/bug_466.txt
index 496987c57c..f69841c32d 100644
--- a/test/yarp/snapshots/whitequark/bug_466.txt
+++ b/test/yarp/snapshots/whitequark/bug_466.txt
@@ -1,65 +1,65 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(1,27))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
- └── @ CallNode (location: (0...27))
+ └── @ CallNode (location: (1,0)-(1,27))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "foo"
+ ├── message_loc: (1,0)-(1,3) = "foo"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...19))
+ │ @ ArgumentsNode (location: (1,4)-(1,19))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedStringNode (location: (4...19))
- │ ├── opening_loc: (4...5) = "\""
+ │ └── @ InterpolatedStringNode (location: (1,4)-(1,19))
+ │ ├── opening_loc: (1,4)-(1,5) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (5...18))
- │ │ ├── opening_loc: (5...7) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18))
+ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (7...17))
+ │ │ │ @ StatementsNode (location: (1,7)-(1,17))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (7...17))
+ │ │ │ └── @ CallNode (location: (1,7)-(1,17))
│ │ │ ├── receiver:
- │ │ │ │ @ ParenthesesNode (location: (7...12))
+ │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12))
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (8...11))
+ │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (8...11))
+ │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11))
│ │ │ │ │ ├── receiver:
- │ │ │ │ │ │ @ IntegerNode (location: (8...9))
+ │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (9...10) = "+"
+ │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (10...11))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ IntegerNode (location: (10...11))
+ │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "+"
- │ │ │ │ ├── opening_loc: (7...8) = "("
- │ │ │ │ └── closing_loc: (11...12) = ")"
- │ │ │ ├── call_operator_loc: (12...13) = "."
- │ │ │ ├── message_loc: (13...17) = "to_i"
+ │ │ │ │ ├── opening_loc: (1,7)-(1,8) = "("
+ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")"
+ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "."
+ │ │ │ ├── message_loc: (1,13)-(1,17) = "to_i"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "to_i"
- │ │ └── closing_loc: (17...18) = "}"
- │ └── closing_loc: (18...19) = "\""
+ │ │ └── closing_loc: (1,17)-(1,18) = "}"
+ │ └── closing_loc: (1,18)-(1,19) = "\""
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (20...27))
+ │ @ BlockNode (location: (1,20)-(1,27))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (20...22) = "do"
- │ └── closing_loc: (24...27) = "end"
+ │ ├── opening_loc: (1,20)-(1,22) = "do"
+ │ └── closing_loc: (1,24)-(1,27) = "end"
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/whitequark/bug_473.txt b/test/yarp/snapshots/whitequark/bug_473.txt
index aede6114ae..cfdeb9d2f3 100644
--- a/test/yarp/snapshots/whitequark/bug_473.txt
+++ b/test/yarp/snapshots/whitequark/bug_473.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "m"
+ ├── message_loc: (1,0)-(1,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...9))
+ │ @ ArgumentsNode (location: (1,2)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedStringNode (location: (2...9))
- │ ├── opening_loc: (2...3) = "\""
+ │ └── @ InterpolatedStringNode (location: (1,2)-(1,9))
+ │ ├── opening_loc: (1,2)-(1,3) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (3...8))
- │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8))
+ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (5...7))
+ │ │ │ @ StatementsNode (location: (1,5)-(1,7))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ArrayNode (location: (5...7))
+ │ │ │ └── @ ArrayNode (location: (1,5)-(1,7))
│ │ │ ├── elements: (length: 0)
- │ │ │ ├── opening_loc: (5...6) = "["
- │ │ │ └── closing_loc: (6...7) = "]"
- │ │ └── closing_loc: (7...8) = "}"
- │ └── closing_loc: (8...9) = "\""
+ │ │ │ ├── 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: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_480.txt b/test/yarp/snapshots/whitequark/bug_480.txt
index c3c8d0a9a9..d7beb238e7 100644
--- a/test/yarp/snapshots/whitequark/bug_480.txt
+++ b/test/yarp/snapshots/whitequark/bug_480.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "m"
+ ├── message_loc: (1,0)-(1,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...12))
+ │ @ ArgumentsNode (location: (1,2)-(1,12))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedStringNode (location: (2...12))
- │ ├── opening_loc: (2...3) = "\""
+ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12))
+ │ ├── opening_loc: (1,2)-(1,3) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (3...6))
- │ │ │ ├── opening_loc: (3...5) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6))
+ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ │ ├── statements: ∅
- │ │ │ └── closing_loc: (5...6) = "}"
- │ │ └── @ EmbeddedStatementsNode (location: (6...11))
- │ │ ├── opening_loc: (6...8) = "\#{"
+ │ │ │ └── closing_loc: (1,5)-(1,6) = "}"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11))
+ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (8...10))
+ │ │ │ @ StatementsNode (location: (1,8)-(1,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ParenthesesNode (location: (8...10))
+ │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10))
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (8...9) = "("
- │ │ │ └── closing_loc: (9...10) = ")"
- │ │ └── closing_loc: (10...11) = "}"
- │ └── closing_loc: (11...12) = "\""
+ │ │ │ ├── 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: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_481.txt b/test/yarp/snapshots/whitequark/bug_481.txt
index 35ff181f48..7baad1034c 100644
--- a/test/yarp/snapshots/whitequark/bug_481.txt
+++ b/test/yarp/snapshots/whitequark/bug_481.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 2)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "m"
+ │ ├── message_loc: (1,0)-(1,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...14))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ DefNode (location: (2...14))
+ │ │ └── @ DefNode (location: (1,2)-(1,14))
│ │ ├── name: :x
- │ │ ├── name_loc: (6...7) = "x"
+ │ │ ├── name_loc: (1,6)-(1,7) = "x"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (2...5) = "def"
+ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
│ │ ├── operator_loc: ∅
- │ │ ├── lparen_loc: (7...8) = "("
- │ │ ├── rparen_loc: (8...9) = ")"
+ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ │ ├── rparen_loc: (1,8)-(1,9) = ")"
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (11...14) = "end"
+ │ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- └── @ CallNode (location: (16...28))
+ └── @ CallNode (location: (1,16)-(1,28))
├── receiver:
- │ @ IntegerNode (location: (16...17))
+ │ @ IntegerNode (location: (1,16)-(1,17))
│ └── flags: decimal
- ├── call_operator_loc: (17...18) = "."
- ├── message_loc: (18...21) = "tap"
+ ├── call_operator_loc: (1,17)-(1,18) = "."
+ ├── message_loc: (1,18)-(1,21) = "tap"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (22...28))
+ │ @ BlockNode (location: (1,22)-(1,28))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (22...24) = "do"
- │ └── closing_loc: (25...28) = "end"
+ │ ├── opening_loc: (1,22)-(1,24) = "do"
+ │ └── closing_loc: (1,25)-(1,28) = "end"
├── flags: ∅
└── name: "tap"
diff --git a/test/yarp/snapshots/whitequark/bug_ascii_8bit_in_literal.txt b/test/yarp/snapshots/whitequark/bug_ascii_8bit_in_literal.txt
index 4badce4bab..65d733166a 100644
--- a/test/yarp/snapshots/whitequark/bug_ascii_8bit_in_literal.txt
+++ b/test/yarp/snapshots/whitequark/bug_ascii_8bit_in_literal.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (24...90))
+@ ProgramNode (location: (2,9)-(2,75))
├── locals: []
└── statements:
- @ StatementsNode (location: (24...90))
+ @ StatementsNode (location: (2,9)-(2,75))
└── body: (length: 1)
- └── @ StringNode (location: (24...90))
+ └── @ StringNode (location: (2,9)-(2,75))
├── flags: ∅
- ├── opening_loc: (24...25) = "\""
- ├── content_loc: (25...89) = "\\xD0\\xBF\\xD1\\x80\\xD0\\xBE\\xD0\\xB2\\xD0\\xB5\\xD1\\x80\\xD0\\xBA\\xD0\\xB0"
- ├── closing_loc: (89...90) = "\""
+ ├── opening_loc: (2,9)-(2,10) = "\""
+ ├── content_loc: (2,10)-(2,74) = "\\xD0\\xBF\\xD1\\x80\\xD0\\xBE\\xD0\\xB2\\xD0\\xB5\\xD1\\x80\\xD0\\xBA\\xD0\\xB0"
+ ├── closing_loc: (2,74)-(2,75) = "\""
└── unescaped: "проверка"
diff --git a/test/yarp/snapshots/whitequark/bug_cmd_string_lookahead.txt b/test/yarp/snapshots/whitequark/bug_cmd_string_lookahead.txt
index 73533f6cd2..6945f3e301 100644
--- a/test/yarp/snapshots/whitequark/bug_cmd_string_lookahead.txt
+++ b/test/yarp/snapshots/whitequark/bug_cmd_string_lookahead.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "desc"
+ ├── message_loc: (1,0)-(1,4) = "desc"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (5...10))
+ │ @ ArgumentsNode (location: (1,5)-(1,10))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (5...10))
+ │ └── @ StringNode (location: (1,5)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (5...6) = "\""
- │ ├── content_loc: (6...9) = "foo"
- │ ├── closing_loc: (9...10) = "\""
+ │ ├── 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: (11...17))
+ │ @ BlockNode (location: (1,11)-(1,17))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (11...13) = "do"
- │ └── closing_loc: (14...17) = "end"
+ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ └── closing_loc: (1,14)-(1,17) = "end"
├── flags: ∅
└── name: "desc"
diff --git a/test/yarp/snapshots/whitequark/bug_cmdarg.txt b/test/yarp/snapshots/whitequark/bug_cmdarg.txt
index 1ff779b413..d3968f4eab 100644
--- a/test/yarp/snapshots/whitequark/bug_cmdarg.txt
+++ b/test/yarp/snapshots/whitequark/bug_cmdarg.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...56))
+@ ProgramNode (location: (1,0)-(5,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...56))
+ @ StatementsNode (location: (1,0)-(5,26))
└── body: (length: 3)
- ├── @ CallNode (location: (0...15))
+ ├── @ CallNode (location: (1,0)-(1,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...6) = "assert"
+ │ ├── message_loc: (1,0)-(1,6) = "assert"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (7...15))
+ │ │ @ ArgumentsNode (location: (1,7)-(1,15))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (7...15))
+ │ │ └── @ KeywordHashNode (location: (1,7)-(1,15))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (7...15))
+ │ │ └── @ AssocNode (location: (1,7)-(1,15))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (7...10))
+ │ │ │ @ SymbolNode (location: (1,7)-(1,10))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (7...9) = "do"
- │ │ │ ├── closing_loc: (9...10) = ":"
+ │ │ │ ├── value_loc: (1,7)-(1,9) = "do"
+ │ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
│ │ │ └── unescaped: "do"
│ │ ├── value:
- │ │ │ @ TrueNode (location: (11...15))
+ │ │ │ @ TrueNode (location: (1,11)-(1,15))
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "assert"
- ├── @ CallNode (location: (17...28))
+ ├── @ CallNode (location: (3,0)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (17...23) = "assert"
+ │ ├── message_loc: (3,0)-(3,6) = "assert"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (24...28))
+ │ │ @ ArgumentsNode (location: (3,7)-(3,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (24...28))
+ │ │ └── @ CallNode (location: (3,7)-(3,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (24...28) = "dogs"
+ │ │ ├── message_loc: (3,7)-(3,11) = "dogs"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -49,47 +49,47 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "assert"
- └── @ CallNode (location: (30...56))
+ └── @ CallNode (location: (5,0)-(5,26))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (30...31) = "f"
+ ├── message_loc: (5,0)-(5,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (32...56))
+ │ @ ArgumentsNode (location: (5,2)-(5,26))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (32...56))
+ │ └── @ KeywordHashNode (location: (5,2)-(5,26))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (32...56))
+ │ └── @ AssocNode (location: (5,2)-(5,26))
│ ├── key:
- │ │ @ SymbolNode (location: (32...34))
+ │ │ @ SymbolNode (location: (5,2)-(5,4))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (32...33) = "x"
- │ │ ├── closing_loc: (33...34) = ":"
+ │ │ ├── value_loc: (5,2)-(5,3) = "x"
+ │ │ ├── closing_loc: (5,3)-(5,4) = ":"
│ │ └── unescaped: "x"
│ ├── value:
- │ │ @ LambdaNode (location: (35...56))
+ │ │ @ LambdaNode (location: (5,5)-(5,26))
│ │ ├── locals: []
- │ │ ├── operator_loc: (35...37) = "->"
- │ │ ├── opening_loc: (38...40) = "do"
- │ │ ├── closing_loc: (53...56) = "end"
+ │ │ ├── operator_loc: (5,5)-(5,7) = "->"
+ │ │ ├── opening_loc: (5,8)-(5,10) = "do"
+ │ │ ├── closing_loc: (5,23)-(5,26) = "end"
│ │ ├── parameters: ∅
│ │ └── body:
- │ │ @ StatementsNode (location: (41...52))
+ │ │ @ StatementsNode (location: (5,11)-(5,22))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (41...52))
+ │ │ └── @ CallNode (location: (5,11)-(5,22))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (41...45) = "meth"
+ │ │ ├── message_loc: (5,11)-(5,15) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (46...52))
+ │ │ │ @ BlockNode (location: (5,16)-(5,22))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (46...48) = "do"
- │ │ │ └── closing_loc: (49...52) = "end"
+ │ │ │ ├── opening_loc: (5,16)-(5,18) = "do"
+ │ │ │ └── closing_loc: (5,19)-(5,22) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
│ └── operator_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_def_no_paren_eql_begin.txt b/test/yarp/snapshots/whitequark/bug_def_no_paren_eql_begin.txt
index 7c40b5754d..1b45d0132b 100644
--- a/test/yarp/snapshots/whitequark/bug_def_no_paren_eql_begin.txt
+++ b/test/yarp/snapshots/whitequark/bug_def_no_paren_eql_begin.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(4,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(4,3))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(4,3))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (4,0)-(4,3) = "end"
diff --git a/test/yarp/snapshots/whitequark/bug_do_block_in_call_args.txt b/test/yarp/snapshots/whitequark/bug_do_block_in_call_args.txt
index 854135e4e8..75be678df6 100644
--- a/test/yarp/snapshots/whitequark/bug_do_block_in_call_args.txt
+++ b/test/yarp/snapshots/whitequark/bug_do_block_in_call_args.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(1,33))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
- └── @ CallNode (location: (0...33))
+ └── @ CallNode (location: (1,0)-(1,33))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "bar"
+ ├── message_loc: (1,0)-(1,3) = "bar"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...33))
+ │ @ ArgumentsNode (location: (1,4)-(1,33))
│ └── arguments: (length: 1)
- │ └── @ DefNode (location: (4...33))
+ │ └── @ DefNode (location: (1,4)-(1,33))
│ ├── name: :foo
- │ ├── name_loc: (8...11) = "foo"
+ │ ├── name_loc: (1,8)-(1,11) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (13...29))
+ │ │ @ StatementsNode (location: (1,13)-(1,29))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (13...29))
+ │ │ └── @ CallNode (location: (1,13)-(1,29))
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (13...17))
- │ │ ├── call_operator_loc: (17...18) = "."
- │ │ ├── message_loc: (18...22) = "each"
+ │ │ │ @ SelfNode (location: (1,13)-(1,17))
+ │ │ ├── call_operator_loc: (1,17)-(1,18) = "."
+ │ │ ├── message_loc: (1,18)-(1,22) = "each"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (23...29))
+ │ │ │ @ BlockNode (location: (1,23)-(1,29))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (23...25) = "do"
- │ │ │ └── closing_loc: (26...29) = "end"
+ │ │ │ ├── opening_loc: (1,23)-(1,25) = "do"
+ │ │ │ └── closing_loc: (1,26)-(1,29) = "end"
│ │ ├── flags: ∅
│ │ └── name: "each"
│ ├── locals: []
- │ ├── def_keyword_loc: (4...7) = "def"
+ │ ├── def_keyword_loc: (1,4)-(1,7) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (30...33) = "end"
+ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_do_block_in_cmdarg.txt b/test/yarp/snapshots/whitequark/bug_do_block_in_cmdarg.txt
index 068b4b8533..2a0fc1fa70 100644
--- a/test/yarp/snapshots/whitequark/bug_do_block_in_cmdarg.txt
+++ b/test/yarp/snapshots/whitequark/bug_do_block_in_cmdarg.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ CallNode (location: (0...17))
+ └── @ CallNode (location: (1,0)-(1,17))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "tap"
+ ├── message_loc: (1,0)-(1,3) = "tap"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...17))
+ │ @ ArgumentsNode (location: (1,4)-(1,17))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...17))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,17))
│ ├── body:
- │ │ @ StatementsNode (location: (5...16))
+ │ │ @ StatementsNode (location: (1,5)-(1,16))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (5...16))
+ │ │ └── @ CallNode (location: (1,5)-(1,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...9) = "proc"
+ │ │ ├── message_loc: (1,5)-(1,9) = "proc"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (10...16))
+ │ │ │ @ BlockNode (location: (1,10)-(1,16))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (10...12) = "do"
- │ │ │ └── closing_loc: (13...16) = "end"
+ │ │ │ ├── opening_loc: (1,10)-(1,12) = "do"
+ │ │ │ └── closing_loc: (1,13)-(1,16) = "end"
│ │ ├── flags: ∅
│ │ └── name: "proc"
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (16...17) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,16)-(1,17) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_do_block_in_hash_brace.txt b/test/yarp/snapshots/whitequark/bug_do_block_in_hash_brace.txt
index 554a663ba0..d1212e077a 100644
--- a/test/yarp/snapshots/whitequark/bug_do_block_in_hash_brace.txt
+++ b/test/yarp/snapshots/whitequark/bug_do_block_in_hash_brace.txt
@@ -1,364 +1,364 @@
-@ ProgramNode (location: (0...225))
+@ ProgramNode (location: (1,0)-(9,52))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...225))
+ @ StatementsNode (location: (1,0)-(9,52))
└── body: (length: 5)
- ├── @ CallNode (location: (0...42))
+ ├── @ CallNode (location: (1,0)-(1,42))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "p"
+ │ ├── message_loc: (1,0)-(1,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...42))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,42))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (2...6))
- │ │ │ ├── opening_loc: (2...3) = ":"
- │ │ │ ├── value_loc: (3...6) = "foo"
+ │ │ ├── @ 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: (8...42))
- │ │ ├── opening_loc: (8...9) = "{"
+ │ │ └── @ HashNode (location: (1,8)-(1,42))
+ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (9...25))
+ │ │ │ ├── @ AssocNode (location: (1,9)-(1,25))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (9...13))
- │ │ │ │ │ ├── opening_loc: (9...10) = "\""
- │ │ │ │ │ ├── value_loc: (10...11) = "a"
- │ │ │ │ │ ├── closing_loc: (11...13) = "\":"
+ │ │ │ │ │ @ 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: (14...25))
+ │ │ │ │ │ @ CallNode (location: (1,14)-(1,25))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (14...18) = "proc"
+ │ │ │ │ │ ├── message_loc: (1,14)-(1,18) = "proc"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (19...25))
+ │ │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (19...21) = "do"
- │ │ │ │ │ │ └── closing_loc: (22...25) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (1,19)-(1,21) = "do"
+ │ │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "proc"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (27...41))
+ │ │ │ └── @ AssocNode (location: (1,27)-(1,41))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (27...29))
+ │ │ │ │ @ SymbolNode (location: (1,27)-(1,29))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (27...28) = "b"
- │ │ │ │ ├── closing_loc: (28...29) = ":"
+ │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b"
+ │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (30...41))
+ │ │ │ │ @ CallNode (location: (1,30)-(1,41))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (30...34) = "proc"
+ │ │ │ │ ├── message_loc: (1,30)-(1,34) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (35...41))
+ │ │ │ │ │ @ BlockNode (location: (1,35)-(1,41))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (35...37) = "do"
- │ │ │ │ │ └── closing_loc: (38...41) = "end"
+ │ │ │ │ │ ├── opening_loc: (1,35)-(1,37) = "do"
+ │ │ │ │ │ └── closing_loc: (1,38)-(1,41) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (41...42) = "}"
+ │ │ └── closing_loc: (1,41)-(1,42) = "}"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (44...84))
+ ├── @ CallNode (location: (3,0)-(3,40))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (44...45) = "p"
+ │ ├── message_loc: (3,0)-(3,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (46...84))
+ │ │ @ ArgumentsNode (location: (3,2)-(3,40))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (46...50))
- │ │ │ ├── opening_loc: (46...47) = ":"
- │ │ │ ├── value_loc: (47...50) = "foo"
+ │ │ ├── @ 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: (52...84))
- │ │ ├── opening_loc: (52...53) = "{"
+ │ │ └── @ HashNode (location: (3,8)-(3,40))
+ │ │ ├── opening_loc: (3,8)-(3,9) = "{"
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocSplatNode (location: (53...67))
+ │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23))
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (56...67))
+ │ │ │ │ │ @ CallNode (location: (3,12)-(3,23))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (56...60) = "proc"
+ │ │ │ │ │ ├── message_loc: (3,12)-(3,16) = "proc"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (61...67))
+ │ │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (61...63) = "do"
- │ │ │ │ │ │ └── closing_loc: (64...67) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (3,17)-(3,19) = "do"
+ │ │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "proc"
- │ │ │ │ └── operator_loc: (53...55) = "**"
- │ │ │ └── @ AssocNode (location: (69...83))
+ │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**"
+ │ │ │ └── @ AssocNode (location: (3,25)-(3,39))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (69...71))
+ │ │ │ │ @ SymbolNode (location: (3,25)-(3,27))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (69...70) = "b"
- │ │ │ │ ├── closing_loc: (70...71) = ":"
+ │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b"
+ │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (72...83))
+ │ │ │ │ @ CallNode (location: (3,28)-(3,39))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (72...76) = "proc"
+ │ │ │ │ ├── message_loc: (3,28)-(3,32) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (77...83))
+ │ │ │ │ │ @ BlockNode (location: (3,33)-(3,39))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (77...79) = "do"
- │ │ │ │ │ └── closing_loc: (80...83) = "end"
+ │ │ │ │ │ ├── opening_loc: (3,33)-(3,35) = "do"
+ │ │ │ │ │ └── closing_loc: (3,36)-(3,39) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (83...84) = "}"
+ │ │ └── closing_loc: (3,39)-(3,40) = "}"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (86...129))
+ ├── @ CallNode (location: (5,0)-(5,43))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (86...87) = "p"
+ │ ├── message_loc: (5,0)-(5,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (88...129))
+ │ │ @ ArgumentsNode (location: (5,2)-(5,43))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (88...92))
- │ │ │ ├── opening_loc: (88...89) = ":"
- │ │ │ ├── value_loc: (89...92) = "foo"
+ │ │ ├── @ 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: (94...129))
- │ │ ├── opening_loc: (94...95) = "{"
+ │ │ └── @ HashNode (location: (5,8)-(5,43))
+ │ │ ├── opening_loc: (5,8)-(5,9) = "{"
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (95...112))
+ │ │ │ ├── @ AssocNode (location: (5,9)-(5,26))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (95...97))
- │ │ │ │ │ ├── opening_loc: (95...96) = ":"
- │ │ │ │ │ ├── value_loc: (96...97) = "a"
+ │ │ │ │ │ @ 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: (101...112))
+ │ │ │ │ │ @ CallNode (location: (5,15)-(5,26))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (101...105) = "proc"
+ │ │ │ │ │ ├── message_loc: (5,15)-(5,19) = "proc"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (106...112))
+ │ │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (106...108) = "do"
- │ │ │ │ │ │ └── closing_loc: (109...112) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (5,20)-(5,22) = "do"
+ │ │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "proc"
- │ │ │ │ └── operator_loc: (98...100) = "=>"
- │ │ │ └── @ AssocNode (location: (114...128))
+ │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>"
+ │ │ │ └── @ AssocNode (location: (5,28)-(5,42))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (114...116))
+ │ │ │ │ @ SymbolNode (location: (5,28)-(5,30))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (114...115) = "b"
- │ │ │ │ ├── closing_loc: (115...116) = ":"
+ │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b"
+ │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (117...128))
+ │ │ │ │ @ CallNode (location: (5,31)-(5,42))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (117...121) = "proc"
+ │ │ │ │ ├── message_loc: (5,31)-(5,35) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (122...128))
+ │ │ │ │ │ @ BlockNode (location: (5,36)-(5,42))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (122...124) = "do"
- │ │ │ │ │ └── closing_loc: (125...128) = "end"
+ │ │ │ │ │ ├── opening_loc: (5,36)-(5,38) = "do"
+ │ │ │ │ │ └── closing_loc: (5,39)-(5,42) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (128...129) = "}"
+ │ │ └── closing_loc: (5,42)-(5,43) = "}"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (131...171))
+ ├── @ CallNode (location: (7,0)-(7,40))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (131...132) = "p"
+ │ ├── message_loc: (7,0)-(7,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (133...171))
+ │ │ @ ArgumentsNode (location: (7,2)-(7,40))
│ │ └── arguments: (length: 2)
- │ │ ├── @ SymbolNode (location: (133...137))
- │ │ │ ├── opening_loc: (133...134) = ":"
- │ │ │ ├── value_loc: (134...137) = "foo"
+ │ │ ├── @ 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: (139...171))
- │ │ ├── opening_loc: (139...140) = "{"
+ │ │ └── @ HashNode (location: (7,8)-(7,40))
+ │ │ ├── opening_loc: (7,8)-(7,9) = "{"
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ AssocNode (location: (140...154))
+ │ │ │ ├── @ AssocNode (location: (7,9)-(7,23))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (140...142))
+ │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11))
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── value_loc: (140...141) = "a"
- │ │ │ │ │ ├── closing_loc: (141...142) = ":"
+ │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a"
+ │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value:
- │ │ │ │ │ @ CallNode (location: (143...154))
+ │ │ │ │ │ @ CallNode (location: (7,12)-(7,23))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (143...147) = "proc"
+ │ │ │ │ │ ├── message_loc: (7,12)-(7,16) = "proc"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block:
- │ │ │ │ │ │ @ BlockNode (location: (148...154))
+ │ │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23))
│ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ ├── body: ∅
- │ │ │ │ │ │ ├── opening_loc: (148...150) = "do"
- │ │ │ │ │ │ └── closing_loc: (151...154) = "end"
+ │ │ │ │ │ │ ├── opening_loc: (7,17)-(7,19) = "do"
+ │ │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end"
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "proc"
│ │ │ │ └── operator_loc: ∅
- │ │ │ └── @ AssocNode (location: (156...170))
+ │ │ │ └── @ AssocNode (location: (7,25)-(7,39))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (156...158))
+ │ │ │ │ @ SymbolNode (location: (7,25)-(7,27))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (156...157) = "b"
- │ │ │ │ ├── closing_loc: (157...158) = ":"
+ │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b"
+ │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (159...170))
+ │ │ │ │ @ CallNode (location: (7,28)-(7,39))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (159...163) = "proc"
+ │ │ │ │ ├── message_loc: (7,28)-(7,32) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (164...170))
+ │ │ │ │ │ @ BlockNode (location: (7,33)-(7,39))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (164...166) = "do"
- │ │ │ │ │ └── closing_loc: (167...170) = "end"
+ │ │ │ │ │ ├── opening_loc: (7,33)-(7,35) = "do"
+ │ │ │ │ │ └── closing_loc: (7,36)-(7,39) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (170...171) = "}"
+ │ │ └── closing_loc: (7,39)-(7,40) = "}"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- └── @ CallNode (location: (173...225))
+ └── @ CallNode (location: (9,0)-(9,52))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (173...174) = "p"
+ ├── message_loc: (9,0)-(9,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (175...225))
+ │ @ ArgumentsNode (location: (9,2)-(9,52))
│ └── arguments: (length: 2)
- │ ├── @ SymbolNode (location: (175...179))
- │ │ ├── opening_loc: (175...176) = ":"
- │ │ ├── value_loc: (176...179) = "foo"
+ │ ├── @ 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: (181...225))
- │ ├── opening_loc: (181...182) = "{"
+ │ └── @ HashNode (location: (9,8)-(9,52))
+ │ ├── opening_loc: (9,8)-(9,9) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (182...208))
+ │ │ ├── @ AssocNode (location: (9,9)-(9,35))
│ │ │ ├── key:
- │ │ │ │ @ CallNode (location: (182...193))
+ │ │ │ │ @ CallNode (location: (9,9)-(9,20))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (182...186) = "proc"
+ │ │ │ │ ├── message_loc: (9,9)-(9,13) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (187...193))
+ │ │ │ │ │ @ BlockNode (location: (9,14)-(9,20))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (187...189) = "do"
- │ │ │ │ │ └── closing_loc: (190...193) = "end"
+ │ │ │ │ │ ├── opening_loc: (9,14)-(9,16) = "do"
+ │ │ │ │ │ └── closing_loc: (9,17)-(9,20) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (197...208))
+ │ │ │ │ @ CallNode (location: (9,24)-(9,35))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (197...201) = "proc"
+ │ │ │ │ ├── message_loc: (9,24)-(9,28) = "proc"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (202...208))
+ │ │ │ │ │ @ BlockNode (location: (9,29)-(9,35))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (202...204) = "do"
- │ │ │ │ │ └── closing_loc: (205...208) = "end"
+ │ │ │ │ │ ├── opening_loc: (9,29)-(9,31) = "do"
+ │ │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "proc"
- │ │ │ └── operator_loc: (194...196) = "=>"
- │ │ └── @ AssocNode (location: (210...224))
+ │ │ │ └── operator_loc: (9,21)-(9,23) = "=>"
+ │ │ └── @ AssocNode (location: (9,37)-(9,51))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (210...212))
+ │ │ │ @ SymbolNode (location: (9,37)-(9,39))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (210...211) = "b"
- │ │ │ ├── closing_loc: (211...212) = ":"
+ │ │ │ ├── value_loc: (9,37)-(9,38) = "b"
+ │ │ │ ├── closing_loc: (9,38)-(9,39) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ CallNode (location: (213...224))
+ │ │ │ @ CallNode (location: (9,40)-(9,51))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (213...217) = "proc"
+ │ │ │ ├── message_loc: (9,40)-(9,44) = "proc"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (218...224))
+ │ │ │ │ @ BlockNode (location: (9,45)-(9,51))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (218...220) = "do"
- │ │ │ │ └── closing_loc: (221...224) = "end"
+ │ │ │ │ ├── opening_loc: (9,45)-(9,47) = "do"
+ │ │ │ │ └── closing_loc: (9,48)-(9,51) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "proc"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (224...225) = "}"
+ │ └── closing_loc: (9,51)-(9,52) = "}"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_heredoc_do.txt b/test/yarp/snapshots/whitequark/bug_heredoc_do.txt
index cea301c6b9..306de35b95 100644
--- a/test/yarp/snapshots/whitequark/bug_heredoc_do.txt
+++ b/test/yarp/snapshots/whitequark/bug_heredoc_do.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...23))
+ └── @ CallNode (location: (1,0)-(3,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...10))
+ │ @ ArgumentsNode (location: (1,2)-(1,10))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (2...10))
+ │ └── @ StringNode (location: (1,2)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (2...10) = "<<-TABLE"
- │ ├── content_loc: (14...14) = ""
- │ ├── closing_loc: (14...20) = "TABLE\n"
+ │ ├── opening_loc: (1,2)-(1,10) = "<<-TABLE"
+ │ ├── content_loc: (2,0)-(1,0) = ""
+ │ ├── closing_loc: (2,0)-(2,0) = "TABLE\n"
│ └── unescaped: ""
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (11...23))
+ │ @ BlockNode (location: (1,11)-(3,3))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (11...13) = "do"
- │ └── closing_loc: (20...23) = "end"
+ │ ├── opening_loc: (1,11)-(1,13) = "do"
+ │ └── closing_loc: (3,0)-(3,3) = "end"
├── flags: ∅
└── name: "f"
diff --git a/test/yarp/snapshots/whitequark/bug_interp_single.txt b/test/yarp/snapshots/whitequark/bug_interp_single.txt
index 6c7cfc40c9..ce78954f81 100644
--- a/test/yarp/snapshots/whitequark/bug_interp_single.txt
+++ b/test/yarp/snapshots/whitequark/bug_interp_single.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(3,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
- ├── @ InterpolatedStringNode (location: (0...6))
- │ ├── opening_loc: (0...1) = "\""
+ ├── @ InterpolatedStringNode (location: (1,0)-(1,6))
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (1...5))
- │ │ ├── opening_loc: (1...3) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,5))
+ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (3...4))
+ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (3...4))
+ │ │ │ └── @ IntegerNode (location: (1,3)-(1,4))
│ │ │ └── flags: decimal
- │ │ └── closing_loc: (4...5) = "}"
- │ └── closing_loc: (5...6) = "\""
- └── @ ArrayNode (location: (8...16))
+ │ │ └── closing_loc: (1,4)-(1,5) = "}"
+ │ └── closing_loc: (1,5)-(1,6) = "\""
+ └── @ ArrayNode (location: (3,0)-(3,8))
├── elements: (length: 1)
- │ └── @ InterpolatedStringNode (location: (11...15))
+ │ └── @ InterpolatedStringNode (location: (3,3)-(3,7))
│ ├── opening_loc: ∅
│ ├── parts: (length: 1)
- │ │ └── @ EmbeddedStatementsNode (location: (11...15))
- │ │ ├── opening_loc: (11...13) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (3,3)-(3,7))
+ │ │ ├── opening_loc: (3,3)-(3,5) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (13...14))
+ │ │ │ @ StatementsNode (location: (3,5)-(3,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (13...14))
+ │ │ │ └── @ IntegerNode (location: (3,5)-(3,6))
│ │ │ └── flags: decimal
- │ │ └── closing_loc: (14...15) = "}"
+ │ │ └── closing_loc: (3,6)-(3,7) = "}"
│ └── closing_loc: ∅
- ├── opening_loc: (8...11) = "%W\""
- └── closing_loc: (15...16) = "\""
+ ├── opening_loc: (3,0)-(3,3) = "%W\""
+ └── closing_loc: (3,7)-(3,8) = "\""
diff --git a/test/yarp/snapshots/whitequark/bug_lambda_leakage.txt b/test/yarp/snapshots/whitequark/bug_lambda_leakage.txt
index d96fdb9e67..ff21708d38 100644
--- a/test/yarp/snapshots/whitequark/bug_lambda_leakage.txt
+++ b/test/yarp/snapshots/whitequark/bug_lambda_leakage.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 2)
- ├── @ LambdaNode (location: (0...12))
+ ├── @ LambdaNode (location: (1,0)-(1,12))
│ ├── locals: [:scope]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (10...11) = "{"
- │ ├── closing_loc: (11...12) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,10)-(1,11) = "{"
+ │ ├── closing_loc: (1,11)-(1,12) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (2...9))
+ │ │ @ BlockParametersNode (location: (1,2)-(1,9))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3...8))
+ │ │ │ @ ParametersNode (location: (1,3)-(1,8))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (3...8))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,8))
│ │ │ │ └── name: :scope
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -22,13 +22,13 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (2...3) = "("
- │ │ └── closing_loc: (8...9) = ")"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,8)-(1,9) = ")"
│ └── body: ∅
- └── @ CallNode (location: (14...19))
+ └── @ CallNode (location: (1,14)-(1,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (14...19) = "scope"
+ ├── message_loc: (1,14)-(1,19) = "scope"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/bug_regex_verification.txt b/test/yarp/snapshots/whitequark/bug_regex_verification.txt
index 66467bcbec..79ac10f3a5 100644
--- a/test/yarp/snapshots/whitequark/bug_regex_verification.txt
+++ b/test/yarp/snapshots/whitequark/bug_regex_verification.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...5))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...3) = "#)"
- ├── closing_loc: (3...5) = "/x"
+ └── @ RegularExpressionNode (location: (1,0)-(1,5))
+ ├── opening_loc: (1,0)-(1,1) = "/"
+ ├── content_loc: (1,1)-(1,3) = "#)"
+ ├── closing_loc: (1,3)-(1,5) = "/x"
├── unescaped: "#)"
└── flags: extended
diff --git a/test/yarp/snapshots/whitequark/bug_rescue_empty_else.txt b/test/yarp/snapshots/whitequark/bug_rescue_empty_else.txt
index 4e0c0735d9..52734cc1e9 100644
--- a/test/yarp/snapshots/whitequark/bug_rescue_empty_else.txt
+++ b/test/yarp/snapshots/whitequark/bug_rescue_empty_else.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...34))
+@ ProgramNode (location: (1,0)-(1,34))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...34))
+ @ StatementsNode (location: (1,0)-(1,34))
└── body: (length: 1)
- └── @ BeginNode (location: (0...34))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,34))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements: ∅
├── rescue_clause:
- │ @ RescueNode (location: (7...23))
- │ ├── keyword_loc: (7...13) = "rescue"
+ │ @ RescueNode (location: (1,7)-(1,23))
+ │ ├── keyword_loc: (1,7)-(1,13) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ ConstantReadNode (location: (14...23))
+ │ │ └── @ ConstantReadNode (location: (1,14)-(1,23))
│ │ └── name: :LoadError
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements: ∅
│ └── consequent: ∅
├── else_clause:
- │ @ ElseNode (location: (25...34))
- │ ├── else_keyword_loc: (25...29) = "else"
+ │ @ ElseNode (location: (1,25)-(1,34))
+ │ ├── else_keyword_loc: (1,25)-(1,29) = "else"
│ ├── statements: ∅
- │ └── end_keyword_loc: (31...34) = "end"
+ │ └── end_keyword_loc: (1,31)-(1,34) = "end"
├── ensure_clause: ∅
- └── end_keyword_loc: (31...34) = "end"
+ └── end_keyword_loc: (1,31)-(1,34) = "end"
diff --git a/test/yarp/snapshots/whitequark/bug_while_not_parens_do.txt b/test/yarp/snapshots/whitequark/bug_while_not_parens_do.txt
index 46ae4cbca0..1d71742a6f 100644
--- a/test/yarp/snapshots/whitequark/bug_while_not_parens_do.txt
+++ b/test/yarp/snapshots/whitequark/bug_while_not_parens_do.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ WhileNode (location: (0...23))
- ├── keyword_loc: (0...5) = "while"
- ├── closing_loc: (20...23) = "end"
+ └── @ WhileNode (location: (1,0)-(1,23))
+ ├── keyword_loc: (1,0)-(1,5) = "while"
+ ├── closing_loc: (1,20)-(1,23) = "end"
├── predicate:
- │ @ CallNode (location: (6...16))
+ │ @ CallNode (location: (1,6)-(1,16))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (10...16))
+ │ │ @ ParenthesesNode (location: (1,10)-(1,16))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (11...15))
+ │ │ │ @ StatementsNode (location: (1,11)-(1,15))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ TrueNode (location: (11...15))
- │ │ ├── opening_loc: (10...11) = "("
- │ │ └── closing_loc: (15...16) = ")"
+ │ │ │ └── @ TrueNode (location: (1,11)-(1,15))
+ │ │ ├── opening_loc: (1,10)-(1,11) = "("
+ │ │ └── closing_loc: (1,15)-(1,16) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...9) = "not"
+ │ ├── message_loc: (1,6)-(1,9) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/case_cond.txt b/test/yarp/snapshots/whitequark/case_cond.txt
index 342b838f8d..c919344722 100644
--- a/test/yarp/snapshots/whitequark/case_cond.txt
+++ b/test/yarp/snapshots/whitequark/case_cond.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ CaseNode (location: (0...26))
+ └── @ CaseNode (location: (1,0)-(1,26))
├── predicate: ∅
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (6...21))
- │ ├── keyword_loc: (6...10) = "when"
+ │ └── @ WhenNode (location: (1,6)-(1,21))
+ │ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ CallNode (location: (11...14))
+ │ │ └── @ CallNode (location: (1,11)-(1,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -20,14 +20,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ └── statements:
- │ @ StatementsNode (location: (16...21))
+ │ @ StatementsNode (location: (1,16)-(1,21))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (16...21))
+ │ └── @ StringNode (location: (1,16)-(1,21))
│ ├── flags: ∅
- │ ├── opening_loc: (16...17) = "'"
- │ ├── content_loc: (17...20) = "foo"
- │ ├── closing_loc: (20...21) = "'"
+ │ ├── opening_loc: (1,16)-(1,17) = "'"
+ │ ├── content_loc: (1,17)-(1,20) = "foo"
+ │ ├── closing_loc: (1,20)-(1,21) = "'"
│ └── unescaped: "foo"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (23...26) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,23)-(1,26) = "end"
diff --git a/test/yarp/snapshots/whitequark/case_cond_else.txt b/test/yarp/snapshots/whitequark/case_cond_else.txt
index c03dcdaf38..7e6b9ec30f 100644
--- a/test/yarp/snapshots/whitequark/case_cond_else.txt
+++ b/test/yarp/snapshots/whitequark/case_cond_else.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(1,38))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(1,38))
└── body: (length: 1)
- └── @ CaseNode (location: (0...38))
+ └── @ CaseNode (location: (1,0)-(1,38))
├── predicate: ∅
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (6...21))
- │ ├── keyword_loc: (6...10) = "when"
+ │ └── @ WhenNode (location: (1,6)-(1,21))
+ │ ├── keyword_loc: (1,6)-(1,10) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ CallNode (location: (11...14))
+ │ │ └── @ CallNode (location: (1,11)-(1,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -20,26 +20,26 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ └── statements:
- │ @ StatementsNode (location: (16...21))
+ │ @ StatementsNode (location: (1,16)-(1,21))
│ └── body: (length: 1)
- │ └── @ StringNode (location: (16...21))
+ │ └── @ StringNode (location: (1,16)-(1,21))
│ ├── flags: ∅
- │ ├── opening_loc: (16...17) = "'"
- │ ├── content_loc: (17...20) = "foo"
- │ ├── closing_loc: (20...21) = "'"
+ │ ├── opening_loc: (1,16)-(1,17) = "'"
+ │ ├── content_loc: (1,17)-(1,20) = "foo"
+ │ ├── closing_loc: (1,20)-(1,21) = "'"
│ └── unescaped: "foo"
├── consequent:
- │ @ ElseNode (location: (23...38))
- │ ├── else_keyword_loc: (23...27) = "else"
+ │ @ ElseNode (location: (1,23)-(1,38))
+ │ ├── else_keyword_loc: (1,23)-(1,27) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (28...33))
+ │ │ @ StatementsNode (location: (1,28)-(1,33))
│ │ └── body: (length: 1)
- │ │ └── @ StringNode (location: (28...33))
+ │ │ └── @ StringNode (location: (1,28)-(1,33))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (28...29) = "'"
- │ │ ├── content_loc: (29...32) = "bar"
- │ │ ├── closing_loc: (32...33) = "'"
+ │ │ ├── opening_loc: (1,28)-(1,29) = "'"
+ │ │ ├── content_loc: (1,29)-(1,32) = "bar"
+ │ │ ├── closing_loc: (1,32)-(1,33) = "'"
│ │ └── unescaped: "bar"
- │ └── end_keyword_loc: (35...38) = "end"
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (35...38) = "end"
+ │ └── end_keyword_loc: (1,35)-(1,38) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,35)-(1,38) = "end"
diff --git a/test/yarp/snapshots/whitequark/case_expr.txt b/test/yarp/snapshots/whitequark/case_expr.txt
index 0cc75f99d4..44c8045a5f 100644
--- a/test/yarp/snapshots/whitequark/case_expr.txt
+++ b/test/yarp/snapshots/whitequark/case_expr.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(1,30))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(1,30))
└── body: (length: 1)
- └── @ CaseNode (location: (0...30))
+ └── @ CaseNode (location: (1,0)-(1,30))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (10...25))
- │ ├── keyword_loc: (10...14) = "when"
+ │ └── @ WhenNode (location: (1,10)-(1,25))
+ │ ├── keyword_loc: (1,10)-(1,14) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ StringNode (location: (15...20))
+ │ │ └── @ StringNode (location: (1,15)-(1,20))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (15...16) = "'"
- │ │ ├── content_loc: (16...19) = "bar"
- │ │ ├── closing_loc: (19...20) = "'"
+ │ │ ├── opening_loc: (1,15)-(1,16) = "'"
+ │ │ ├── content_loc: (1,16)-(1,19) = "bar"
+ │ │ ├── closing_loc: (1,19)-(1,20) = "'"
│ │ └── unescaped: "bar"
│ └── statements:
- │ @ StatementsNode (location: (22...25))
+ │ @ StatementsNode (location: (1,22)-(1,25))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (22...25))
+ │ └── @ CallNode (location: (1,22)-(1,25))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (22...25) = "bar"
+ │ ├── message_loc: (1,22)-(1,25) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -39,5 +39,5 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (27...30) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,27)-(1,30) = "end"
diff --git a/test/yarp/snapshots/whitequark/case_expr_else.txt b/test/yarp/snapshots/whitequark/case_expr_else.txt
index 3ddb52d661..2c6a5f8c65 100644
--- a/test/yarp/snapshots/whitequark/case_expr_else.txt
+++ b/test/yarp/snapshots/whitequark/case_expr_else.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(1,40))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(1,40))
└── body: (length: 1)
- └── @ CaseNode (location: (0...40))
+ └── @ CaseNode (location: (1,0)-(1,40))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (10...25))
- │ ├── keyword_loc: (10...14) = "when"
+ │ └── @ WhenNode (location: (1,10)-(1,25))
+ │ ├── keyword_loc: (1,10)-(1,14) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ StringNode (location: (15...20))
+ │ │ └── @ StringNode (location: (1,15)-(1,20))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (15...16) = "'"
- │ │ ├── content_loc: (16...19) = "bar"
- │ │ ├── closing_loc: (19...20) = "'"
+ │ │ ├── opening_loc: (1,15)-(1,16) = "'"
+ │ │ ├── content_loc: (1,16)-(1,19) = "bar"
+ │ │ ├── closing_loc: (1,19)-(1,20) = "'"
│ │ └── unescaped: "bar"
│ └── statements:
- │ @ StatementsNode (location: (22...25))
+ │ @ StatementsNode (location: (1,22)-(1,25))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (22...25))
+ │ └── @ CallNode (location: (1,22)-(1,25))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (22...25) = "bar"
+ │ ├── message_loc: (1,22)-(1,25) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -39,21 +39,21 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent:
- │ @ ElseNode (location: (27...40))
- │ ├── else_keyword_loc: (27...31) = "else"
+ │ @ ElseNode (location: (1,27)-(1,40))
+ │ ├── else_keyword_loc: (1,27)-(1,31) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (32...35))
+ │ │ @ StatementsNode (location: (1,32)-(1,35))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (32...35))
+ │ │ └── @ CallNode (location: (1,32)-(1,35))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (32...35) = "baz"
+ │ │ ├── message_loc: (1,32)-(1,35) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── end_keyword_loc: (37...40) = "end"
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (37...40) = "end"
+ │ └── 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/yarp/snapshots/whitequark/casgn_scoped.txt b/test/yarp/snapshots/whitequark/casgn_scoped.txt
index 552bcfa10c..bb3a8b072a 100644
--- a/test/yarp/snapshots/whitequark/casgn_scoped.txt
+++ b/test/yarp/snapshots/whitequark/casgn_scoped.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ ConstantPathWriteNode (location: (0...13))
+ └── @ ConstantPathWriteNode (location: (1,0)-(1,13))
├── target:
- │ @ ConstantPathNode (location: (0...8))
+ │ @ ConstantPathNode (location: (1,0)-(1,8))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (0...3))
+ │ │ @ ConstantReadNode (location: (1,0)-(1,3))
│ │ └── name: :Bar
│ ├── child:
- │ │ @ ConstantReadNode (location: (5...8))
+ │ │ @ ConstantReadNode (location: (1,5)-(1,8))
│ │ └── name: :Foo
- │ └── delimiter_loc: (3...5) = "::"
- ├── operator_loc: (9...10) = "="
+ │ └── delimiter_loc: (1,3)-(1,5) = "::"
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ IntegerNode (location: (11...13))
+ @ IntegerNode (location: (1,11)-(1,13))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/casgn_toplevel.txt b/test/yarp/snapshots/whitequark/casgn_toplevel.txt
index 5e81ef35b4..bc48b1e841 100644
--- a/test/yarp/snapshots/whitequark/casgn_toplevel.txt
+++ b/test/yarp/snapshots/whitequark/casgn_toplevel.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ ConstantPathWriteNode (location: (0...10))
+ └── @ ConstantPathWriteNode (location: (1,0)-(1,10))
├── target:
- │ @ ConstantPathNode (location: (0...5))
+ │ @ ConstantPathNode (location: (1,0)-(1,5))
│ ├── parent: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (2...5))
+ │ │ @ ConstantReadNode (location: (1,2)-(1,5))
│ │ └── name: :Foo
- │ └── delimiter_loc: (0...2) = "::"
- ├── operator_loc: (6...7) = "="
+ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ ├── operator_loc: (1,6)-(1,7) = "="
└── value:
- @ IntegerNode (location: (8...10))
+ @ IntegerNode (location: (1,8)-(1,10))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/casgn_unscoped.txt b/test/yarp/snapshots/whitequark/casgn_unscoped.txt
index cb00d82e9c..90434d39db 100644
--- a/test/yarp/snapshots/whitequark/casgn_unscoped.txt
+++ b/test/yarp/snapshots/whitequark/casgn_unscoped.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ ConstantWriteNode (location: (0...8))
+ └── @ ConstantWriteNode (location: (1,0)-(1,8))
├── name: :Foo
- ├── name_loc: (0...3) = "Foo"
+ ├── name_loc: (1,0)-(1,3) = "Foo"
├── value:
- │ @ IntegerNode (location: (6...8))
+ │ @ IntegerNode (location: (1,6)-(1,8))
│ └── flags: decimal
- └── operator_loc: (4...5) = "="
+ └── operator_loc: (1,4)-(1,5) = "="
diff --git a/test/yarp/snapshots/whitequark/character.txt b/test/yarp/snapshots/whitequark/character.txt
index 502f03cf38..b70f05b544 100644
--- a/test/yarp/snapshots/whitequark/character.txt
+++ b/test/yarp/snapshots/whitequark/character.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...2))
+@ ProgramNode (location: (1,0)-(1,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...2))
+ @ StatementsNode (location: (1,0)-(1,2))
└── body: (length: 1)
- └── @ StringNode (location: (0...2))
+ └── @ StringNode (location: (1,0)-(1,2))
├── flags: ∅
- ├── opening_loc: (0...1) = "?"
- ├── content_loc: (1...2) = "a"
+ ├── opening_loc: (1,0)-(1,1) = "?"
+ ├── content_loc: (1,1)-(1,2) = "a"
├── closing_loc: ∅
└── unescaped: "a"
diff --git a/test/yarp/snapshots/whitequark/class.txt b/test/yarp/snapshots/whitequark/class.txt
index 60fb7b32e9..e38bec6c47 100644
--- a/test/yarp/snapshots/whitequark/class.txt
+++ b/test/yarp/snapshots/whitequark/class.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(3,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(3,14))
└── body: (length: 2)
- ├── @ ClassNode (location: (0...13))
+ ├── @ ClassNode (location: (1,0)-(1,13))
│ ├── locals: []
- │ ├── class_keyword_loc: (0...5) = "class"
+ │ ├── class_keyword_loc: (1,0)-(1,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (6...9))
+ │ │ @ ConstantReadNode (location: (1,6)-(1,9))
│ │ └── name: :Foo
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (10...13) = "end"
+ │ ├── end_keyword_loc: (1,10)-(1,13) = "end"
│ └── name: :Foo
- └── @ ClassNode (location: (15...29))
+ └── @ ClassNode (location: (3,0)-(3,14))
├── locals: []
- ├── class_keyword_loc: (15...20) = "class"
+ ├── class_keyword_loc: (3,0)-(3,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (21...24))
+ │ @ ConstantReadNode (location: (3,6)-(3,9))
│ └── name: :Foo
├── inheritance_operator_loc: ∅
├── superclass: ∅
├── body: ∅
- ├── end_keyword_loc: (26...29) = "end"
+ ├── end_keyword_loc: (3,11)-(3,14) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt b/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
index 90ef472d4f..ce384a6a5a 100644
--- a/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
+++ b/test/yarp/snapshots/whitequark/class_definition_in_while_cond.txt
@@ -1,171 +1,171 @@
-@ ProgramNode (location: (0...197))
+@ ProgramNode (location: (1,0)-(7,44))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...197))
+ @ StatementsNode (location: (1,0)-(7,44))
└── body: (length: 4)
- ├── @ WhileNode (location: (0...52))
- │ ├── keyword_loc: (0...5) = "while"
- │ ├── closing_loc: (49...52) = "end"
+ ├── @ WhileNode (location: (1,0)-(1,52))
+ │ ├── keyword_loc: (1,0)-(1,5) = "while"
+ │ ├── closing_loc: (1,49)-(1,52) = "end"
│ ├── predicate:
- │ │ @ SingletonClassNode (location: (6...40))
+ │ │ @ SingletonClassNode (location: (1,6)-(1,40))
│ │ ├── locals: [:a]
- │ │ ├── class_keyword_loc: (6...11) = "class"
- │ │ ├── operator_loc: (12...14) = "<<"
+ │ │ ├── class_keyword_loc: (1,6)-(1,11) = "class"
+ │ │ ├── operator_loc: (1,12)-(1,14) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (15...19))
+ │ │ │ @ SelfNode (location: (1,15)-(1,19))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (21...35))
+ │ │ │ @ StatementsNode (location: (1,21)-(1,35))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (21...35))
+ │ │ │ └── @ LocalVariableWriteNode (location: (1,21)-(1,35))
│ │ │ ├── name: :a
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (21...22) = "a"
+ │ │ │ ├── name_loc: (1,21)-(1,22) = "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (25...35))
+ │ │ │ │ @ CallNode (location: (1,25)-(1,35))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (25...28) = "tap"
+ │ │ │ │ ├── message_loc: (1,25)-(1,28) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (29...35))
+ │ │ │ │ │ @ BlockNode (location: (1,29)-(1,35))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (29...31) = "do"
- │ │ │ │ │ └── closing_loc: (32...35) = "end"
+ │ │ │ │ │ ├── opening_loc: (1,29)-(1,31) = "do"
+ │ │ │ │ │ └── closing_loc: (1,32)-(1,35) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
- │ │ │ └── operator_loc: (23...24) = "="
- │ │ └── end_keyword_loc: (37...40) = "end"
+ │ │ │ └── operator_loc: (1,23)-(1,24) = "="
+ │ │ └── end_keyword_loc: (1,37)-(1,40) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (42...47))
+ │ │ @ StatementsNode (location: (1,42)-(1,47))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (42...47))
+ │ │ └── @ BreakNode (location: (1,42)-(1,47))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (42...47) = "break"
+ │ │ └── keyword_loc: (1,42)-(1,47) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (54...102))
- │ ├── keyword_loc: (54...59) = "while"
- │ ├── closing_loc: (99...102) = "end"
+ ├── @ WhileNode (location: (3,0)-(3,48))
+ │ ├── keyword_loc: (3,0)-(3,5) = "while"
+ │ ├── closing_loc: (3,45)-(3,48) = "end"
│ ├── predicate:
- │ │ @ SingletonClassNode (location: (60...90))
+ │ │ @ SingletonClassNode (location: (3,6)-(3,36))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (60...65) = "class"
- │ │ ├── operator_loc: (66...68) = "<<"
+ │ │ ├── class_keyword_loc: (3,6)-(3,11) = "class"
+ │ │ ├── operator_loc: (3,12)-(3,14) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (69...73))
+ │ │ │ @ SelfNode (location: (3,15)-(3,19))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (75...85))
+ │ │ │ @ StatementsNode (location: (3,21)-(3,31))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (75...85))
+ │ │ │ └── @ CallNode (location: (3,21)-(3,31))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (75...78) = "tap"
+ │ │ │ ├── message_loc: (3,21)-(3,24) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (79...85))
+ │ │ │ │ @ BlockNode (location: (3,25)-(3,31))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (79...81) = "do"
- │ │ │ │ └── closing_loc: (82...85) = "end"
+ │ │ │ │ ├── opening_loc: (3,25)-(3,27) = "do"
+ │ │ │ │ └── closing_loc: (3,28)-(3,31) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
- │ │ └── end_keyword_loc: (87...90) = "end"
+ │ │ └── end_keyword_loc: (3,33)-(3,36) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (92...97))
+ │ │ @ StatementsNode (location: (3,38)-(3,43))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (92...97))
+ │ │ └── @ BreakNode (location: (3,38)-(3,43))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (92...97) = "break"
+ │ │ └── keyword_loc: (3,38)-(3,43) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (104...151))
- │ ├── keyword_loc: (104...109) = "while"
- │ ├── closing_loc: (148...151) = "end"
+ ├── @ WhileNode (location: (5,0)-(5,47))
+ │ ├── keyword_loc: (5,0)-(5,5) = "while"
+ │ ├── closing_loc: (5,44)-(5,47) = "end"
│ ├── predicate:
- │ │ @ ClassNode (location: (110...139))
+ │ │ @ ClassNode (location: (5,6)-(5,35))
│ │ ├── locals: [:a]
- │ │ ├── class_keyword_loc: (110...115) = "class"
+ │ │ ├── class_keyword_loc: (5,6)-(5,11) = "class"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (116...119))
+ │ │ │ @ ConstantReadNode (location: (5,12)-(5,15))
│ │ │ └── name: :Foo
│ │ ├── inheritance_operator_loc: ∅
│ │ ├── superclass: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (120...134))
+ │ │ │ @ StatementsNode (location: (5,16)-(5,30))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ LocalVariableWriteNode (location: (120...134))
+ │ │ │ └── @ LocalVariableWriteNode (location: (5,16)-(5,30))
│ │ │ ├── name: :a
│ │ │ ├── depth: 0
- │ │ │ ├── name_loc: (120...121) = "a"
+ │ │ │ ├── name_loc: (5,16)-(5,17) = "a"
│ │ │ ├── value:
- │ │ │ │ @ CallNode (location: (124...134))
+ │ │ │ │ @ CallNode (location: (5,20)-(5,30))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (124...127) = "tap"
+ │ │ │ │ ├── message_loc: (5,20)-(5,23) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (128...134))
+ │ │ │ │ │ @ BlockNode (location: (5,24)-(5,30))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (128...130) = "do"
- │ │ │ │ │ └── closing_loc: (131...134) = "end"
+ │ │ │ │ │ ├── opening_loc: (5,24)-(5,26) = "do"
+ │ │ │ │ │ └── closing_loc: (5,27)-(5,30) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
- │ │ │ └── operator_loc: (122...123) = "="
- │ │ ├── end_keyword_loc: (136...139) = "end"
+ │ │ │ └── operator_loc: (5,18)-(5,19) = "="
+ │ │ ├── end_keyword_loc: (5,32)-(5,35) = "end"
│ │ └── name: :Foo
│ ├── statements:
- │ │ @ StatementsNode (location: (141...146))
+ │ │ @ StatementsNode (location: (5,37)-(5,42))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (141...146))
+ │ │ └── @ BreakNode (location: (5,37)-(5,42))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (141...146) = "break"
+ │ │ └── keyword_loc: (5,37)-(5,42) = "break"
│ └── flags: ∅
- └── @ WhileNode (location: (153...197))
- ├── keyword_loc: (153...158) = "while"
- ├── closing_loc: (194...197) = "end"
+ └── @ WhileNode (location: (7,0)-(7,44))
+ ├── keyword_loc: (7,0)-(7,5) = "while"
+ ├── closing_loc: (7,41)-(7,44) = "end"
├── predicate:
- │ @ ClassNode (location: (159...185))
+ │ @ ClassNode (location: (7,6)-(7,32))
│ ├── locals: []
- │ ├── class_keyword_loc: (159...164) = "class"
+ │ ├── class_keyword_loc: (7,6)-(7,11) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (165...168))
+ │ │ @ ConstantReadNode (location: (7,12)-(7,15))
│ │ └── name: :Foo
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (170...180))
+ │ │ @ StatementsNode (location: (7,17)-(7,27))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (170...180))
+ │ │ └── @ CallNode (location: (7,17)-(7,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (170...173) = "tap"
+ │ │ ├── message_loc: (7,17)-(7,20) = "tap"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (174...180))
+ │ │ │ @ BlockNode (location: (7,21)-(7,27))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (174...176) = "do"
- │ │ │ └── closing_loc: (177...180) = "end"
+ │ │ │ ├── opening_loc: (7,21)-(7,23) = "do"
+ │ │ │ └── closing_loc: (7,24)-(7,27) = "end"
│ │ ├── flags: ∅
│ │ └── name: "tap"
- │ ├── end_keyword_loc: (182...185) = "end"
+ │ ├── end_keyword_loc: (7,29)-(7,32) = "end"
│ └── name: :Foo
├── statements:
- │ @ StatementsNode (location: (187...192))
+ │ @ StatementsNode (location: (7,34)-(7,39))
│ └── body: (length: 1)
- │ └── @ BreakNode (location: (187...192))
+ │ └── @ BreakNode (location: (7,34)-(7,39))
│ ├── arguments: ∅
- │ └── keyword_loc: (187...192) = "break"
+ │ └── keyword_loc: (7,34)-(7,39) = "break"
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/class_super.txt b/test/yarp/snapshots/whitequark/class_super.txt
index f4be49a683..ea8bbd70d9 100644
--- a/test/yarp/snapshots/whitequark/class_super.txt
+++ b/test/yarp/snapshots/whitequark/class_super.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ ClassNode (location: (0...20))
+ └── @ ClassNode (location: (1,0)-(1,20))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (6...9))
+ │ @ ConstantReadNode (location: (1,6)-(1,9))
│ └── name: :Foo
- ├── inheritance_operator_loc: (10...11) = "<"
+ ├── inheritance_operator_loc: (1,10)-(1,11) = "<"
├── superclass:
- │ @ ConstantReadNode (location: (12...15))
+ │ @ ConstantReadNode (location: (1,12)-(1,15))
│ └── name: :Bar
├── body: ∅
- ├── end_keyword_loc: (17...20) = "end"
+ ├── end_keyword_loc: (1,17)-(1,20) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/class_super_label.txt b/test/yarp/snapshots/whitequark/class_super_label.txt
index 5d2275843b..60826a72b9 100644
--- a/test/yarp/snapshots/whitequark/class_super_label.txt
+++ b/test/yarp/snapshots/whitequark/class_super_label.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ ClassNode (location: (0...20))
+ └── @ ClassNode (location: (1,0)-(1,20))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (6...9))
+ │ @ ConstantReadNode (location: (1,6)-(1,9))
│ └── name: :Foo
- ├── inheritance_operator_loc: (10...11) = "<"
+ ├── inheritance_operator_loc: (1,10)-(1,11) = "<"
├── superclass:
- │ @ CallNode (location: (12...15))
+ │ @ CallNode (location: (1,12)-(1,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...13) = "a"
+ │ ├── message_loc: (1,12)-(1,13) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...15))
+ │ │ @ ArgumentsNode (location: (1,13)-(1,15))
│ │ └── arguments: (length: 1)
- │ │ └── @ SymbolNode (location: (13...15))
- │ │ ├── opening_loc: (13...14) = ":"
- │ │ ├── value_loc: (14...15) = "b"
+ │ │ └── @ 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: ∅
@@ -29,5 +29,5 @@
│ ├── flags: ∅
│ └── name: "a"
├── body: ∅
- ├── end_keyword_loc: (17...20) = "end"
+ ├── end_keyword_loc: (1,17)-(1,20) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/comments_before_leading_dot__27.txt b/test/yarp/snapshots/whitequark/comments_before_leading_dot__27.txt
index dabf6b05e7..5315ed5d17 100644
--- a/test/yarp/snapshots/whitequark/comments_before_leading_dot__27.txt
+++ b/test/yarp/snapshots/whitequark/comments_before_leading_dot__27.txt
@@ -1,82 +1,82 @@
-@ ProgramNode (location: (0...55))
+@ ProgramNode (location: (1,0)-(18,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...55))
+ @ StatementsNode (location: (1,0)-(18,4))
└── body: (length: 4)
- ├── @ CallNode (location: (0...13))
+ ├── @ CallNode (location: (1,0)-(3,5))
│ ├── receiver:
- │ │ @ CallNode (location: (0...1))
+ │ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...1) = "a"
+ │ │ ├── message_loc: (1,0)-(1,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (8...10) = "&."
- │ ├── message_loc: (10...13) = "foo"
+ │ ├── call_operator_loc: (3,0)-(3,2) = "&."
+ │ ├── message_loc: (3,2)-(3,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "foo"
- ├── @ CallNode (location: (16...28))
+ ├── @ CallNode (location: (6,0)-(8,4))
│ ├── receiver:
- │ │ @ CallNode (location: (16...17))
+ │ │ @ CallNode (location: (6,0)-(6,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...17) = "a"
+ │ │ ├── message_loc: (6,0)-(6,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (24...25) = "."
- │ ├── message_loc: (25...28) = "foo"
+ │ ├── call_operator_loc: (8,0)-(8,1) = "."
+ │ ├── message_loc: (8,1)-(8,4) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- ├── @ CallNode (location: (31...42))
+ ├── @ CallNode (location: (11,0)-(13,5))
│ ├── receiver:
- │ │ @ CallNode (location: (31...32))
+ │ │ @ CallNode (location: (11,0)-(11,1))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...32) = "a"
+ │ │ ├── message_loc: (11,0)-(11,1) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "a"
- │ ├── call_operator_loc: (37...39) = "&."
- │ ├── message_loc: (39...42) = "foo"
+ │ ├── call_operator_loc: (13,0)-(13,2) = "&."
+ │ ├── message_loc: (13,2)-(13,5) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: safe_navigation
│ └── name: "foo"
- └── @ CallNode (location: (45...55))
+ └── @ CallNode (location: (16,0)-(18,4))
├── receiver:
- │ @ CallNode (location: (45...46))
+ │ @ CallNode (location: (16,0)-(16,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (45...46) = "a"
+ │ ├── message_loc: (16,0)-(16,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (51...52) = "."
- ├── message_loc: (52...55) = "foo"
+ ├── call_operator_loc: (18,0)-(18,1) = "."
+ ├── message_loc: (18,1)-(18,4) = "foo"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/complex.txt b/test/yarp/snapshots/whitequark/complex.txt
index 8bbebf30bd..f81564d700 100644
--- a/test/yarp/snapshots/whitequark/complex.txt
+++ b/test/yarp/snapshots/whitequark/complex.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(7,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(7,4))
└── body: (length: 4)
- ├── @ ImaginaryNode (location: (0...5))
+ ├── @ ImaginaryNode (location: (1,0)-(1,5))
│ └── numeric:
- │ @ FloatNode (location: (0...4))
- ├── @ ImaginaryNode (location: (7...13))
+ │ @ FloatNode (location: (1,0)-(1,4))
+ ├── @ ImaginaryNode (location: (3,0)-(3,6))
│ └── numeric:
- │ @ RationalNode (location: (7...12))
+ │ @ RationalNode (location: (3,0)-(3,5))
│ └── numeric:
- │ @ FloatNode (location: (7...11))
- ├── @ ImaginaryNode (location: (15...18))
+ │ @ FloatNode (location: (3,0)-(3,4))
+ ├── @ ImaginaryNode (location: (5,0)-(5,3))
│ └── numeric:
- │ @ IntegerNode (location: (15...17))
+ │ @ IntegerNode (location: (5,0)-(5,2))
│ └── flags: decimal
- └── @ ImaginaryNode (location: (20...24))
+ └── @ ImaginaryNode (location: (7,0)-(7,4))
└── numeric:
- @ RationalNode (location: (20...23))
+ @ RationalNode (location: (7,0)-(7,3))
└── numeric:
- @ IntegerNode (location: (20...22))
+ @ IntegerNode (location: (7,0)-(7,2))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/cond_begin.txt b/test/yarp/snapshots/whitequark/cond_begin.txt
index cb74d8f442..085f240ebd 100644
--- a/test/yarp/snapshots/whitequark/cond_begin.txt
+++ b/test/yarp/snapshots/whitequark/cond_begin.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ IfNode (location: (0...18))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,18))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ ParenthesesNode (location: (3...8))
+ │ @ ParenthesesNode (location: (1,3)-(1,8))
│ ├── body:
- │ │ @ StatementsNode (location: (4...7))
+ │ │ @ StatementsNode (location: (1,4)-(1,7))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (4...7))
+ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...7) = "bar"
+ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (7...8) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
├── statements:
- │ @ StatementsNode (location: (10...13))
+ │ @ StatementsNode (location: (1,10)-(1,13))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (10...13))
+ │ └── @ CallNode (location: (1,10)-(1,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...13) = "foo"
+ │ ├── message_loc: (1,10)-(1,13) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -36,4 +36,4 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── consequent: ∅
- └── end_keyword_loc: (15...18) = "end"
+ └── end_keyword_loc: (1,15)-(1,18) = "end"
diff --git a/test/yarp/snapshots/whitequark/cond_begin_masgn.txt b/test/yarp/snapshots/whitequark/cond_begin_masgn.txt
index 6ab943ef36..9ec167665e 100644
--- a/test/yarp/snapshots/whitequark/cond_begin_masgn.txt
+++ b/test/yarp/snapshots/whitequark/cond_begin_masgn.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ IfNode (location: (0...25))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,25))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ ParenthesesNode (location: (3...20))
+ │ @ ParenthesesNode (location: (1,3)-(1,20))
│ ├── body:
- │ │ @ StatementsNode (location: (4...19))
+ │ │ @ StatementsNode (location: (1,4)-(1,19))
│ │ └── body: (length: 2)
- │ │ ├── @ CallNode (location: (4...7))
+ │ │ ├── @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...7) = "bar"
+ │ │ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── @ MultiWriteNode (location: (9...19))
+ │ │ └── @ MultiWriteNode (location: (1,9)-(1,19))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (9...10))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (1,9)-(1,10))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (12...13))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,12)-(1,13))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
- │ │ ├── operator_loc: (14...15) = "="
+ │ │ ├── operator_loc: (1,14)-(1,15) = "="
│ │ └── value:
- │ │ @ CallNode (location: (16...19))
+ │ │ @ CallNode (location: (1,16)-(1,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "foo"
+ │ │ ├── message_loc: (1,16)-(1,19) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (19...20) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,19)-(1,20) = ")"
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (22...25) = "end"
+ └── end_keyword_loc: (1,22)-(1,25) = "end"
diff --git a/test/yarp/snapshots/whitequark/cond_eflipflop.txt b/test/yarp/snapshots/whitequark/cond_eflipflop.txt
index 04eb325714..89976af9e9 100644
--- a/test/yarp/snapshots/whitequark/cond_eflipflop.txt
+++ b/test/yarp/snapshots/whitequark/cond_eflipflop.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(3,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(3,17))
└── body: (length: 2)
- ├── @ CallNode (location: (0...12))
+ ├── @ CallNode (location: (1,0)-(1,12))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (1...12))
+ │ │ @ ParenthesesNode (location: (1,1)-(1,12))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (2...11))
+ │ │ │ @ StatementsNode (location: (1,2)-(1,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FlipFlopNode (location: (2...11))
+ │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,11))
│ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (2...5))
+ │ │ │ │ @ CallNode (location: (1,2)-(1,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (2...5) = "foo"
+ │ │ │ │ ├── message_loc: (1,2)-(1,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -22,37 +22,37 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (8...11))
+ │ │ │ │ @ CallNode (location: (1,8)-(1,11))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (8...11) = "bar"
+ │ │ │ │ ├── message_loc: (1,8)-(1,11) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── operator_loc: (5...8) = "..."
+ │ │ │ ├── operator_loc: (1,5)-(1,8) = "..."
│ │ │ └── flags: exclude_end
- │ │ ├── opening_loc: (1...2) = "("
- │ │ └── closing_loc: (11...12) = ")"
+ │ │ ├── opening_loc: (1,1)-(1,2) = "("
+ │ │ └── closing_loc: (1,11)-(1,12) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "!"
+ │ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- └── @ IfNode (location: (14...31))
- ├── if_keyword_loc: (14...16) = "if"
+ └── @ IfNode (location: (3,0)-(3,17))
+ ├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
- │ @ FlipFlopNode (location: (17...26))
+ │ @ FlipFlopNode (location: (3,3)-(3,12))
│ ├── left:
- │ │ @ CallNode (location: (17...20))
+ │ │ @ CallNode (location: (3,3)-(3,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (17...20) = "foo"
+ │ │ ├── message_loc: (3,3)-(3,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -60,18 +60,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── right:
- │ │ @ CallNode (location: (23...26))
+ │ │ @ CallNode (location: (3,9)-(3,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (23...26) = "bar"
+ │ │ ├── message_loc: (3,9)-(3,12) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── operator_loc: (20...23) = "..."
+ │ ├── operator_loc: (3,6)-(3,9) = "..."
│ └── flags: exclude_end
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (28...31) = "end"
+ └── end_keyword_loc: (3,14)-(3,17) = "end"
diff --git a/test/yarp/snapshots/whitequark/cond_iflipflop.txt b/test/yarp/snapshots/whitequark/cond_iflipflop.txt
index 786a414acc..1dcece1aef 100644
--- a/test/yarp/snapshots/whitequark/cond_iflipflop.txt
+++ b/test/yarp/snapshots/whitequark/cond_iflipflop.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(3,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(3,16))
└── body: (length: 2)
- ├── @ CallNode (location: (0...11))
+ ├── @ CallNode (location: (1,0)-(1,11))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (1...11))
+ │ │ @ ParenthesesNode (location: (1,1)-(1,11))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (2...10))
+ │ │ │ @ StatementsNode (location: (1,2)-(1,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FlipFlopNode (location: (2...10))
+ │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,10))
│ │ │ ├── left:
- │ │ │ │ @ CallNode (location: (2...5))
+ │ │ │ │ @ CallNode (location: (1,2)-(1,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (2...5) = "foo"
+ │ │ │ │ ├── message_loc: (1,2)-(1,5) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -22,37 +22,37 @@
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
│ │ │ ├── right:
- │ │ │ │ @ CallNode (location: (7...10))
+ │ │ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (7...10) = "bar"
+ │ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── operator_loc: (5...7) = ".."
+ │ │ │ ├── operator_loc: (1,5)-(1,7) = ".."
│ │ │ └── flags: ∅
- │ │ ├── opening_loc: (1...2) = "("
- │ │ └── closing_loc: (10...11) = ")"
+ │ │ ├── opening_loc: (1,1)-(1,2) = "("
+ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "!"
+ │ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- └── @ IfNode (location: (13...29))
- ├── if_keyword_loc: (13...15) = "if"
+ └── @ IfNode (location: (3,0)-(3,16))
+ ├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
- │ @ FlipFlopNode (location: (16...24))
+ │ @ FlipFlopNode (location: (3,3)-(3,11))
│ ├── left:
- │ │ @ CallNode (location: (16...19))
+ │ │ @ CallNode (location: (3,3)-(3,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "foo"
+ │ │ ├── message_loc: (3,3)-(3,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -60,18 +60,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── right:
- │ │ @ CallNode (location: (21...24))
+ │ │ @ CallNode (location: (3,8)-(3,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "bar"
+ │ │ ├── message_loc: (3,8)-(3,11) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── operator_loc: (19...21) = ".."
+ │ ├── operator_loc: (3,6)-(3,8) = ".."
│ └── flags: ∅
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (26...29) = "end"
+ └── end_keyword_loc: (3,13)-(3,16) = "end"
diff --git a/test/yarp/snapshots/whitequark/cond_match_current_line.txt b/test/yarp/snapshots/whitequark/cond_match_current_line.txt
index c1f588c263..679e903681 100644
--- a/test/yarp/snapshots/whitequark/cond_match_current_line.txt
+++ b/test/yarp/snapshots/whitequark/cond_match_current_line.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(3,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(3,13))
└── body: (length: 2)
- ├── @ CallNode (location: (0...6))
+ ├── @ CallNode (location: (1,0)-(1,6))
│ ├── receiver:
- │ │ @ MatchLastLineNode (location: (1...6))
- │ │ ├── opening_loc: (1...2) = "/"
- │ │ ├── content_loc: (2...5) = "wat"
- │ │ ├── closing_loc: (5...6) = "/"
+ │ │ @ MatchLastLineNode (location: (1,1)-(1,6))
+ │ │ ├── opening_loc: (1,1)-(1,2) = "/"
+ │ │ ├── content_loc: (1,2)-(1,5) = "wat"
+ │ │ ├── closing_loc: (1,5)-(1,6) = "/"
│ │ ├── unescaped: "wat"
│ │ └── flags: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "!"
+ │ ├── message_loc: (1,0)-(1,1) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- └── @ IfNode (location: (8...21))
- ├── if_keyword_loc: (8...10) = "if"
+ └── @ IfNode (location: (3,0)-(3,13))
+ ├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
- │ @ MatchLastLineNode (location: (11...16))
- │ ├── opening_loc: (11...12) = "/"
- │ ├── content_loc: (12...15) = "wat"
- │ ├── closing_loc: (15...16) = "/"
+ │ @ MatchLastLineNode (location: (3,3)-(3,8))
+ │ ├── opening_loc: (3,3)-(3,4) = "/"
+ │ ├── content_loc: (3,4)-(3,7) = "wat"
+ │ ├── closing_loc: (3,7)-(3,8) = "/"
│ ├── unescaped: "wat"
│ └── flags: ∅
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (18...21) = "end"
+ └── end_keyword_loc: (3,10)-(3,13) = "end"
diff --git a/test/yarp/snapshots/whitequark/const_op_asgn.txt b/test/yarp/snapshots/whitequark/const_op_asgn.txt
index 8ecaccf1cf..fc6533ccd0 100644
--- a/test/yarp/snapshots/whitequark/const_op_asgn.txt
+++ b/test/yarp/snapshots/whitequark/const_op_asgn.txt
@@ -1,96 +1,96 @@
-@ ProgramNode (location: (0...77))
+@ ProgramNode (location: (1,0)-(9,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...77))
+ @ StatementsNode (location: (1,0)-(9,25))
└── body: (length: 5)
- ├── @ ConstantPathOperatorWriteNode (location: (0...8))
+ ├── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,8))
│ ├── target:
- │ │ @ ConstantPathNode (location: (0...3))
+ │ │ @ ConstantPathNode (location: (1,0)-(1,3))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (2...3))
+ │ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (0...2) = "::"
- │ ├── operator_loc: (4...6) = "+="
+ │ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ │ ├── operator_loc: (1,4)-(1,6) = "+="
│ ├── value:
- │ │ @ IntegerNode (location: (7...8))
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
│ └── operator: :+
- ├── @ ConstantOperatorWriteNode (location: (10...16))
+ ├── @ ConstantOperatorWriteNode (location: (3,0)-(3,6))
│ ├── name: :A
- │ ├── name_loc: (10...11) = "A"
- │ ├── operator_loc: (12...14) = "+="
+ │ ├── name_loc: (3,0)-(3,1) = "A"
+ │ ├── operator_loc: (3,2)-(3,4) = "+="
│ ├── value:
- │ │ @ IntegerNode (location: (15...16))
+ │ │ @ IntegerNode (location: (3,5)-(3,6))
│ │ └── flags: decimal
│ └── operator: :+
- ├── @ ConstantPathOperatorWriteNode (location: (18...27))
+ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,9))
│ ├── target:
- │ │ @ ConstantPathNode (location: (18...22))
+ │ │ @ ConstantPathNode (location: (5,0)-(5,4))
│ │ ├── parent:
- │ │ │ @ ConstantReadNode (location: (18...19))
+ │ │ │ @ ConstantReadNode (location: (5,0)-(5,1))
│ │ │ └── name: :B
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (21...22))
+ │ │ │ @ ConstantReadNode (location: (5,3)-(5,4))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (19...21) = "::"
- │ ├── operator_loc: (23...25) = "+="
+ │ │ └── delimiter_loc: (5,1)-(5,3) = "::"
+ │ ├── operator_loc: (5,5)-(5,7) = "+="
│ ├── value:
- │ │ @ IntegerNode (location: (26...27))
+ │ │ @ IntegerNode (location: (5,8)-(5,9))
│ │ └── flags: decimal
│ └── operator: :+
- ├── @ DefNode (location: (29...50))
+ ├── @ DefNode (location: (7,0)-(7,21))
│ ├── name: :x
- │ ├── name_loc: (33...34) = "x"
+ │ ├── name_loc: (7,4)-(7,5) = "x"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (36...45))
+ │ │ @ StatementsNode (location: (7,7)-(7,16))
│ │ └── body: (length: 1)
- │ │ └── @ ConstantPathOrWriteNode (location: (36...45))
+ │ │ └── @ ConstantPathOrWriteNode (location: (7,7)-(7,16))
│ │ ├── target:
- │ │ │ @ ConstantPathNode (location: (36...39))
+ │ │ │ @ ConstantPathNode (location: (7,7)-(7,10))
│ │ │ ├── parent: ∅
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (38...39))
+ │ │ │ │ @ ConstantReadNode (location: (7,9)-(7,10))
│ │ │ │ └── name: :A
- │ │ │ └── delimiter_loc: (36...38) = "::"
- │ │ ├── operator_loc: (40...43) = "||="
+ │ │ │ └── delimiter_loc: (7,7)-(7,9) = "::"
+ │ │ ├── operator_loc: (7,11)-(7,14) = "||="
│ │ └── value:
- │ │ @ IntegerNode (location: (44...45))
+ │ │ @ IntegerNode (location: (7,15)-(7,16))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (29...32) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (47...50) = "end"
- └── @ DefNode (location: (52...77))
+ │ └── end_keyword_loc: (7,18)-(7,21) = "end"
+ └── @ DefNode (location: (9,0)-(9,25))
├── name: :x
- ├── name_loc: (56...57) = "x"
+ ├── name_loc: (9,4)-(9,5) = "x"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (59...72))
+ │ @ StatementsNode (location: (9,7)-(9,20))
│ └── body: (length: 1)
- │ └── @ ConstantPathOrWriteNode (location: (59...72))
+ │ └── @ ConstantPathOrWriteNode (location: (9,7)-(9,20))
│ ├── target:
- │ │ @ ConstantPathNode (location: (59...66))
+ │ │ @ ConstantPathNode (location: (9,7)-(9,14))
│ │ ├── parent:
- │ │ │ @ SelfNode (location: (59...63))
+ │ │ │ @ SelfNode (location: (9,7)-(9,11))
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (65...66))
+ │ │ │ @ ConstantReadNode (location: (9,13)-(9,14))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (63...65) = "::"
- │ ├── operator_loc: (67...70) = "||="
+ │ │ └── delimiter_loc: (9,11)-(9,13) = "::"
+ │ ├── operator_loc: (9,15)-(9,18) = "||="
│ └── value:
- │ @ IntegerNode (location: (71...72))
+ │ @ IntegerNode (location: (9,19)-(9,20))
│ └── flags: decimal
├── locals: []
- ├── def_keyword_loc: (52...55) = "def"
+ ├── def_keyword_loc: (9,0)-(9,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (74...77) = "end"
+ └── end_keyword_loc: (9,22)-(9,25) = "end"
diff --git a/test/yarp/snapshots/whitequark/const_scoped.txt b/test/yarp/snapshots/whitequark/const_scoped.txt
index 716f9b4c5c..1e2bccef96 100644
--- a/test/yarp/snapshots/whitequark/const_scoped.txt
+++ b/test/yarp/snapshots/whitequark/const_scoped.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ ConstantPathNode (location: (0...8))
+ └── @ ConstantPathNode (location: (1,0)-(1,8))
├── parent:
- │ @ ConstantReadNode (location: (0...3))
+ │ @ ConstantReadNode (location: (1,0)-(1,3))
│ └── name: :Bar
├── child:
- │ @ ConstantReadNode (location: (5...8))
+ │ @ ConstantReadNode (location: (1,5)-(1,8))
│ └── name: :Foo
- └── delimiter_loc: (3...5) = "::"
+ └── delimiter_loc: (1,3)-(1,5) = "::"
diff --git a/test/yarp/snapshots/whitequark/const_toplevel.txt b/test/yarp/snapshots/whitequark/const_toplevel.txt
index 423b23a359..b54b069d06 100644
--- a/test/yarp/snapshots/whitequark/const_toplevel.txt
+++ b/test/yarp/snapshots/whitequark/const_toplevel.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ConstantPathNode (location: (0...5))
+ └── @ ConstantPathNode (location: (1,0)-(1,5))
├── parent: ∅
├── child:
- │ @ ConstantReadNode (location: (2...5))
+ │ @ ConstantReadNode (location: (1,2)-(1,5))
│ └── name: :Foo
- └── delimiter_loc: (0...2) = "::"
+ └── delimiter_loc: (1,0)-(1,2) = "::"
diff --git a/test/yarp/snapshots/whitequark/const_unscoped.txt b/test/yarp/snapshots/whitequark/const_unscoped.txt
index ba87db9a59..5e272e1775 100644
--- a/test/yarp/snapshots/whitequark/const_unscoped.txt
+++ b/test/yarp/snapshots/whitequark/const_unscoped.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ ConstantReadNode (location: (0...3))
+ └── @ ConstantReadNode (location: (1,0)-(1,3))
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/cpath.txt b/test/yarp/snapshots/whitequark/cpath.txt
index ce24198772..b892525646 100644
--- a/test/yarp/snapshots/whitequark/cpath.txt
+++ b/test/yarp/snapshots/whitequark/cpath.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(3,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(3,20))
└── body: (length: 2)
- ├── @ ModuleNode (location: (0...17))
+ ├── @ ModuleNode (location: (1,0)-(1,17))
│ ├── locals: []
- │ ├── module_keyword_loc: (0...6) = "module"
+ │ ├── module_keyword_loc: (1,0)-(1,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (7...12))
+ │ │ @ ConstantPathNode (location: (1,7)-(1,12))
│ │ ├── parent: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (9...12))
+ │ │ │ @ ConstantReadNode (location: (1,9)-(1,12))
│ │ │ └── name: :Foo
- │ │ └── delimiter_loc: (7...9) = "::"
+ │ │ └── delimiter_loc: (1,7)-(1,9) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (14...17) = "end"
+ │ ├── end_keyword_loc: (1,14)-(1,17) = "end"
│ └── name: :Foo
- └── @ ModuleNode (location: (19...39))
+ └── @ ModuleNode (location: (3,0)-(3,20))
├── locals: []
- ├── module_keyword_loc: (19...25) = "module"
+ ├── module_keyword_loc: (3,0)-(3,6) = "module"
├── constant_path:
- │ @ ConstantPathNode (location: (26...34))
+ │ @ ConstantPathNode (location: (3,7)-(3,15))
│ ├── parent:
- │ │ @ ConstantReadNode (location: (26...29))
+ │ │ @ ConstantReadNode (location: (3,7)-(3,10))
│ │ └── name: :Bar
│ ├── child:
- │ │ @ ConstantReadNode (location: (31...34))
+ │ │ @ ConstantReadNode (location: (3,12)-(3,15))
│ │ └── name: :Foo
- │ └── delimiter_loc: (29...31) = "::"
+ │ └── delimiter_loc: (3,10)-(3,12) = "::"
├── body: ∅
- ├── end_keyword_loc: (36...39) = "end"
+ ├── end_keyword_loc: (3,17)-(3,20) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/cvar.txt b/test/yarp/snapshots/whitequark/cvar.txt
index 40017f5129..7847ce4495 100644
--- a/test/yarp/snapshots/whitequark/cvar.txt
+++ b/test/yarp/snapshots/whitequark/cvar.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ClassVariableReadNode (location: (0...5))
+ └── @ ClassVariableReadNode (location: (1,0)-(1,5))
└── name: :@@foo
diff --git a/test/yarp/snapshots/whitequark/cvasgn.txt b/test/yarp/snapshots/whitequark/cvasgn.txt
index 741f646b97..e6a1c7e973 100644
--- a/test/yarp/snapshots/whitequark/cvasgn.txt
+++ b/test/yarp/snapshots/whitequark/cvasgn.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ ClassVariableWriteNode (location: (0...10))
+ └── @ ClassVariableWriteNode (location: (1,0)-(1,10))
├── name: :@@var
- ├── name_loc: (0...5) = "@@var"
+ ├── name_loc: (1,0)-(1,5) = "@@var"
├── value:
- │ @ IntegerNode (location: (8...10))
+ │ @ IntegerNode (location: (1,8)-(1,10))
│ └── flags: decimal
- └── operator_loc: (6...7) = "="
+ └── operator_loc: (1,6)-(1,7) = "="
diff --git a/test/yarp/snapshots/whitequark/dedenting_heredoc.txt b/test/yarp/snapshots/whitequark/dedenting_heredoc.txt
index 3c74aeb1c7..c0babc6ba1 100644
--- a/test/yarp/snapshots/whitequark/dedenting_heredoc.txt
+++ b/test/yarp/snapshots/whitequark/dedenting_heredoc.txt
@@ -1,366 +1,366 @@
-@ ProgramNode (location: (0...313))
+@ ProgramNode (location: (1,0)-(72,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...313))
+ @ StatementsNode (location: (1,0)-(72,8))
└── body: (length: 16)
- ├── @ CallNode (location: (0...8))
+ ├── @ CallNode (location: (1,0)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "p"
+ │ ├── message_loc: (1,0)-(1,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...8))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (2...8))
- │ │ ├── opening_loc: (2...8) = "<<~\"E\""
+ │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8))
+ │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (9...17))
+ │ │ │ ├── @ StringNode (location: (2,0)-(3,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (9...17) = " x\n "
+ │ │ │ │ ├── content_loc: (2,0)-(3,2) = " x\n "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " x\n"
- │ │ │ ├── @ EmbeddedStatementsNode (location: (17...25))
- │ │ │ │ ├── opening_loc: (17...19) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10))
+ │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (19...24))
+ │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ StringNode (location: (19...24))
+ │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9))
│ │ │ │ │ ├── flags: ∅
- │ │ │ │ │ ├── opening_loc: (19...20) = "\""
- │ │ │ │ │ ├── content_loc: (20...23) = " y"
- │ │ │ │ │ ├── closing_loc: (23...24) = "\""
+ │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\""
+ │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y"
+ │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\""
│ │ │ │ │ └── unescaped: " y"
- │ │ │ │ └── closing_loc: (24...25) = "}"
- │ │ │ └── @ StringNode (location: (25...26))
+ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}"
+ │ │ │ └── @ StringNode (location: (3,10)-(3,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (25...26) = "\n"
+ │ │ │ ├── content_loc: (3,10)-(3,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (26...28) = "E\n"
+ │ │ └── closing_loc: (4,0)-(4,0) = "E\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (29...37))
+ ├── @ CallNode (location: (6,0)-(6,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...30) = "p"
+ │ ├── message_loc: (6,0)-(6,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (31...37))
+ │ │ @ ArgumentsNode (location: (6,2)-(6,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ InterpolatedStringNode (location: (31...37))
- │ │ ├── opening_loc: (31...37) = "<<~\"E\""
+ │ │ └── @ InterpolatedStringNode (location: (6,2)-(6,8))
+ │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\""
│ │ ├── parts: (length: 3)
- │ │ │ ├── @ StringNode (location: (38...46))
+ │ │ │ ├── @ StringNode (location: (7,0)-(8,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (38...46) = " x\n "
+ │ │ │ │ ├── content_loc: (7,0)-(8,2) = " x\n "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " x\n"
- │ │ │ ├── @ EmbeddedStatementsNode (location: (46...52))
- │ │ │ │ ├── opening_loc: (46...48) = "\#{"
+ │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8))
+ │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (48...51))
+ │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (48...51))
+ │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (48...51) = "foo"
+ │ │ │ │ │ ├── message_loc: (8,4)-(8,7) = "foo"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "foo"
- │ │ │ │ └── closing_loc: (51...52) = "}"
- │ │ │ └── @ StringNode (location: (52...53))
+ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}"
+ │ │ │ └── @ StringNode (location: (8,8)-(8,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (52...53) = "\n"
+ │ │ │ ├── content_loc: (8,8)-(8,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
- │ │ └── closing_loc: (53...55) = "E\n"
+ │ │ └── closing_loc: (9,0)-(9,0) = "E\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (56...62))
+ ├── @ CallNode (location: (11,0)-(11,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (56...57) = "p"
+ │ ├── message_loc: (11,0)-(11,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (58...62))
+ │ │ @ ArgumentsNode (location: (11,2)-(11,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (58...62))
+ │ │ └── @ StringNode (location: (11,2)-(11,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (58...62) = "<<~E"
- │ │ ├── content_loc: (63...76) = "\tx\n y\n"
- │ │ ├── closing_loc: (76...78) = "E\n"
+ │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E"
+ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n y\n"
+ │ │ ├── closing_loc: (14,0)-(14,0) = "E\n"
│ │ └── unescaped: "x\ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (79...85))
+ ├── @ CallNode (location: (16,0)-(16,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (79...80) = "p"
+ │ ├── message_loc: (16,0)-(16,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (81...85))
+ │ │ @ ArgumentsNode (location: (16,2)-(16,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (81...85))
+ │ │ └── @ StringNode (location: (16,2)-(16,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (81...85) = "<<~E"
- │ │ ├── content_loc: (86...95) = "\tx\n y\n"
- │ │ ├── closing_loc: (95...97) = "E\n"
+ │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E"
+ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n y\n"
+ │ │ ├── closing_loc: (19,0)-(19,0) = "E\n"
│ │ └── unescaped: "\tx\ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (98...104))
+ ├── @ CallNode (location: (21,0)-(21,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (98...99) = "p"
+ │ ├── message_loc: (21,0)-(21,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (100...104))
+ │ │ @ ArgumentsNode (location: (21,2)-(21,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (100...104))
+ │ │ └── @ StringNode (location: (21,2)-(21,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (100...104) = "<<~E"
- │ │ ├── content_loc: (105...122) = " \tx\n y\n"
- │ │ ├── closing_loc: (122...124) = "E\n"
+ │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E"
+ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n y\n"
+ │ │ ├── closing_loc: (24,0)-(24,0) = "E\n"
│ │ └── unescaped: "x\ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (125...131))
+ ├── @ CallNode (location: (26,0)-(26,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (125...126) = "p"
+ │ ├── message_loc: (26,0)-(26,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (127...131))
+ │ │ @ ArgumentsNode (location: (26,2)-(26,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (127...131))
+ │ │ └── @ StringNode (location: (26,2)-(26,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (127...131) = "<<~E"
- │ │ ├── content_loc: (132...146) = " \tx\n\ty\n"
- │ │ ├── closing_loc: (146...148) = "E\n"
+ │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E"
+ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n\ty\n"
+ │ │ ├── closing_loc: (29,0)-(29,0) = "E\n"
│ │ └── unescaped: "\tx\ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (149...155))
+ ├── @ CallNode (location: (31,0)-(31,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (149...150) = "p"
+ │ ├── message_loc: (31,0)-(31,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (151...155))
+ │ │ @ ArgumentsNode (location: (31,2)-(31,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (151...155))
+ │ │ └── @ StringNode (location: (31,2)-(31,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (151...155) = "<<~E"
- │ │ ├── content_loc: (156...168) = " x\n \\\ty\n"
- │ │ ├── closing_loc: (168...170) = "E\n"
+ │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E"
+ │ │ ├── content_loc: (32,0)-(33,0) = " x\n \\\ty\n"
+ │ │ ├── closing_loc: (34,0)-(34,0) = "E\n"
│ │ └── unescaped: " x\n\ty\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (171...177))
+ ├── @ CallNode (location: (36,0)-(36,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (171...172) = "p"
+ │ ├── message_loc: (36,0)-(36,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (173...177))
+ │ │ @ ArgumentsNode (location: (36,2)-(36,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (173...177))
+ │ │ └── @ StringNode (location: (36,2)-(36,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (173...177) = "<<~E"
- │ │ ├── content_loc: (178...191) = " x\n \\ y\n"
- │ │ ├── closing_loc: (191...193) = "E\n"
+ │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E"
+ │ │ ├── content_loc: (37,0)-(38,0) = " x\n \\ y\n"
+ │ │ ├── closing_loc: (39,0)-(39,0) = "E\n"
│ │ └── unescaped: " x\n y\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (194...200))
+ ├── @ CallNode (location: (41,0)-(41,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (194...195) = "p"
+ │ ├── message_loc: (41,0)-(41,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (196...200))
+ │ │ @ ArgumentsNode (location: (41,2)-(41,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (196...200))
+ │ │ └── @ StringNode (location: (41,2)-(41,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (196...200) = "<<~E"
- │ │ ├── content_loc: (201...201) = ""
- │ │ ├── closing_loc: (201...205) = " E\n"
+ │ │ ├── opening_loc: (41,2)-(41,6) = "<<~E"
+ │ │ ├── content_loc: (42,0)-(41,0) = ""
+ │ │ ├── closing_loc: (42,0)-(42,0) = " E\n"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (206...212))
+ ├── @ CallNode (location: (44,0)-(44,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (206...207) = "p"
+ │ ├── message_loc: (44,0)-(44,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (208...212))
+ │ │ @ ArgumentsNode (location: (44,2)-(44,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (208...212))
+ │ │ └── @ StringNode (location: (44,2)-(44,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (208...212) = "<<~E"
- │ │ ├── content_loc: (213...220) = " x\n\ny\n"
- │ │ ├── closing_loc: (220...222) = "E\n"
+ │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E"
+ │ │ ├── content_loc: (45,0)-(47,0) = " x\n\ny\n"
+ │ │ ├── closing_loc: (48,0)-(48,0) = "E\n"
│ │ └── unescaped: " x\n\ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (223...229))
+ ├── @ CallNode (location: (50,0)-(50,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (223...224) = "p"
+ │ ├── message_loc: (50,0)-(50,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (225...229))
+ │ │ @ ArgumentsNode (location: (50,2)-(50,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (225...229))
+ │ │ └── @ StringNode (location: (50,2)-(50,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (225...229) = "<<~E"
- │ │ ├── content_loc: (230...243) = " x\n \n y\n"
- │ │ ├── closing_loc: (243...245) = "E\n"
+ │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E"
+ │ │ ├── content_loc: (51,0)-(53,0) = " x\n \n y\n"
+ │ │ ├── closing_loc: (54,0)-(54,0) = "E\n"
│ │ └── unescaped: "x\n \ny\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (246...252))
+ ├── @ CallNode (location: (56,0)-(56,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (246...247) = "p"
+ │ ├── message_loc: (56,0)-(56,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (248...252))
+ │ │ @ ArgumentsNode (location: (56,2)-(56,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (248...252))
+ │ │ └── @ StringNode (location: (56,2)-(56,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (248...252) = "<<~E"
- │ │ ├── content_loc: (253...263) = " x\n y\n"
- │ │ ├── closing_loc: (263...265) = "E\n"
+ │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E"
+ │ │ ├── content_loc: (57,0)-(58,0) = " x\n y\n"
+ │ │ ├── closing_loc: (59,0)-(59,0) = "E\n"
│ │ └── unescaped: "x\n y\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (266...272))
+ ├── @ CallNode (location: (61,0)-(61,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (266...267) = "p"
+ │ ├── message_loc: (61,0)-(61,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (268...272))
+ │ │ @ ArgumentsNode (location: (61,2)-(61,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (268...272))
+ │ │ └── @ StringNode (location: (61,2)-(61,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (268...272) = "<<~E"
- │ │ ├── content_loc: (273...277) = " x\n"
- │ │ ├── closing_loc: (277...279) = "E\n"
+ │ │ ├── opening_loc: (61,2)-(61,6) = "<<~E"
+ │ │ ├── content_loc: (62,0)-(62,0) = " x\n"
+ │ │ ├── closing_loc: (63,0)-(63,0) = "E\n"
│ │ └── unescaped: "x\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (280...286))
+ ├── @ CallNode (location: (65,0)-(65,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (280...281) = "p"
+ │ ├── message_loc: (65,0)-(65,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (282...286))
+ │ │ @ ArgumentsNode (location: (65,2)-(65,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (282...286))
+ │ │ └── @ StringNode (location: (65,2)-(65,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (282...286) = "<<~E"
- │ │ ├── content_loc: (287...292) = " ð\n"
- │ │ ├── closing_loc: (292...294) = "E\n"
+ │ │ ├── opening_loc: (65,2)-(65,6) = "<<~E"
+ │ │ ├── content_loc: (66,0)-(66,0) = " ð\n"
+ │ │ ├── closing_loc: (67,0)-(67,0) = "E\n"
│ │ └── unescaped: "ð\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── @ CallNode (location: (295...301))
+ ├── @ CallNode (location: (69,0)-(69,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (295...296) = "p"
+ │ ├── message_loc: (69,0)-(69,1) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (297...301))
+ │ │ @ ArgumentsNode (location: (69,2)-(69,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ StringNode (location: (297...301))
+ │ │ └── @ StringNode (location: (69,2)-(69,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (297...301) = "<<~E"
- │ │ ├── content_loc: (302...302) = ""
- │ │ ├── closing_loc: (302...304) = "E\n"
+ │ │ ├── opening_loc: (69,2)-(69,6) = "<<~E"
+ │ │ ├── content_loc: (70,0)-(69,0) = ""
+ │ │ ├── closing_loc: (70,0)-(70,0) = "E\n"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- └── @ CallNode (location: (305...313))
+ └── @ CallNode (location: (72,0)-(72,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (305...306) = "p"
+ ├── message_loc: (72,0)-(72,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (307...313))
+ │ @ ArgumentsNode (location: (72,2)-(72,8))
│ └── arguments: (length: 1)
- │ └── @ InterpolatedXStringNode (location: (307...313))
- │ ├── opening_loc: (307...313) = "<<~`E`"
+ │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8))
+ │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (314...322))
+ │ │ ├── @ StringNode (location: (73,0)-(74,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (314...322) = " x\n "
+ │ │ │ ├── content_loc: (73,0)-(74,2) = " x\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " x\n"
- │ │ ├── @ EmbeddedStatementsNode (location: (322...328))
- │ │ │ ├── opening_loc: (322...324) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8))
+ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (324...327))
+ │ │ │ │ @ StatementsNode (location: (74,4)-(74,7))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (324...327))
+ │ │ │ │ └── @ CallNode (location: (74,4)-(74,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (324...327) = "foo"
+ │ │ │ │ ├── message_loc: (74,4)-(74,7) = "foo"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "foo"
- │ │ │ └── closing_loc: (327...328) = "}"
- │ │ └── @ StringNode (location: (328...329))
+ │ │ │ └── closing_loc: (74,7)-(74,8) = "}"
+ │ │ └── @ StringNode (location: (74,8)-(74,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (328...329) = "\n"
+ │ │ ├── content_loc: (74,8)-(74,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
- │ └── closing_loc: (329...331) = "E\n"
+ │ └── closing_loc: (75,0)-(75,0) = "E\n"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt b/test/yarp/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt
index 6890f1ca81..ac083f3edc 100644
--- a/test/yarp/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt
+++ b/test/yarp/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ StringNode (location: (0...8))
+ └── @ StringNode (location: (1,0)-(1,8))
├── flags: ∅
- ├── opening_loc: (0...8) = "<<~'FOO'"
- ├── content_loc: (9...23) = " baz\\\\\n qux\n"
- ├── closing_loc: (23...27) = "FOO\n"
+ ├── opening_loc: (1,0)-(1,8) = "<<~'FOO'"
+ ├── content_loc: (2,0)-(3,0) = " baz\\\\\n qux\n"
+ ├── closing_loc: (4,0)-(4,0) = "FOO\n"
└── unescaped: "baz\\\nqux\n"
diff --git a/test/yarp/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt b/test/yarp/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt
index 19fe8b4f38..6d123a3387 100644
--- a/test/yarp/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt
+++ b/test/yarp/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ StringNode (location: (0...8))
+ └── @ StringNode (location: (1,0)-(1,8))
├── flags: ∅
- ├── opening_loc: (0...8) = "<<~'FOO'"
- ├── content_loc: (9...22) = " baz\\\n qux\n"
- ├── closing_loc: (22...26) = "FOO\n"
+ ├── opening_loc: (1,0)-(1,8) = "<<~'FOO'"
+ ├── content_loc: (2,0)-(3,0) = " baz\\\n qux\n"
+ ├── closing_loc: (4,0)-(4,0) = "FOO\n"
└── unescaped: "baz\\\nqux\n"
diff --git a/test/yarp/snapshots/whitequark/def.txt b/test/yarp/snapshots/whitequark/def.txt
index c67a8b3a1a..d5e1139c4d 100644
--- a/test/yarp/snapshots/whitequark/def.txt
+++ b/test/yarp/snapshots/whitequark/def.txt
@@ -1,83 +1,83 @@
-@ ProgramNode (location: (0...93))
+@ ProgramNode (location: (1,0)-(11,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...93))
+ @ StatementsNode (location: (1,0)-(11,14))
└── body: (length: 6)
- ├── @ DefNode (location: (0...14))
+ ├── @ DefNode (location: (1,0)-(1,14))
│ ├── name: :BEGIN
- │ ├── name_loc: (4...9) = "BEGIN"
+ │ ├── name_loc: (1,4)-(1,9) = "BEGIN"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (11...14) = "end"
- ├── @ DefNode (location: (16...28))
+ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
+ ├── @ DefNode (location: (3,0)-(3,12))
│ ├── name: :END
- │ ├── name_loc: (20...23) = "END"
+ │ ├── name_loc: (3,4)-(3,7) = "END"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (16...19) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (25...28) = "end"
- ├── @ DefNode (location: (30...45))
+ │ └── end_keyword_loc: (3,9)-(3,12) = "end"
+ ├── @ DefNode (location: (5,0)-(5,15))
│ ├── name: :String
- │ ├── name_loc: (34...40) = "String"
+ │ ├── name_loc: (5,4)-(5,10) = "String"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (30...33) = "def"
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (42...45) = "end"
- ├── @ DefNode (location: (47...63))
+ │ └── end_keyword_loc: (5,12)-(5,15) = "end"
+ ├── @ DefNode (location: (7,0)-(7,16))
│ ├── name: :String=
- │ ├── name_loc: (51...58) = "String="
+ │ ├── name_loc: (7,4)-(7,11) = "String="
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (47...50) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (60...63) = "end"
- ├── @ DefNode (location: (65...77))
+ │ └── end_keyword_loc: (7,13)-(7,16) = "end"
+ ├── @ DefNode (location: (9,0)-(9,12))
│ ├── name: :foo
- │ ├── name_loc: (69...72) = "foo"
+ │ ├── name_loc: (9,4)-(9,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (65...68) = "def"
+ │ ├── def_keyword_loc: (9,0)-(9,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (74...77) = "end"
- └── @ DefNode (location: (79...93))
+ │ └── end_keyword_loc: (9,9)-(9,12) = "end"
+ └── @ DefNode (location: (11,0)-(11,14))
├── name: :until
- ├── name_loc: (83...88) = "until"
+ ├── name_loc: (11,4)-(11,9) = "until"
├── receiver: ∅
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (79...82) = "def"
+ ├── def_keyword_loc: (11,0)-(11,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (90...93) = "end"
+ └── end_keyword_loc: (11,11)-(11,14) = "end"
diff --git a/test/yarp/snapshots/whitequark/defined.txt b/test/yarp/snapshots/whitequark/defined.txt
index 511967f049..475e6a2734 100644
--- a/test/yarp/snapshots/whitequark/defined.txt
+++ b/test/yarp/snapshots/whitequark/defined.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(5,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(5,13))
└── body: (length: 3)
- ├── @ DefinedNode (location: (0...13))
+ ├── @ DefinedNode (location: (1,0)-(1,13))
│ ├── lparen_loc: ∅
│ ├── value:
- │ │ @ InstanceVariableReadNode (location: (9...13))
+ │ │ @ InstanceVariableReadNode (location: (1,9)-(1,13))
│ │ └── name: :@foo
│ ├── rparen_loc: ∅
- │ └── keyword_loc: (0...8) = "defined?"
- ├── @ DefinedNode (location: (15...27))
+ │ └── keyword_loc: (1,0)-(1,8) = "defined?"
+ ├── @ DefinedNode (location: (3,0)-(3,12))
│ ├── lparen_loc: ∅
│ ├── value:
- │ │ @ CallNode (location: (24...27))
+ │ │ @ CallNode (location: (3,9)-(3,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (24...27) = "foo"
+ │ │ ├── message_loc: (3,9)-(3,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -24,19 +24,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── rparen_loc: ∅
- │ └── keyword_loc: (15...23) = "defined?"
- └── @ DefinedNode (location: (29...42))
- ├── lparen_loc: (37...38) = "("
+ │ └── keyword_loc: (3,0)-(3,8) = "defined?"
+ └── @ DefinedNode (location: (5,0)-(5,13))
+ ├── lparen_loc: (5,8)-(5,9) = "("
├── value:
- │ @ CallNode (location: (38...41))
+ │ @ CallNode (location: (5,9)-(5,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (38...41) = "foo"
+ │ ├── message_loc: (5,9)-(5,12) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── rparen_loc: (41...42) = ")"
- └── keyword_loc: (29...37) = "defined?"
+ ├── rparen_loc: (5,12)-(5,13) = ")"
+ └── keyword_loc: (5,0)-(5,8) = "defined?"
diff --git a/test/yarp/snapshots/whitequark/defs.txt b/test/yarp/snapshots/whitequark/defs.txt
index 9432471f3b..bdb96e83b0 100644
--- a/test/yarp/snapshots/whitequark/defs.txt
+++ b/test/yarp/snapshots/whitequark/defs.txt
@@ -1,90 +1,90 @@
-@ ProgramNode (location: (0...100))
+@ ProgramNode (location: (1,0)-(9,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...100))
+ @ StatementsNode (location: (1,0)-(9,18))
└── body: (length: 5)
- ├── @ DefNode (location: (0...18))
+ ├── @ DefNode (location: (1,0)-(1,18))
│ ├── name: :foo
- │ ├── name_loc: (10...13) = "foo"
+ │ ├── name_loc: (1,10)-(1,13) = "foo"
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (4...9))
+ │ │ @ ParenthesesNode (location: (1,4)-(1,9))
│ │ ├── body:
- │ │ │ @ CallNode (location: (5...8))
+ │ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (5...8) = "foo"
+ │ │ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
- │ │ ├── opening_loc: (4...5) = "("
- │ │ └── closing_loc: (8...9) = ")"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,8)-(1,9) = ")"
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
- │ ├── operator_loc: (9...10) = "."
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
+ │ ├── operator_loc: (1,9)-(1,10) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (15...18) = "end"
- ├── @ DefNode (location: (20...39))
+ │ └── end_keyword_loc: (1,15)-(1,18) = "end"
+ ├── @ DefNode (location: (3,0)-(3,19))
│ ├── name: :foo
- │ ├── name_loc: (31...34) = "foo"
+ │ ├── name_loc: (3,11)-(3,14) = "foo"
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (24...30))
+ │ │ @ ConstantReadNode (location: (3,4)-(3,10))
│ │ └── name: :String
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (20...23) = "def"
- │ ├── operator_loc: (30...31) = "."
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
+ │ ├── operator_loc: (3,10)-(3,11) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (36...39) = "end"
- ├── @ DefNode (location: (41...61))
+ │ └── end_keyword_loc: (3,16)-(3,19) = "end"
+ ├── @ DefNode (location: (5,0)-(5,20))
│ ├── name: :foo
- │ ├── name_loc: (53...56) = "foo"
+ │ ├── name_loc: (5,12)-(5,15) = "foo"
│ ├── receiver:
- │ │ @ ConstantReadNode (location: (45...51))
+ │ │ @ ConstantReadNode (location: (5,4)-(5,10))
│ │ └── name: :String
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (41...44) = "def"
- │ ├── operator_loc: (51...53) = "::"
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
+ │ ├── operator_loc: (5,10)-(5,12) = "::"
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (58...61) = "end"
- ├── @ DefNode (location: (63...80))
+ │ └── end_keyword_loc: (5,17)-(5,20) = "end"
+ ├── @ DefNode (location: (7,0)-(7,17))
│ ├── name: :foo
- │ ├── name_loc: (72...75) = "foo"
+ │ ├── name_loc: (7,9)-(7,12) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (67...71))
+ │ │ @ SelfNode (location: (7,4)-(7,8))
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (63...66) = "def"
- │ ├── operator_loc: (71...72) = "."
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
+ │ ├── operator_loc: (7,8)-(7,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (77...80) = "end"
- └── @ DefNode (location: (82...100))
+ │ └── end_keyword_loc: (7,14)-(7,17) = "end"
+ └── @ DefNode (location: (9,0)-(9,18))
├── name: :foo
- ├── name_loc: (92...95) = "foo"
+ ├── name_loc: (9,10)-(9,13) = "foo"
├── receiver:
- │ @ SelfNode (location: (86...90))
+ │ @ SelfNode (location: (9,4)-(9,8))
├── parameters: ∅
├── body: ∅
├── locals: []
- ├── def_keyword_loc: (82...85) = "def"
- ├── operator_loc: (90...92) = "::"
+ ├── def_keyword_loc: (9,0)-(9,3) = "def"
+ ├── operator_loc: (9,8)-(9,10) = "::"
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (97...100) = "end"
+ └── end_keyword_loc: (9,15)-(9,18) = "end"
diff --git a/test/yarp/snapshots/whitequark/empty_stmt.txt b/test/yarp/snapshots/whitequark/empty_stmt.txt
index 81b8a103ea..870bdb6ad5 100644
--- a/test/yarp/snapshots/whitequark/empty_stmt.txt
+++ b/test/yarp/snapshots/whitequark/empty_stmt.txt
@@ -1,5 +1,5 @@
-@ ProgramNode (location: (0...0))
+@ ProgramNode (location: (1,0)-(0,0))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...0))
+ @ StatementsNode (location: (1,0)-(0,0))
└── body: (length: 0)
diff --git a/test/yarp/snapshots/whitequark/endless_comparison_method.txt b/test/yarp/snapshots/whitequark/endless_comparison_method.txt
index c294b16f25..ee65681c02 100644
--- a/test/yarp/snapshots/whitequark/endless_comparison_method.txt
+++ b/test/yarp/snapshots/whitequark/endless_comparison_method.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...179))
+@ ProgramNode (location: (1,0)-(11,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...179))
+ @ StatementsNode (location: (1,0)-(11,28))
└── body: (length: 6)
- ├── @ DefNode (location: (0...28))
+ ├── @ DefNode (location: (1,0)-(1,28))
│ ├── name: :!=
- │ ├── name_loc: (4...6) = "!="
+ │ ├── name_loc: (1,4)-(1,6) = "!="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (7...12))
+ │ │ @ ParametersNode (location: (1,7)-(1,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (7...12))
+ │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,12))
│ │ │ └── name: :other
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -19,12 +19,12 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (16...28))
+ │ │ @ StatementsNode (location: (1,16)-(1,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...28))
+ │ │ └── @ CallNode (location: (1,16)-(1,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...28) = "do_something"
+ │ │ ├── message_loc: (1,16)-(1,28) = "do_something"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -32,20 +32,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "do_something"
│ ├── locals: [:other]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (6...7) = "("
- │ ├── rparen_loc: (12...13) = ")"
- │ ├── equal_loc: (14...15) = "="
+ │ ├── lparen_loc: (1,6)-(1,7) = "("
+ │ ├── rparen_loc: (1,12)-(1,13) = ")"
+ │ ├── equal_loc: (1,14)-(1,15) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (30...58))
+ ├── @ DefNode (location: (3,0)-(3,28))
│ ├── name: :!=
- │ ├── name_loc: (34...36) = "!="
+ │ ├── name_loc: (3,4)-(3,6) = "!="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (37...42))
+ │ │ @ ParametersNode (location: (3,7)-(3,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (37...42))
+ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,12))
│ │ │ └── name: :other
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -54,12 +54,12 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (46...58))
+ │ │ @ StatementsNode (location: (3,16)-(3,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (46...58))
+ │ │ └── @ CallNode (location: (3,16)-(3,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (46...58) = "do_something"
+ │ │ ├── message_loc: (3,16)-(3,28) = "do_something"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -67,20 +67,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "do_something"
│ ├── locals: [:other]
- │ ├── def_keyword_loc: (30...33) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (36...37) = "("
- │ ├── rparen_loc: (42...43) = ")"
- │ ├── equal_loc: (44...45) = "="
+ │ ├── lparen_loc: (3,6)-(3,7) = "("
+ │ ├── rparen_loc: (3,12)-(3,13) = ")"
+ │ ├── equal_loc: (3,14)-(3,15) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (60...88))
+ ├── @ DefNode (location: (5,0)-(5,28))
│ ├── name: :<=
- │ ├── name_loc: (64...66) = "<="
+ │ ├── name_loc: (5,4)-(5,6) = "<="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (67...72))
+ │ │ @ ParametersNode (location: (5,7)-(5,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (67...72))
+ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,12))
│ │ │ └── name: :other
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -89,12 +89,12 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (76...88))
+ │ │ @ StatementsNode (location: (5,16)-(5,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (76...88))
+ │ │ └── @ CallNode (location: (5,16)-(5,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (76...88) = "do_something"
+ │ │ ├── message_loc: (5,16)-(5,28) = "do_something"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -102,20 +102,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "do_something"
│ ├── locals: [:other]
- │ ├── def_keyword_loc: (60...63) = "def"
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (66...67) = "("
- │ ├── rparen_loc: (72...73) = ")"
- │ ├── equal_loc: (74...75) = "="
+ │ ├── lparen_loc: (5,6)-(5,7) = "("
+ │ ├── rparen_loc: (5,12)-(5,13) = ")"
+ │ ├── equal_loc: (5,14)-(5,15) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (90...118))
+ ├── @ DefNode (location: (7,0)-(7,28))
│ ├── name: :==
- │ ├── name_loc: (94...96) = "=="
+ │ ├── name_loc: (7,4)-(7,6) = "=="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (97...102))
+ │ │ @ ParametersNode (location: (7,7)-(7,12))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (97...102))
+ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,12))
│ │ │ └── name: :other
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -124,12 +124,12 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (106...118))
+ │ │ @ StatementsNode (location: (7,16)-(7,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (106...118))
+ │ │ └── @ CallNode (location: (7,16)-(7,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (106...118) = "do_something"
+ │ │ ├── message_loc: (7,16)-(7,28) = "do_something"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -137,20 +137,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "do_something"
│ ├── locals: [:other]
- │ ├── def_keyword_loc: (90...93) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (96...97) = "("
- │ ├── rparen_loc: (102...103) = ")"
- │ ├── equal_loc: (104...105) = "="
+ │ ├── lparen_loc: (7,6)-(7,7) = "("
+ │ ├── rparen_loc: (7,12)-(7,13) = ")"
+ │ ├── equal_loc: (7,14)-(7,15) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (120...149))
+ ├── @ DefNode (location: (9,0)-(9,29))
│ ├── name: :===
- │ ├── name_loc: (124...127) = "==="
+ │ ├── name_loc: (9,4)-(9,7) = "==="
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (128...133))
+ │ │ @ ParametersNode (location: (9,8)-(9,13))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (128...133))
+ │ │ │ └── @ RequiredParameterNode (location: (9,8)-(9,13))
│ │ │ └── name: :other
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -159,12 +159,12 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (137...149))
+ │ │ @ StatementsNode (location: (9,17)-(9,29))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (137...149))
+ │ │ └── @ CallNode (location: (9,17)-(9,29))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (137...149) = "do_something"
+ │ │ ├── message_loc: (9,17)-(9,29) = "do_something"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -172,20 +172,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "do_something"
│ ├── locals: [:other]
- │ ├── def_keyword_loc: (120...123) = "def"
+ │ ├── def_keyword_loc: (9,0)-(9,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (127...128) = "("
- │ ├── rparen_loc: (133...134) = ")"
- │ ├── equal_loc: (135...136) = "="
+ │ ├── lparen_loc: (9,7)-(9,8) = "("
+ │ ├── rparen_loc: (9,13)-(9,14) = ")"
+ │ ├── equal_loc: (9,15)-(9,16) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (151...179))
+ └── @ DefNode (location: (11,0)-(11,28))
├── name: :>=
- ├── name_loc: (155...157) = ">="
+ ├── name_loc: (11,4)-(11,6) = ">="
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (158...163))
+ │ @ ParametersNode (location: (11,7)-(11,12))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (158...163))
+ │ │ └── @ RequiredParameterNode (location: (11,7)-(11,12))
│ │ └── name: :other
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -194,12 +194,12 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (167...179))
+ │ @ StatementsNode (location: (11,16)-(11,28))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (167...179))
+ │ └── @ CallNode (location: (11,16)-(11,28))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (167...179) = "do_something"
+ │ ├── message_loc: (11,16)-(11,28) = "do_something"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -207,9 +207,9 @@
│ ├── flags: variable_call
│ └── name: "do_something"
├── locals: [:other]
- ├── def_keyword_loc: (151...154) = "def"
+ ├── def_keyword_loc: (11,0)-(11,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (157...158) = "("
- ├── rparen_loc: (163...164) = ")"
- ├── equal_loc: (165...166) = "="
+ ├── lparen_loc: (11,6)-(11,7) = "("
+ ├── rparen_loc: (11,12)-(11,13) = ")"
+ ├── equal_loc: (11,14)-(11,15) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/endless_method.txt b/test/yarp/snapshots/whitequark/endless_method.txt
index 904989742b..4d1d01bde0 100644
--- a/test/yarp/snapshots/whitequark/endless_method.txt
+++ b/test/yarp/snapshots/whitequark/endless_method.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...78))
+@ ProgramNode (location: (1,0)-(7,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...78))
+ @ StatementsNode (location: (1,0)-(7,22))
└── body: (length: 4)
- ├── @ DefNode (location: (0...14))
+ ├── @ DefNode (location: (1,0)-(1,14))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (12...14))
+ │ │ @ StatementsNode (location: (1,12)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (12...14))
+ │ │ └── @ IntegerNode (location: (1,12)-(1,14))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (8...9) = ")"
- │ ├── equal_loc: (10...11) = "="
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,8)-(1,9) = ")"
+ │ ├── equal_loc: (1,10)-(1,11) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (16...34))
+ ├── @ DefNode (location: (3,0)-(3,18))
│ ├── name: :inc
- │ ├── name_loc: (20...23) = "inc"
+ │ ├── name_loc: (3,4)-(3,7) = "inc"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (24...25))
+ │ │ @ ParametersNode (location: (3,8)-(3,9))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (24...25))
+ │ │ │ └── @ RequiredParameterNode (location: (3,8)-(3,9))
│ │ │ └── name: :x
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -36,40 +36,40 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (29...34))
+ │ │ @ StatementsNode (location: (3,13)-(3,18))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (29...34))
+ │ │ └── @ CallNode (location: (3,13)-(3,18))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (29...30))
+ │ │ │ @ LocalVariableReadNode (location: (3,13)-(3,14))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...32) = "+"
+ │ │ ├── message_loc: (3,15)-(3,16) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (33...34))
+ │ │ │ @ ArgumentsNode (location: (3,17)-(3,18))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (33...34))
+ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
│ ├── locals: [:x]
- │ ├── def_keyword_loc: (16...19) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (23...24) = "("
- │ ├── rparen_loc: (25...26) = ")"
- │ ├── equal_loc: (27...28) = "="
+ │ ├── lparen_loc: (3,7)-(3,8) = "("
+ │ ├── rparen_loc: (3,9)-(3,10) = ")"
+ │ ├── equal_loc: (3,11)-(3,12) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (36...54))
+ ├── @ DefNode (location: (5,0)-(5,18))
│ ├── name: :foo
- │ ├── name_loc: (44...47) = "foo"
+ │ ├── name_loc: (5,8)-(5,11) = "foo"
│ ├── receiver:
- │ │ @ CallNode (location: (40...43))
+ │ │ @ CallNode (location: (5,4)-(5,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (40...43) = "obj"
+ │ │ ├── message_loc: (5,4)-(5,7) = "obj"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -78,25 +78,25 @@
│ │ └── name: "obj"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (52...54))
+ │ │ @ StatementsNode (location: (5,16)-(5,18))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (52...54))
+ │ │ └── @ IntegerNode (location: (5,16)-(5,18))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (36...39) = "def"
- │ ├── operator_loc: (43...44) = "."
- │ ├── lparen_loc: (47...48) = "("
- │ ├── rparen_loc: (48...49) = ")"
- │ ├── equal_loc: (50...51) = "="
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
+ │ ├── operator_loc: (5,7)-(5,8) = "."
+ │ ├── lparen_loc: (5,11)-(5,12) = "("
+ │ ├── rparen_loc: (5,12)-(5,13) = ")"
+ │ ├── equal_loc: (5,14)-(5,15) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (56...78))
+ └── @ DefNode (location: (7,0)-(7,22))
├── name: :inc
- ├── name_loc: (64...67) = "inc"
+ ├── name_loc: (7,8)-(7,11) = "inc"
├── receiver:
- │ @ CallNode (location: (60...63))
+ │ @ CallNode (location: (7,4)-(7,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...63) = "obj"
+ │ ├── message_loc: (7,4)-(7,7) = "obj"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -104,9 +104,9 @@
│ ├── flags: variable_call
│ └── name: "obj"
├── parameters:
- │ @ ParametersNode (location: (68...69))
+ │ @ ParametersNode (location: (7,12)-(7,13))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (68...69))
+ │ │ └── @ RequiredParameterNode (location: (7,12)-(7,13))
│ │ └── name: :x
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -115,29 +115,29 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (73...78))
+ │ @ StatementsNode (location: (7,17)-(7,22))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (73...78))
+ │ └── @ CallNode (location: (7,17)-(7,22))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (73...74))
+ │ │ @ LocalVariableReadNode (location: (7,17)-(7,18))
│ │ ├── name: :x
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (75...76) = "+"
+ │ ├── message_loc: (7,19)-(7,20) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (77...78))
+ │ │ @ ArgumentsNode (location: (7,21)-(7,22))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (77...78))
+ │ │ └── @ IntegerNode (location: (7,21)-(7,22))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
├── locals: [:x]
- ├── def_keyword_loc: (56...59) = "def"
- ├── operator_loc: (63...64) = "."
- ├── lparen_loc: (67...68) = "("
- ├── rparen_loc: (69...70) = ")"
- ├── equal_loc: (71...72) = "="
+ ├── def_keyword_loc: (7,0)-(7,3) = "def"
+ ├── operator_loc: (7,7)-(7,8) = "."
+ ├── lparen_loc: (7,11)-(7,12) = "("
+ ├── rparen_loc: (7,13)-(7,14) = ")"
+ ├── equal_loc: (7,15)-(7,16) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/endless_method_command_syntax.txt b/test/yarp/snapshots/whitequark/endless_method_command_syntax.txt
index 065cd704a9..0943a1edf3 100644
--- a/test/yarp/snapshots/whitequark/endless_method_command_syntax.txt
+++ b/test/yarp/snapshots/whitequark/endless_method_command_syntax.txt
@@ -1,82 +1,82 @@
-@ ProgramNode (location: (0...278))
+@ ProgramNode (location: (1,0)-(15,62))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...278))
+ @ StatementsNode (location: (1,0)-(15,62))
└── body: (length: 8)
- ├── @ DefNode (location: (0...22))
+ ├── @ DefNode (location: (1,0)-(1,22))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...22))
+ │ │ @ StatementsNode (location: (1,10)-(1,22))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (10...22))
+ │ │ └── @ CallNode (location: (1,10)-(1,22))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...14) = "puts"
+ │ │ ├── message_loc: (1,10)-(1,14) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (15...22))
+ │ │ │ @ ArgumentsNode (location: (1,15)-(1,22))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (15...22))
+ │ │ │ └── @ StringNode (location: (1,15)-(1,22))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (15...16) = "\""
- │ │ │ ├── content_loc: (16...21) = "Hello"
- │ │ │ ├── closing_loc: (21...22) = "\""
+ │ │ │ ├── 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: ∅
│ │ └── name: "puts"
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (8...9) = "="
+ │ ├── equal_loc: (1,8)-(1,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (24...48))
+ ├── @ DefNode (location: (3,0)-(3,24))
│ ├── name: :foo
- │ ├── name_loc: (28...31) = "foo"
+ │ ├── name_loc: (3,4)-(3,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (36...48))
+ │ │ @ StatementsNode (location: (3,12)-(3,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (36...48))
+ │ │ └── @ CallNode (location: (3,12)-(3,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (36...40) = "puts"
+ │ │ ├── message_loc: (3,12)-(3,16) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (41...48))
+ │ │ │ @ ArgumentsNode (location: (3,17)-(3,24))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (41...48))
+ │ │ │ └── @ StringNode (location: (3,17)-(3,24))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (41...42) = "\""
- │ │ │ ├── content_loc: (42...47) = "Hello"
- │ │ │ ├── closing_loc: (47...48) = "\""
+ │ │ │ ├── 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: ∅
│ │ └── name: "puts"
│ ├── locals: []
- │ ├── def_keyword_loc: (24...27) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (31...32) = "("
- │ ├── rparen_loc: (32...33) = ")"
- │ ├── equal_loc: (34...35) = "="
+ │ ├── lparen_loc: (3,7)-(3,8) = "("
+ │ ├── rparen_loc: (3,8)-(3,9) = ")"
+ │ ├── equal_loc: (3,10)-(3,11) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (50...69))
+ ├── @ DefNode (location: (5,0)-(5,19))
│ ├── name: :foo
- │ ├── name_loc: (54...57) = "foo"
+ │ ├── name_loc: (5,4)-(5,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (58...59))
+ │ │ @ ParametersNode (location: (5,8)-(5,9))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (58...59))
+ │ │ │ └── @ RequiredParameterNode (location: (5,8)-(5,9))
│ │ │ └── name: :x
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -85,17 +85,17 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (63...69))
+ │ │ @ StatementsNode (location: (5,13)-(5,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (63...69))
+ │ │ └── @ CallNode (location: (5,13)-(5,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (63...67) = "puts"
+ │ │ ├── message_loc: (5,13)-(5,17) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (68...69))
+ │ │ │ @ ArgumentsNode (location: (5,18)-(5,19))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (68...69))
+ │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
@@ -103,20 +103,20 @@
│ │ ├── flags: ∅
│ │ └── name: "puts"
│ ├── locals: [:x]
- │ ├── def_keyword_loc: (50...53) = "def"
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (57...58) = "("
- │ ├── rparen_loc: (59...60) = ")"
- │ ├── equal_loc: (61...62) = "="
+ │ ├── lparen_loc: (5,7)-(5,8) = "("
+ │ ├── rparen_loc: (5,9)-(5,10) = ")"
+ │ ├── equal_loc: (5,11)-(5,12) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (71...97))
+ ├── @ DefNode (location: (7,0)-(7,26))
│ ├── name: :foo
- │ ├── name_loc: (79...82) = "foo"
+ │ ├── name_loc: (7,8)-(7,11) = "foo"
│ ├── receiver:
- │ │ @ CallNode (location: (75...78))
+ │ │ @ CallNode (location: (7,4)-(7,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (75...78) = "obj"
+ │ │ ├── message_loc: (7,4)-(7,7) = "obj"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -125,41 +125,41 @@
│ │ └── name: "obj"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (85...97))
+ │ │ @ StatementsNode (location: (7,14)-(7,26))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (85...97))
+ │ │ └── @ CallNode (location: (7,14)-(7,26))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (85...89) = "puts"
+ │ │ ├── message_loc: (7,14)-(7,18) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (90...97))
+ │ │ │ @ ArgumentsNode (location: (7,19)-(7,26))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (90...97))
+ │ │ │ └── @ StringNode (location: (7,19)-(7,26))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (90...91) = "\""
- │ │ │ ├── content_loc: (91...96) = "Hello"
- │ │ │ ├── closing_loc: (96...97) = "\""
+ │ │ │ ├── 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: ∅
│ │ └── name: "puts"
│ ├── locals: []
- │ ├── def_keyword_loc: (71...74) = "def"
- │ ├── operator_loc: (78...79) = "."
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
+ │ ├── operator_loc: (7,7)-(7,8) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (83...84) = "="
+ │ ├── equal_loc: (7,12)-(7,13) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (99...127))
+ ├── @ DefNode (location: (9,0)-(9,28))
│ ├── name: :foo
- │ ├── name_loc: (107...110) = "foo"
+ │ ├── name_loc: (9,8)-(9,11) = "foo"
│ ├── receiver:
- │ │ @ CallNode (location: (103...106))
+ │ │ @ CallNode (location: (9,4)-(9,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (103...106) = "obj"
+ │ │ ├── message_loc: (9,4)-(9,7) = "obj"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -168,41 +168,41 @@
│ │ └── name: "obj"
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (115...127))
+ │ │ @ StatementsNode (location: (9,16)-(9,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (115...127))
+ │ │ └── @ CallNode (location: (9,16)-(9,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (115...119) = "puts"
+ │ │ ├── message_loc: (9,16)-(9,20) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (120...127))
+ │ │ │ @ ArgumentsNode (location: (9,21)-(9,28))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (120...127))
+ │ │ │ └── @ StringNode (location: (9,21)-(9,28))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (120...121) = "\""
- │ │ │ ├── content_loc: (121...126) = "Hello"
- │ │ │ ├── closing_loc: (126...127) = "\""
+ │ │ │ ├── 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: ∅
│ │ └── name: "puts"
│ ├── locals: []
- │ ├── def_keyword_loc: (99...102) = "def"
- │ ├── operator_loc: (106...107) = "."
- │ ├── lparen_loc: (110...111) = "("
- │ ├── rparen_loc: (111...112) = ")"
- │ ├── equal_loc: (113...114) = "="
+ │ ├── def_keyword_loc: (9,0)-(9,3) = "def"
+ │ ├── operator_loc: (9,7)-(9,8) = "."
+ │ ├── lparen_loc: (9,11)-(9,12) = "("
+ │ ├── rparen_loc: (9,12)-(9,13) = ")"
+ │ ├── equal_loc: (9,14)-(9,15) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (129...152))
+ ├── @ DefNode (location: (11,0)-(11,23))
│ ├── name: :foo
- │ ├── name_loc: (137...140) = "foo"
+ │ ├── name_loc: (11,8)-(11,11) = "foo"
│ ├── receiver:
- │ │ @ CallNode (location: (133...136))
+ │ │ @ CallNode (location: (11,4)-(11,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (133...136) = "obj"
+ │ │ ├── message_loc: (11,4)-(11,7) = "obj"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -210,9 +210,9 @@
│ │ ├── flags: variable_call
│ │ └── name: "obj"
│ ├── parameters:
- │ │ @ ParametersNode (location: (141...142))
+ │ │ @ ParametersNode (location: (11,12)-(11,13))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (141...142))
+ │ │ │ └── @ RequiredParameterNode (location: (11,12)-(11,13))
│ │ │ └── name: :x
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -221,17 +221,17 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (146...152))
+ │ │ @ StatementsNode (location: (11,17)-(11,23))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (146...152))
+ │ │ └── @ CallNode (location: (11,17)-(11,23))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (146...150) = "puts"
+ │ │ ├── message_loc: (11,17)-(11,21) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (151...152))
+ │ │ │ @ ArgumentsNode (location: (11,22)-(11,23))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (151...152))
+ │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23))
│ │ │ ├── name: :x
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
@@ -239,20 +239,20 @@
│ │ ├── flags: ∅
│ │ └── name: "puts"
│ ├── locals: [:x]
- │ ├── def_keyword_loc: (129...132) = "def"
- │ ├── operator_loc: (136...137) = "."
- │ ├── lparen_loc: (140...141) = "("
- │ ├── rparen_loc: (142...143) = ")"
- │ ├── equal_loc: (144...145) = "="
+ │ ├── def_keyword_loc: (11,0)-(11,3) = "def"
+ │ ├── operator_loc: (11,7)-(11,8) = "."
+ │ ├── lparen_loc: (11,11)-(11,12) = "("
+ │ ├── rparen_loc: (11,13)-(11,14) = ")"
+ │ ├── equal_loc: (11,15)-(11,16) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (154...214))
+ ├── @ DefNode (location: (13,0)-(13,60))
│ ├── name: :rescued
- │ ├── name_loc: (158...165) = "rescued"
+ │ ├── name_loc: (13,4)-(13,11) = "rescued"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (166...167))
+ │ │ @ ParametersNode (location: (13,12)-(13,13))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (166...167))
+ │ │ │ └── @ RequiredParameterNode (location: (13,12)-(13,13))
│ │ │ └── name: :x
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -261,65 +261,65 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (171...214))
+ │ │ @ StatementsNode (location: (13,17)-(13,60))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (171...214))
+ │ │ └── @ CallNode (location: (13,17)-(13,60))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (171...176) = "raise"
+ │ │ ├── message_loc: (13,17)-(13,22) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (177...214))
+ │ │ │ @ ArgumentsNode (location: (13,23)-(13,60))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (177...214))
+ │ │ │ └── @ RescueModifierNode (location: (13,23)-(13,60))
│ │ │ ├── expression:
- │ │ │ │ @ StringNode (location: (177...191))
+ │ │ │ │ @ StringNode (location: (13,23)-(13,37))
│ │ │ │ ├── flags: ∅
- │ │ │ │ ├── opening_loc: (177...178) = "\""
- │ │ │ │ ├── content_loc: (178...190) = "to be caught"
- │ │ │ │ ├── closing_loc: (190...191) = "\""
+ │ │ │ │ ├── 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"
- │ │ │ ├── keyword_loc: (192...198) = "rescue"
+ │ │ │ ├── keyword_loc: (13,38)-(13,44) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ InterpolatedStringNode (location: (199...214))
- │ │ │ ├── opening_loc: (199...200) = "\""
+ │ │ │ @ InterpolatedStringNode (location: (13,45)-(13,60))
+ │ │ │ ├── opening_loc: (13,45)-(13,46) = "\""
│ │ │ ├── parts: (length: 2)
- │ │ │ │ ├── @ StringNode (location: (200...209))
+ │ │ │ │ ├── @ StringNode (location: (13,46)-(13,55))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ ├── content_loc: (200...209) = "instance "
+ │ │ │ │ │ ├── content_loc: (13,46)-(13,55) = "instance "
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "instance "
- │ │ │ │ └── @ EmbeddedStatementsNode (location: (209...213))
- │ │ │ │ ├── opening_loc: (209...211) = "\#{"
+ │ │ │ │ └── @ EmbeddedStatementsNode (location: (13,55)-(13,59))
+ │ │ │ │ ├── opening_loc: (13,55)-(13,57) = "\#{"
│ │ │ │ ├── statements:
- │ │ │ │ │ @ StatementsNode (location: (211...212))
+ │ │ │ │ │ @ StatementsNode (location: (13,57)-(13,58))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (211...212))
+ │ │ │ │ │ └── @ LocalVariableReadNode (location: (13,57)-(13,58))
│ │ │ │ │ ├── name: :x
│ │ │ │ │ └── depth: 0
- │ │ │ │ └── closing_loc: (212...213) = "}"
- │ │ │ └── closing_loc: (213...214) = "\""
+ │ │ │ │ └── closing_loc: (13,58)-(13,59) = "}"
+ │ │ │ └── closing_loc: (13,59)-(13,60) = "\""
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
│ ├── locals: [:x]
- │ ├── def_keyword_loc: (154...157) = "def"
+ │ ├── def_keyword_loc: (13,0)-(13,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (165...166) = "("
- │ ├── rparen_loc: (167...168) = ")"
- │ ├── equal_loc: (169...170) = "="
+ │ ├── lparen_loc: (13,11)-(13,12) = "("
+ │ ├── rparen_loc: (13,13)-(13,14) = ")"
+ │ ├── equal_loc: (13,15)-(13,16) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (216...278))
+ └── @ DefNode (location: (15,0)-(15,62))
├── name: :rescued
- ├── name_loc: (225...232) = "rescued"
+ ├── name_loc: (15,9)-(15,16) = "rescued"
├── receiver:
- │ @ SelfNode (location: (220...224))
+ │ @ SelfNode (location: (15,4)-(15,8))
├── parameters:
- │ @ ParametersNode (location: (233...234))
+ │ @ ParametersNode (location: (15,17)-(15,18))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (233...234))
+ │ │ └── @ RequiredParameterNode (location: (15,17)-(15,18))
│ │ └── name: :x
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -328,53 +328,53 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (238...278))
+ │ @ StatementsNode (location: (15,22)-(15,62))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (238...278))
+ │ └── @ CallNode (location: (15,22)-(15,62))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (238...243) = "raise"
+ │ ├── message_loc: (15,22)-(15,27) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (244...278))
+ │ │ @ ArgumentsNode (location: (15,28)-(15,62))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (244...278))
+ │ │ └── @ RescueModifierNode (location: (15,28)-(15,62))
│ │ ├── expression:
- │ │ │ @ StringNode (location: (244...258))
+ │ │ │ @ StringNode (location: (15,28)-(15,42))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (244...245) = "\""
- │ │ │ ├── content_loc: (245...257) = "to be caught"
- │ │ │ ├── closing_loc: (257...258) = "\""
+ │ │ │ ├── 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"
- │ │ ├── keyword_loc: (259...265) = "rescue"
+ │ │ ├── keyword_loc: (15,43)-(15,49) = "rescue"
│ │ └── rescue_expression:
- │ │ @ InterpolatedStringNode (location: (266...278))
- │ │ ├── opening_loc: (266...267) = "\""
+ │ │ @ InterpolatedStringNode (location: (15,50)-(15,62))
+ │ │ ├── opening_loc: (15,50)-(15,51) = "\""
│ │ ├── parts: (length: 2)
- │ │ │ ├── @ StringNode (location: (267...273))
+ │ │ │ ├── @ StringNode (location: (15,51)-(15,57))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── content_loc: (267...273) = "class "
+ │ │ │ │ ├── content_loc: (15,51)-(15,57) = "class "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "class "
- │ │ │ └── @ EmbeddedStatementsNode (location: (273...277))
- │ │ │ ├── opening_loc: (273...275) = "\#{"
+ │ │ │ └── @ EmbeddedStatementsNode (location: (15,57)-(15,61))
+ │ │ │ ├── opening_loc: (15,57)-(15,59) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (275...276))
+ │ │ │ │ @ StatementsNode (location: (15,59)-(15,60))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (275...276))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (15,59)-(15,60))
│ │ │ │ ├── name: :x
│ │ │ │ └── depth: 0
- │ │ │ └── closing_loc: (276...277) = "}"
- │ │ └── closing_loc: (277...278) = "\""
+ │ │ │ └── closing_loc: (15,60)-(15,61) = "}"
+ │ │ └── closing_loc: (15,61)-(15,62) = "\""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
├── locals: [:x]
- ├── def_keyword_loc: (216...219) = "def"
- ├── operator_loc: (224...225) = "."
- ├── lparen_loc: (232...233) = "("
- ├── rparen_loc: (234...235) = ")"
- ├── equal_loc: (236...237) = "="
+ ├── def_keyword_loc: (15,0)-(15,3) = "def"
+ ├── operator_loc: (15,8)-(15,9) = "."
+ ├── lparen_loc: (15,16)-(15,17) = "("
+ ├── rparen_loc: (15,18)-(15,19) = ")"
+ ├── equal_loc: (15,20)-(15,21) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/endless_method_forwarded_args_legacy.txt b/test/yarp/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
index 5e6f8314ed..ebdfd4c5cc 100644
--- a/test/yarp/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
+++ b/test/yarp/snapshots/whitequark/endless_method_forwarded_args_legacy.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(1,23))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...11))
+ │ @ ParametersNode (location: (1,8)-(1,11))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (8...11))
+ │ │ @ ForwardingParameterNode (location: (1,8)-(1,11))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (15...23))
+ │ @ StatementsNode (location: (1,15)-(1,23))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (15...23))
+ │ └── @ CallNode (location: (1,15)-(1,23))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (15...18) = "bar"
- │ ├── opening_loc: (18...19) = "("
+ │ ├── message_loc: (1,15)-(1,18) = "bar"
+ │ ├── opening_loc: (1,18)-(1,19) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (19...22))
+ │ │ @ ArgumentsNode (location: (1,19)-(1,22))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (19...22))
- │ ├── closing_loc: (22...23) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22))
+ │ ├── closing_loc: (1,22)-(1,23) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (11...12) = ")"
- ├── equal_loc: (13...14) = "="
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,11)-(1,12) = ")"
+ ├── equal_loc: (1,13)-(1,14) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/endless_method_with_rescue_mod.txt b/test/yarp/snapshots/whitequark/endless_method_with_rescue_mod.txt
index b070eaa092..8f8e770fa9 100644
--- a/test/yarp/snapshots/whitequark/endless_method_with_rescue_mod.txt
+++ b/test/yarp/snapshots/whitequark/endless_method_with_rescue_mod.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...47))
+@ ProgramNode (location: (1,0)-(3,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...47))
+ @ StatementsNode (location: (1,0)-(3,25))
└── body: (length: 2)
- ├── @ DefNode (location: (0...20))
+ ├── @ DefNode (location: (1,0)-(1,20))
│ ├── name: :m
- │ ├── name_loc: (4...5) = "m"
+ │ ├── name_loc: (1,4)-(1,5) = "m"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...20))
+ │ │ @ StatementsNode (location: (1,10)-(1,20))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (10...20))
+ │ │ └── @ RescueModifierNode (location: (1,10)-(1,20))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (10...11))
+ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ └── flags: decimal
- │ │ ├── keyword_loc: (12...18) = "rescue"
+ │ │ ├── keyword_loc: (1,12)-(1,18) = "rescue"
│ │ └── rescue_expression:
- │ │ @ IntegerNode (location: (19...20))
+ │ │ @ IntegerNode (location: (1,19)-(1,20))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (5...6) = "("
- │ ├── rparen_loc: (6...7) = ")"
- │ ├── equal_loc: (8...9) = "="
+ │ ├── lparen_loc: (1,5)-(1,6) = "("
+ │ ├── rparen_loc: (1,6)-(1,7) = ")"
+ │ ├── equal_loc: (1,8)-(1,9) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (22...47))
+ └── @ DefNode (location: (3,0)-(3,25))
├── name: :m
- ├── name_loc: (31...32) = "m"
+ ├── name_loc: (3,9)-(3,10) = "m"
├── receiver:
- │ @ SelfNode (location: (26...30))
+ │ @ SelfNode (location: (3,4)-(3,8))
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (37...47))
+ │ @ StatementsNode (location: (3,15)-(3,25))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (37...47))
+ │ └── @ RescueModifierNode (location: (3,15)-(3,25))
│ ├── expression:
- │ │ @ IntegerNode (location: (37...38))
+ │ │ @ IntegerNode (location: (3,15)-(3,16))
│ │ └── flags: decimal
- │ ├── keyword_loc: (39...45) = "rescue"
+ │ ├── keyword_loc: (3,17)-(3,23) = "rescue"
│ └── rescue_expression:
- │ @ IntegerNode (location: (46...47))
+ │ @ IntegerNode (location: (3,24)-(3,25))
│ └── flags: decimal
├── locals: []
- ├── def_keyword_loc: (22...25) = "def"
- ├── operator_loc: (30...31) = "."
- ├── lparen_loc: (32...33) = "("
- ├── rparen_loc: (33...34) = ")"
- ├── equal_loc: (35...36) = "="
+ ├── def_keyword_loc: (3,0)-(3,3) = "def"
+ ├── operator_loc: (3,8)-(3,9) = "."
+ ├── lparen_loc: (3,10)-(3,11) = "("
+ ├── rparen_loc: (3,11)-(3,12) = ")"
+ ├── equal_loc: (3,13)-(3,14) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/endless_method_without_args.txt b/test/yarp/snapshots/whitequark/endless_method_without_args.txt
index 1186e46c8a..b7db96171e 100644
--- a/test/yarp/snapshots/whitequark/endless_method_without_args.txt
+++ b/test/yarp/snapshots/whitequark/endless_method_without_args.txt
@@ -1,85 +1,85 @@
-@ ProgramNode (location: (0...86))
+@ ProgramNode (location: (1,0)-(7,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...86))
+ @ StatementsNode (location: (1,0)-(7,28))
└── body: (length: 4)
- ├── @ DefNode (location: (0...12))
+ ├── @ DefNode (location: (1,0)-(1,12))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (10...12))
+ │ │ @ StatementsNode (location: (1,10)-(1,12))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (10...12))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,12))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (8...9) = "="
+ │ ├── equal_loc: (1,8)-(1,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (14...37))
+ ├── @ DefNode (location: (3,0)-(3,23))
│ ├── name: :foo
- │ ├── name_loc: (18...21) = "foo"
+ │ ├── name_loc: (3,4)-(3,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (24...37))
+ │ │ @ StatementsNode (location: (3,10)-(3,23))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (24...37))
+ │ │ └── @ RescueModifierNode (location: (3,10)-(3,23))
│ │ ├── expression:
- │ │ │ @ IntegerNode (location: (24...26))
+ │ │ │ @ IntegerNode (location: (3,10)-(3,12))
│ │ │ └── flags: decimal
- │ │ ├── keyword_loc: (27...33) = "rescue"
+ │ │ ├── keyword_loc: (3,13)-(3,19) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (34...37))
+ │ │ @ NilNode (location: (3,20)-(3,23))
│ ├── locals: []
- │ ├── def_keyword_loc: (14...17) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (22...23) = "="
+ │ ├── equal_loc: (3,8)-(3,9) = "="
│ └── end_keyword_loc: ∅
- ├── @ DefNode (location: (39...56))
+ ├── @ DefNode (location: (5,0)-(5,17))
│ ├── name: :foo
- │ ├── name_loc: (48...51) = "foo"
+ │ ├── name_loc: (5,9)-(5,12) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (43...47))
+ │ │ @ SelfNode (location: (5,4)-(5,8))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (54...56))
+ │ │ @ StatementsNode (location: (5,15)-(5,17))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (54...56))
+ │ │ └── @ IntegerNode (location: (5,15)-(5,17))
│ │ └── flags: decimal
│ ├── locals: []
- │ ├── def_keyword_loc: (39...42) = "def"
- │ ├── operator_loc: (47...48) = "."
+ │ ├── def_keyword_loc: (5,0)-(5,3) = "def"
+ │ ├── operator_loc: (5,8)-(5,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── equal_loc: (52...53) = "="
+ │ ├── equal_loc: (5,13)-(5,14) = "="
│ └── end_keyword_loc: ∅
- └── @ DefNode (location: (58...86))
+ └── @ DefNode (location: (7,0)-(7,28))
├── name: :foo
- ├── name_loc: (67...70) = "foo"
+ ├── name_loc: (7,9)-(7,12) = "foo"
├── receiver:
- │ @ SelfNode (location: (62...66))
+ │ @ SelfNode (location: (7,4)-(7,8))
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (73...86))
+ │ @ StatementsNode (location: (7,15)-(7,28))
│ └── body: (length: 1)
- │ └── @ RescueModifierNode (location: (73...86))
+ │ └── @ RescueModifierNode (location: (7,15)-(7,28))
│ ├── expression:
- │ │ @ IntegerNode (location: (73...75))
+ │ │ @ IntegerNode (location: (7,15)-(7,17))
│ │ └── flags: decimal
- │ ├── keyword_loc: (76...82) = "rescue"
+ │ ├── keyword_loc: (7,18)-(7,24) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (83...86))
+ │ @ NilNode (location: (7,25)-(7,28))
├── locals: []
- ├── def_keyword_loc: (58...61) = "def"
- ├── operator_loc: (66...67) = "."
+ ├── def_keyword_loc: (7,0)-(7,3) = "def"
+ ├── operator_loc: (7,8)-(7,9) = "."
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── equal_loc: (71...72) = "="
+ ├── equal_loc: (7,13)-(7,14) = "="
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/ensure.txt b/test/yarp/snapshots/whitequark/ensure.txt
index 6912a3205c..a82ec2c148 100644
--- a/test/yarp/snapshots/whitequark/ensure.txt
+++ b/test/yarp/snapshots/whitequark/ensure.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ BeginNode (location: (0...29))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,29))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -21,20 +21,20 @@
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (13...29))
- │ ├── ensure_keyword_loc: (13...19) = "ensure"
+ │ @ EnsureNode (location: (1,13)-(1,29))
+ │ ├── ensure_keyword_loc: (1,13)-(1,19) = "ensure"
│ ├── statements:
- │ │ @ StatementsNode (location: (21...24))
+ │ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (21...24))
+ │ │ └── @ CallNode (location: (1,21)-(1,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "bar"
+ │ │ ├── message_loc: (1,21)-(1,24) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── end_keyword_loc: (26...29) = "end"
- └── end_keyword_loc: (26...29) = "end"
+ │ └── end_keyword_loc: (1,26)-(1,29) = "end"
+ └── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/yarp/snapshots/whitequark/ensure_empty.txt b/test/yarp/snapshots/whitequark/ensure_empty.txt
index 8a01f305dd..0bab5d80c3 100644
--- a/test/yarp/snapshots/whitequark/ensure_empty.txt
+++ b/test/yarp/snapshots/whitequark/ensure_empty.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ BeginNode (location: (0...16))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,16))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (6...16))
- │ ├── ensure_keyword_loc: (6...12) = "ensure"
+ │ @ EnsureNode (location: (1,6)-(1,16))
+ │ ├── ensure_keyword_loc: (1,6)-(1,12) = "ensure"
│ ├── statements: ∅
- │ └── end_keyword_loc: (13...16) = "end"
- └── end_keyword_loc: (13...16) = "end"
+ │ └── end_keyword_loc: (1,13)-(1,16) = "end"
+ └── end_keyword_loc: (1,13)-(1,16) = "end"
diff --git a/test/yarp/snapshots/whitequark/false.txt b/test/yarp/snapshots/whitequark/false.txt
index 71f241227e..00562f703a 100644
--- a/test/yarp/snapshots/whitequark/false.txt
+++ b/test/yarp/snapshots/whitequark/false.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ FalseNode (location: (0...5))
+ └── @ FalseNode (location: (1,0)-(1,5))
diff --git a/test/yarp/snapshots/whitequark/float.txt b/test/yarp/snapshots/whitequark/float.txt
index 60a1ea155d..14457fcff2 100644
--- a/test/yarp/snapshots/whitequark/float.txt
+++ b/test/yarp/snapshots/whitequark/float.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ FloatNode (location: (0...5))
- └── @ FloatNode (location: (7...11))
+ ├── @ FloatNode (location: (1,0)-(1,5))
+ └── @ FloatNode (location: (3,0)-(3,4))
diff --git a/test/yarp/snapshots/whitequark/for.txt b/test/yarp/snapshots/whitequark/for.txt
index 285dadd26d..19118c0c54 100644
--- a/test/yarp/snapshots/whitequark/for.txt
+++ b/test/yarp/snapshots/whitequark/for.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...48))
+@ ProgramNode (location: (1,0)-(3,22))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...48))
+ @ StatementsNode (location: (1,0)-(3,22))
└── body: (length: 2)
- ├── @ ForNode (location: (0...24))
+ ├── @ ForNode (location: (1,0)-(1,24))
│ ├── index:
- │ │ @ LocalVariableTargetNode (location: (4...5))
+ │ │ @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── collection:
- │ │ @ CallNode (location: (9...12))
+ │ │ @ CallNode (location: (1,9)-(1,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "foo"
+ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -20,37 +20,37 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (16...19))
+ │ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...19))
+ │ │ └── @ CallNode (location: (1,16)-(1,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...17) = "p"
+ │ │ ├── message_loc: (1,16)-(1,17) = "p"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (18...19))
+ │ │ │ @ ArgumentsNode (location: (1,18)-(1,19))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (18...19))
+ │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "p"
- │ ├── for_keyword_loc: (0...3) = "for"
- │ ├── in_keyword_loc: (6...8) = "in"
- │ ├── do_keyword_loc: (13...15) = "do"
- │ └── end_keyword_loc: (21...24) = "end"
- └── @ ForNode (location: (26...48))
+ │ ├── for_keyword_loc: (1,0)-(1,3) = "for"
+ │ ├── in_keyword_loc: (1,6)-(1,8) = "in"
+ │ ├── do_keyword_loc: (1,13)-(1,15) = "do"
+ │ └── end_keyword_loc: (1,21)-(1,24) = "end"
+ └── @ ForNode (location: (3,0)-(3,22))
├── index:
- │ @ LocalVariableTargetNode (location: (30...31))
+ │ @ LocalVariableTargetNode (location: (3,4)-(3,5))
│ ├── name: :a
│ └── depth: 0
├── collection:
- │ @ CallNode (location: (35...38))
+ │ @ CallNode (location: (3,9)-(3,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (35...38) = "foo"
+ │ ├── message_loc: (3,9)-(3,12) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -58,24 +58,24 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (40...43))
+ │ @ StatementsNode (location: (3,14)-(3,17))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (40...43))
+ │ └── @ CallNode (location: (3,14)-(3,17))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (40...41) = "p"
+ │ ├── message_loc: (3,14)-(3,15) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (42...43))
+ │ │ @ ArgumentsNode (location: (3,16)-(3,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (42...43))
+ │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── for_keyword_loc: (26...29) = "for"
- ├── in_keyword_loc: (32...34) = "in"
+ ├── for_keyword_loc: (3,0)-(3,3) = "for"
+ ├── in_keyword_loc: (3,6)-(3,8) = "in"
├── do_keyword_loc: ∅
- └── end_keyword_loc: (45...48) = "end"
+ └── end_keyword_loc: (3,19)-(3,22) = "end"
diff --git a/test/yarp/snapshots/whitequark/for_mlhs.txt b/test/yarp/snapshots/whitequark/for_mlhs.txt
index 94e8f1ae25..3fbca4d299 100644
--- a/test/yarp/snapshots/whitequark/for_mlhs.txt
+++ b/test/yarp/snapshots/whitequark/for_mlhs.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ ForNode (location: (0...28))
+ └── @ ForNode (location: (1,0)-(1,28))
├── index:
- │ @ MultiTargetNode (location: (4...8))
+ │ @ MultiTargetNode (location: (1,4)-(1,8))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (4...5))
+ │ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (7...8))
+ │ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ └── rparen_loc: ∅
├── collection:
- │ @ CallNode (location: (12...15))
+ │ @ CallNode (location: (1,12)-(1,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "foo"
+ │ ├── message_loc: (1,12)-(1,15) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -27,27 +27,27 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (17...23))
+ │ @ StatementsNode (location: (1,17)-(1,23))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (17...23))
+ │ └── @ CallNode (location: (1,17)-(1,23))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (17...18) = "p"
+ │ ├── message_loc: (1,17)-(1,18) = "p"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (19...23))
+ │ │ @ ArgumentsNode (location: (1,19)-(1,23))
│ │ └── arguments: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (19...20))
+ │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableReadNode (location: (22...23))
+ │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "p"
- ├── for_keyword_loc: (0...3) = "for"
- ├── in_keyword_loc: (9...11) = "in"
+ ├── for_keyword_loc: (1,0)-(1,3) = "for"
+ ├── in_keyword_loc: (1,9)-(1,11) = "in"
├── do_keyword_loc: ∅
- └── end_keyword_loc: (25...28) = "end"
+ └── end_keyword_loc: (1,25)-(1,28) = "end"
diff --git a/test/yarp/snapshots/whitequark/forward_arg.txt b/test/yarp/snapshots/whitequark/forward_arg.txt
index c695439378..37f836e372 100644
--- a/test/yarp/snapshots/whitequark/forward_arg.txt
+++ b/test/yarp/snapshots/whitequark/forward_arg.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(1,27))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
- └── @ DefNode (location: (0...27))
+ └── @ DefNode (location: (1,0)-(1,27))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...11))
+ │ @ ParametersNode (location: (1,8)-(1,11))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (8...11))
+ │ │ @ ForwardingParameterNode (location: (1,8)-(1,11))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (14...22))
+ │ @ StatementsNode (location: (1,14)-(1,22))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (14...22))
+ │ └── @ CallNode (location: (1,14)-(1,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (14...17) = "bar"
- │ ├── opening_loc: (17...18) = "("
+ │ ├── message_loc: (1,14)-(1,17) = "bar"
+ │ ├── opening_loc: (1,17)-(1,18) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (18...21))
+ │ │ @ ArgumentsNode (location: (1,18)-(1,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (18...21))
- │ ├── closing_loc: (21...22) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
+ │ ├── closing_loc: (1,21)-(1,22) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (11...12) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,11)-(1,12) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (24...27) = "end"
+ └── end_keyword_loc: (1,24)-(1,27) = "end"
diff --git a/test/yarp/snapshots/whitequark/forward_arg_with_open_args.txt b/test/yarp/snapshots/whitequark/forward_arg_with_open_args.txt
index 555d071d34..7c498718cf 100644
--- a/test/yarp/snapshots/whitequark/forward_arg_with_open_args.txt
+++ b/test/yarp/snapshots/whitequark/forward_arg_with_open_args.txt
@@ -1,386 +1,386 @@
-@ ProgramNode (location: (0...292))
+@ ProgramNode (location: (1,0)-(27,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...292))
+ @ StatementsNode (location: (1,0)-(27,28))
└── body: (length: 10)
- ├── @ ParenthesesNode (location: (0...28))
+ ├── @ ParenthesesNode (location: (1,0)-(3,4))
│ ├── body:
- │ │ @ StatementsNode (location: (1...27))
+ │ │ @ StatementsNode (location: (1,1)-(3,3))
│ │ └── body: (length: 1)
- │ │ └── @ DefNode (location: (1...27))
+ │ │ └── @ DefNode (location: (1,1)-(3,3))
│ │ ├── name: :foo
- │ │ ├── name_loc: (5...8) = "foo"
+ │ │ ├── name_loc: (1,5)-(1,8) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (9...12))
+ │ │ │ @ ParametersNode (location: (1,9)-(1,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ ForwardingParameterNode (location: (9...12))
+ │ │ │ │ @ ForwardingParameterNode (location: (1,9)-(1,12))
│ │ │ └── block: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (15...23))
+ │ │ │ @ StatementsNode (location: (2,2)-(2,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (15...23))
+ │ │ │ └── @ CallNode (location: (2,2)-(2,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (15...18) = "bar"
- │ │ │ ├── opening_loc: (18...19) = "("
+ │ │ │ ├── message_loc: (2,2)-(2,5) = "bar"
+ │ │ │ ├── opening_loc: (2,5)-(2,6) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (19...22))
+ │ │ │ │ @ ArgumentsNode (location: (2,6)-(2,9))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (19...22))
- │ │ │ ├── closing_loc: (22...23) = ")"
+ │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9))
+ │ │ │ ├── closing_loc: (2,9)-(2,10) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
│ │ ├── locals: [:"..."]
- │ │ ├── def_keyword_loc: (1...4) = "def"
+ │ │ ├── def_keyword_loc: (1,1)-(1,4) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (24...27) = "end"
- │ ├── opening_loc: (0...1) = "("
- │ └── closing_loc: (27...28) = ")"
- ├── @ ParenthesesNode (location: (30...58))
+ │ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ │ ├── opening_loc: (1,0)-(1,1) = "("
+ │ └── closing_loc: (3,3)-(3,4) = ")"
+ ├── @ ParenthesesNode (location: (5,0)-(5,28))
│ ├── body:
- │ │ @ StatementsNode (location: (31...57))
+ │ │ @ StatementsNode (location: (5,1)-(5,27))
│ │ └── body: (length: 1)
- │ │ └── @ DefNode (location: (31...57))
+ │ │ └── @ DefNode (location: (5,1)-(5,27))
│ │ ├── name: :foo
- │ │ ├── name_loc: (35...38) = "foo"
+ │ │ ├── name_loc: (5,5)-(5,8) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (39...42))
+ │ │ │ @ ParametersNode (location: (5,9)-(5,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ ForwardingParameterNode (location: (39...42))
+ │ │ │ │ @ ForwardingParameterNode (location: (5,9)-(5,12))
│ │ │ └── block: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (44...52))
+ │ │ │ @ StatementsNode (location: (5,14)-(5,22))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (44...52))
+ │ │ │ └── @ CallNode (location: (5,14)-(5,22))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (44...47) = "bar"
- │ │ │ ├── opening_loc: (47...48) = "("
+ │ │ │ ├── message_loc: (5,14)-(5,17) = "bar"
+ │ │ │ ├── opening_loc: (5,17)-(5,18) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (48...51))
+ │ │ │ │ @ ArgumentsNode (location: (5,18)-(5,21))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ ForwardingArgumentsNode (location: (48...51))
- │ │ │ ├── closing_loc: (51...52) = ")"
+ │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21))
+ │ │ │ ├── closing_loc: (5,21)-(5,22) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "bar"
│ │ ├── locals: [:"..."]
- │ │ ├── def_keyword_loc: (31...34) = "def"
+ │ │ ├── def_keyword_loc: (5,1)-(5,4) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (54...57) = "end"
- │ ├── opening_loc: (30...31) = "("
- │ └── closing_loc: (57...58) = ")"
- ├── @ DefNode (location: (60...75))
+ │ │ └── end_keyword_loc: (5,24)-(5,27) = "end"
+ │ ├── opening_loc: (5,0)-(5,1) = "("
+ │ └── closing_loc: (5,27)-(5,28) = ")"
+ ├── @ DefNode (location: (7,0)-(8,3))
│ ├── name: :foo
- │ ├── name_loc: (64...67) = "foo"
+ │ ├── name_loc: (7,4)-(7,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (68...71))
+ │ │ @ ParametersNode (location: (7,8)-(7,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (68...71))
+ │ │ │ @ ForwardingParameterNode (location: (7,8)-(7,11))
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (60...63) = "def"
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (72...75) = "end"
- ├── @ DefNode (location: (77...103))
+ │ └── end_keyword_loc: (8,0)-(8,3) = "end"
+ ├── @ DefNode (location: (10,0)-(10,26))
│ ├── name: :foo
- │ ├── name_loc: (81...84) = "foo"
+ │ ├── name_loc: (10,4)-(10,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (85...88))
+ │ │ @ ParametersNode (location: (10,8)-(10,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (85...88))
+ │ │ │ @ ForwardingParameterNode (location: (10,8)-(10,11))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (90...98))
+ │ │ @ StatementsNode (location: (10,13)-(10,21))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (90...98))
+ │ │ └── @ CallNode (location: (10,13)-(10,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (90...93) = "bar"
- │ │ ├── opening_loc: (93...94) = "("
+ │ │ ├── message_loc: (10,13)-(10,16) = "bar"
+ │ │ ├── opening_loc: (10,16)-(10,17) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (94...97))
+ │ │ │ @ ArgumentsNode (location: (10,17)-(10,20))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (94...97))
- │ │ ├── closing_loc: (97...98) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20))
+ │ │ ├── closing_loc: (10,20)-(10,21) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (77...80) = "def"
+ │ ├── def_keyword_loc: (10,0)-(10,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (100...103) = "end"
- ├── @ DefNode (location: (105...134))
+ │ └── end_keyword_loc: (10,23)-(10,26) = "end"
+ ├── @ DefNode (location: (12,0)-(14,3))
│ ├── name: :foo
- │ ├── name_loc: (109...112) = "foo"
+ │ ├── name_loc: (12,4)-(12,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (113...119))
+ │ │ @ ParametersNode (location: (12,8)-(12,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (113...114))
+ │ │ │ └── @ RequiredParameterNode (location: (12,8)-(12,9))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (116...119))
+ │ │ │ @ ForwardingParameterNode (location: (12,11)-(12,14))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (122...130))
+ │ │ @ StatementsNode (location: (13,2)-(13,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (122...130))
+ │ │ └── @ CallNode (location: (13,2)-(13,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (122...125) = "bar"
- │ │ ├── opening_loc: (125...126) = "("
+ │ │ ├── message_loc: (13,2)-(13,5) = "bar"
+ │ │ ├── opening_loc: (13,5)-(13,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (126...129))
+ │ │ │ @ ArgumentsNode (location: (13,6)-(13,9))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (126...129))
- │ │ ├── closing_loc: (129...130) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9))
+ │ │ ├── closing_loc: (13,9)-(13,10) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:a, :"..."]
- │ ├── def_keyword_loc: (105...108) = "def"
+ │ ├── def_keyword_loc: (12,0)-(12,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (131...134) = "end"
- ├── @ DefNode (location: (136...165))
+ │ └── end_keyword_loc: (14,0)-(14,3) = "end"
+ ├── @ DefNode (location: (16,0)-(16,29))
│ ├── name: :foo
- │ ├── name_loc: (140...143) = "foo"
+ │ ├── name_loc: (16,4)-(16,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (144...150))
+ │ │ @ ParametersNode (location: (16,8)-(16,14))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (144...145))
+ │ │ │ └── @ RequiredParameterNode (location: (16,8)-(16,9))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (147...150))
+ │ │ │ @ ForwardingParameterNode (location: (16,11)-(16,14))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (152...160))
+ │ │ @ StatementsNode (location: (16,16)-(16,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (152...160))
+ │ │ └── @ CallNode (location: (16,16)-(16,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (152...155) = "bar"
- │ │ ├── opening_loc: (155...156) = "("
+ │ │ ├── message_loc: (16,16)-(16,19) = "bar"
+ │ │ ├── opening_loc: (16,19)-(16,20) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (156...159))
+ │ │ │ @ ArgumentsNode (location: (16,20)-(16,23))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (156...159))
- │ │ ├── closing_loc: (159...160) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23))
+ │ │ ├── closing_loc: (16,23)-(16,24) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:a, :"..."]
- │ ├── def_keyword_loc: (136...139) = "def"
+ │ ├── def_keyword_loc: (16,0)-(16,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (162...165) = "end"
- ├── @ DefNode (location: (167...192))
+ │ └── end_keyword_loc: (16,26)-(16,29) = "end"
+ ├── @ DefNode (location: (18,0)-(19,3))
│ ├── name: :foo
- │ ├── name_loc: (171...174) = "foo"
+ │ ├── name_loc: (18,4)-(18,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (175...188))
+ │ │ @ ParametersNode (location: (18,8)-(18,21))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (175...176))
+ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (178...183))
+ │ │ │ └── @ OptionalParameterNode (location: (18,11)-(18,16))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (178...179) = "b"
- │ │ │ ├── operator_loc: (180...181) = "="
+ │ │ │ ├── name_loc: (18,11)-(18,12) = "b"
+ │ │ │ ├── operator_loc: (18,13)-(18,14) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (182...183))
+ │ │ │ @ IntegerNode (location: (18,15)-(18,16))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (185...188))
+ │ │ │ @ ForwardingParameterNode (location: (18,18)-(18,21))
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:a, :b, :"..."]
- │ ├── def_keyword_loc: (167...170) = "def"
+ │ ├── def_keyword_loc: (18,0)-(18,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (189...192) = "end"
- ├── @ DefNode (location: (194...227))
+ │ └── end_keyword_loc: (19,0)-(19,3) = "end"
+ ├── @ DefNode (location: (21,0)-(23,3))
│ ├── name: :foo
- │ ├── name_loc: (198...201) = "foo"
+ │ ├── name_loc: (21,4)-(21,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (202...212))
+ │ │ @ ParametersNode (location: (21,8)-(21,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (202...207))
+ │ │ │ └── @ OptionalParameterNode (location: (21,8)-(21,13))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (202...203) = "b"
- │ │ │ ├── operator_loc: (204...205) = "="
+ │ │ │ ├── name_loc: (21,8)-(21,9) = "b"
+ │ │ │ ├── operator_loc: (21,10)-(21,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (206...207))
+ │ │ │ @ IntegerNode (location: (21,12)-(21,13))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (209...212))
+ │ │ │ @ ForwardingParameterNode (location: (21,15)-(21,18))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (215...223))
+ │ │ @ StatementsNode (location: (22,2)-(22,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (215...223))
+ │ │ └── @ CallNode (location: (22,2)-(22,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (215...218) = "bar"
- │ │ ├── opening_loc: (218...219) = "("
+ │ │ ├── message_loc: (22,2)-(22,5) = "bar"
+ │ │ ├── opening_loc: (22,5)-(22,6) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (219...222))
+ │ │ │ @ ArgumentsNode (location: (22,6)-(22,9))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (219...222))
- │ │ ├── closing_loc: (222...223) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9))
+ │ │ ├── closing_loc: (22,9)-(22,10) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:b, :"..."]
- │ ├── def_keyword_loc: (194...197) = "def"
+ │ ├── def_keyword_loc: (21,0)-(21,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (224...227) = "end"
- ├── @ DefNode (location: (229...262))
+ │ └── end_keyword_loc: (23,0)-(23,3) = "end"
+ ├── @ DefNode (location: (25,0)-(25,33))
│ ├── name: :foo
- │ ├── name_loc: (233...236) = "foo"
+ │ ├── name_loc: (25,4)-(25,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (237...247))
+ │ │ @ ParametersNode (location: (25,8)-(25,18))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (237...242))
+ │ │ │ └── @ OptionalParameterNode (location: (25,8)-(25,13))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (237...238) = "b"
- │ │ │ ├── operator_loc: (239...240) = "="
+ │ │ │ ├── name_loc: (25,8)-(25,9) = "b"
+ │ │ │ ├── operator_loc: (25,10)-(25,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (241...242))
+ │ │ │ @ IntegerNode (location: (25,12)-(25,13))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (244...247))
+ │ │ │ @ ForwardingParameterNode (location: (25,15)-(25,18))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (249...257))
+ │ │ @ StatementsNode (location: (25,20)-(25,28))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (249...257))
+ │ │ └── @ CallNode (location: (25,20)-(25,28))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (249...252) = "bar"
- │ │ ├── opening_loc: (252...253) = "("
+ │ │ ├── message_loc: (25,20)-(25,23) = "bar"
+ │ │ ├── opening_loc: (25,23)-(25,24) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (253...256))
+ │ │ │ @ ArgumentsNode (location: (25,24)-(25,27))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (253...256))
- │ │ ├── closing_loc: (256...257) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27))
+ │ │ ├── closing_loc: (25,27)-(25,28) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:b, :"..."]
- │ ├── def_keyword_loc: (229...232) = "def"
+ │ ├── def_keyword_loc: (25,0)-(25,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (259...262) = "end"
- └── @ DefNode (location: (264...292))
+ │ └── end_keyword_loc: (25,30)-(25,33) = "end"
+ └── @ DefNode (location: (27,0)-(27,28))
├── name: :foo
- ├── name_loc: (268...271) = "foo"
+ ├── name_loc: (27,4)-(27,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (272...278))
+ │ @ ParametersNode (location: (27,8)-(27,14))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (272...273))
+ │ │ └── @ RequiredParameterNode (location: (27,8)-(27,9))
│ │ └── name: :a
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (275...278))
+ │ │ @ ForwardingParameterNode (location: (27,11)-(27,14))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (280...288))
+ │ @ StatementsNode (location: (27,16)-(27,24))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (280...288))
+ │ └── @ CallNode (location: (27,16)-(27,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (280...283) = "bar"
- │ ├── opening_loc: (283...284) = "("
+ │ ├── message_loc: (27,16)-(27,19) = "bar"
+ │ ├── opening_loc: (27,19)-(27,20) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (284...287))
+ │ │ @ ArgumentsNode (location: (27,20)-(27,23))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (284...287))
- │ ├── closing_loc: (287...288) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23))
+ │ ├── closing_loc: (27,23)-(27,24) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:a, :"..."]
- ├── def_keyword_loc: (264...267) = "def"
+ ├── def_keyword_loc: (27,0)-(27,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (271...272) = "("
- ├── rparen_loc: (278...279) = ")"
+ ├── lparen_loc: (27,7)-(27,8) = "("
+ ├── rparen_loc: (27,14)-(27,15) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (289...292) = "end"
+ └── end_keyword_loc: (27,25)-(27,28) = "end"
diff --git a/test/yarp/snapshots/whitequark/forward_args_legacy.txt b/test/yarp/snapshots/whitequark/forward_args_legacy.txt
index 74c1d4236e..ea271bd9ce 100644
--- a/test/yarp/snapshots/whitequark/forward_args_legacy.txt
+++ b/test/yarp/snapshots/whitequark/forward_args_legacy.txt
@@ -1,97 +1,97 @@
-@ ProgramNode (location: (0...77))
+@ ProgramNode (location: (1,0)-(5,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...77))
+ @ StatementsNode (location: (1,0)-(5,29))
└── body: (length: 3)
- ├── @ DefNode (location: (0...27))
+ ├── @ DefNode (location: (1,0)-(1,27))
│ ├── name: :foo
- │ ├── name_loc: (4...7) = "foo"
+ │ ├── name_loc: (1,4)-(1,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (8...11))
+ │ │ @ ParametersNode (location: (1,8)-(1,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (8...11))
+ │ │ │ @ ForwardingParameterNode (location: (1,8)-(1,11))
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (14...22))
+ │ │ @ StatementsNode (location: (1,14)-(1,22))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (14...22))
+ │ │ └── @ CallNode (location: (1,14)-(1,22))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (14...17) = "bar"
- │ │ ├── opening_loc: (17...18) = "("
+ │ │ ├── message_loc: (1,14)-(1,17) = "bar"
+ │ │ ├── opening_loc: (1,17)-(1,18) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (18...21))
+ │ │ │ @ ArgumentsNode (location: (1,18)-(1,21))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ ForwardingArgumentsNode (location: (18...21))
- │ │ ├── closing_loc: (21...22) = ")"
+ │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21))
+ │ │ ├── closing_loc: (1,21)-(1,22) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "bar"
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (7...8) = "("
- │ ├── rparen_loc: (11...12) = ")"
+ │ ├── lparen_loc: (1,7)-(1,8) = "("
+ │ ├── rparen_loc: (1,11)-(1,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (24...27) = "end"
- ├── @ DefNode (location: (29...46))
+ │ └── end_keyword_loc: (1,24)-(1,27) = "end"
+ ├── @ DefNode (location: (3,0)-(3,17))
│ ├── name: :foo
- │ ├── name_loc: (33...36) = "foo"
+ │ ├── name_loc: (3,4)-(3,7) = "foo"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (37...40))
+ │ │ @ ParametersNode (location: (3,8)-(3,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ ForwardingParameterNode (location: (37...40))
+ │ │ │ @ ForwardingParameterNode (location: (3,8)-(3,11))
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:"..."]
- │ ├── def_keyword_loc: (29...32) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (36...37) = "("
- │ ├── rparen_loc: (40...41) = ")"
+ │ ├── lparen_loc: (3,7)-(3,8) = "("
+ │ ├── rparen_loc: (3,11)-(3,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (43...46) = "end"
- └── @ DefNode (location: (48...77))
+ │ └── end_keyword_loc: (3,14)-(3,17) = "end"
+ └── @ DefNode (location: (5,0)-(5,29))
├── name: :foo
- ├── name_loc: (52...55) = "foo"
+ ├── name_loc: (5,4)-(5,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (56...59))
+ │ @ ParametersNode (location: (5,8)-(5,11))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (56...59))
+ │ │ @ ForwardingParameterNode (location: (5,8)-(5,11))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (62...72))
+ │ @ StatementsNode (location: (5,14)-(5,24))
│ └── body: (length: 1)
- │ └── @ SuperNode (location: (62...72))
- │ ├── keyword_loc: (62...67) = "super"
- │ ├── lparen_loc: (67...68) = "("
+ │ └── @ SuperNode (location: (5,14)-(5,24))
+ │ ├── keyword_loc: (5,14)-(5,19) = "super"
+ │ ├── lparen_loc: (5,19)-(5,20) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (68...71))
+ │ │ @ ArgumentsNode (location: (5,20)-(5,23))
│ │ └── arguments: (length: 1)
- │ │ └── @ ForwardingArgumentsNode (location: (68...71))
- │ ├── rparen_loc: (71...72) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23))
+ │ ├── rparen_loc: (5,23)-(5,24) = ")"
│ └── block: ∅
├── locals: [:"..."]
- ├── def_keyword_loc: (48...51) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (55...56) = "("
- ├── rparen_loc: (59...60) = ")"
+ ├── lparen_loc: (5,7)-(5,8) = "("
+ ├── rparen_loc: (5,11)-(5,12) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (74...77) = "end"
+ └── end_keyword_loc: (5,26)-(5,29) = "end"
diff --git a/test/yarp/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt b/test/yarp/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
index 96ac76fccf..3a3ddaea6e 100644
--- a/test/yarp/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
+++ b/test/yarp/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (0...45))
+@ ProgramNode (location: (1,0)-(1,45))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...45))
+ @ StatementsNode (location: (1,0)-(1,45))
└── body: (length: 1)
- └── @ DefNode (location: (0...45))
+ └── @ DefNode (location: (1,0)-(1,45))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...20))
+ │ @ ParametersNode (location: (1,8)-(1,20))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (8...16))
+ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16))
│ │ └── name: :argument
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (18...20))
+ │ │ @ KeywordRestParameterNode (location: (1,18)-(1,20))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (18...20) = "**"
+ │ │ └── operator_loc: (1,18)-(1,20) = "**"
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (23...40))
+ │ @ StatementsNode (location: (1,23)-(1,40))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (23...40))
+ │ └── @ CallNode (location: (1,23)-(1,40))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (23...26) = "bar"
- │ ├── opening_loc: (26...27) = "("
+ │ ├── message_loc: (1,23)-(1,26) = "bar"
+ │ ├── opening_loc: (1,26)-(1,27) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (27...39))
+ │ │ @ ArgumentsNode (location: (1,27)-(1,39))
│ │ └── arguments: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (27...35))
+ │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35))
│ │ │ ├── name: :argument
│ │ │ └── depth: 0
- │ │ └── @ KeywordHashNode (location: (37...39))
+ │ │ └── @ KeywordHashNode (location: (1,37)-(1,39))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (37...39))
+ │ │ └── @ AssocSplatNode (location: (1,37)-(1,39))
│ │ ├── value: ∅
- │ │ └── operator_loc: (37...39) = "**"
- │ ├── closing_loc: (39...40) = ")"
+ │ │ └── operator_loc: (1,37)-(1,39) = "**"
+ │ ├── closing_loc: (1,39)-(1,40) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:argument, :**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (20...21) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,20)-(1,21) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (42...45) = "end"
+ └── end_keyword_loc: (1,42)-(1,45) = "end"
diff --git a/test/yarp/snapshots/whitequark/forwarded_argument_with_restarg.txt b/test/yarp/snapshots/whitequark/forwarded_argument_with_restarg.txt
index 032ffec312..5c1d350672 100644
--- a/test/yarp/snapshots/whitequark/forwarded_argument_with_restarg.txt
+++ b/test/yarp/snapshots/whitequark/forwarded_argument_with_restarg.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(1,43))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(1,43))
└── body: (length: 1)
- └── @ DefNode (location: (0...43))
+ └── @ DefNode (location: (1,0)-(1,43))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...19))
+ │ @ ParametersNode (location: (1,8)-(1,19))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (8...16))
+ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16))
│ │ └── name: :argument
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (18...19))
+ │ │ @ RestParameterNode (location: (1,18)-(1,19))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (18...19) = "*"
+ │ │ └── operator_loc: (1,18)-(1,19) = "*"
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (22...38))
+ │ @ StatementsNode (location: (1,22)-(1,38))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (22...38))
+ │ └── @ CallNode (location: (1,22)-(1,38))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (22...25) = "bar"
- │ ├── opening_loc: (25...26) = "("
+ │ ├── message_loc: (1,22)-(1,25) = "bar"
+ │ ├── opening_loc: (1,25)-(1,26) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (26...37))
+ │ │ @ ArgumentsNode (location: (1,26)-(1,37))
│ │ └── arguments: (length: 2)
- │ │ ├── @ LocalVariableReadNode (location: (26...34))
+ │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34))
│ │ │ ├── name: :argument
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (36...37))
- │ │ ├── operator_loc: (36...37) = "*"
+ │ │ └── @ SplatNode (location: (1,36)-(1,37))
+ │ │ ├── operator_loc: (1,36)-(1,37) = "*"
│ │ └── expression: ∅
- │ ├── closing_loc: (37...38) = ")"
+ │ ├── closing_loc: (1,37)-(1,38) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:argument, :*]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (19...20) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,19)-(1,20) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (40...43) = "end"
+ └── end_keyword_loc: (1,40)-(1,43) = "end"
diff --git a/test/yarp/snapshots/whitequark/forwarded_kwrestarg.txt b/test/yarp/snapshots/whitequark/forwarded_kwrestarg.txt
index c8e7633349..3690613d9e 100644
--- a/test/yarp/snapshots/whitequark/forwarded_kwrestarg.txt
+++ b/test/yarp/snapshots/whitequark/forwarded_kwrestarg.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ DefNode (location: (0...25))
+ └── @ DefNode (location: (1,0)-(1,25))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...10))
+ │ @ ParametersNode (location: (1,8)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (8...10))
+ │ │ @ KeywordRestParameterNode (location: (1,8)-(1,10))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (8...10) = "**"
+ │ │ └── operator_loc: (1,8)-(1,10) = "**"
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (13...20))
+ │ @ StatementsNode (location: (1,13)-(1,20))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (13...20))
+ │ └── @ CallNode (location: (1,13)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...16) = "bar"
- │ ├── opening_loc: (16...17) = "("
+ │ ├── message_loc: (1,13)-(1,16) = "bar"
+ │ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (17...19))
+ │ │ @ ArgumentsNode (location: (1,17)-(1,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (17...19))
+ │ │ └── @ KeywordHashNode (location: (1,17)-(1,19))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (17...19))
+ │ │ └── @ AssocSplatNode (location: (1,17)-(1,19))
│ │ ├── value: ∅
- │ │ └── operator_loc: (17...19) = "**"
- │ ├── closing_loc: (19...20) = ")"
+ │ │ └── operator_loc: (1,17)-(1,19) = "**"
+ │ ├── closing_loc: (1,19)-(1,20) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (10...11) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,10)-(1,11) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (22...25) = "end"
+ └── end_keyword_loc: (1,22)-(1,25) = "end"
diff --git a/test/yarp/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt b/test/yarp/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
index 35fcf8b0b7..87fbc462fc 100644
--- a/test/yarp/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
+++ b/test/yarp/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt
@@ -1,59 +1,59 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(1,41))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(1,41))
└── body: (length: 1)
- └── @ DefNode (location: (0...41))
+ └── @ DefNode (location: (1,0)-(1,41))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...10))
+ │ @ ParametersNode (location: (1,8)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (8...10))
+ │ │ @ KeywordRestParameterNode (location: (1,8)-(1,10))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (8...10) = "**"
+ │ │ └── operator_loc: (1,8)-(1,10) = "**"
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (13...36))
+ │ @ StatementsNode (location: (1,13)-(1,36))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (13...36))
+ │ └── @ CallNode (location: (1,13)-(1,36))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...16) = "bar"
- │ ├── opening_loc: (16...17) = "("
+ │ ├── message_loc: (1,13)-(1,16) = "bar"
+ │ ├── opening_loc: (1,16)-(1,17) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (17...35))
+ │ │ @ ArgumentsNode (location: (1,17)-(1,35))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (17...35))
+ │ │ └── @ KeywordHashNode (location: (1,17)-(1,35))
│ │ └── elements: (length: 2)
- │ │ ├── @ AssocSplatNode (location: (17...19))
+ │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19))
│ │ │ ├── value: ∅
- │ │ │ └── operator_loc: (17...19) = "**"
- │ │ └── @ AssocNode (location: (21...35))
+ │ │ │ └── operator_loc: (1,17)-(1,19) = "**"
+ │ │ └── @ AssocNode (location: (1,21)-(1,35))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (21...30))
+ │ │ │ @ SymbolNode (location: (1,21)-(1,30))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (21...29) = "from_foo"
- │ │ │ ├── closing_loc: (29...30) = ":"
+ │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo"
+ │ │ │ ├── closing_loc: (1,29)-(1,30) = ":"
│ │ │ └── unescaped: "from_foo"
│ │ ├── value:
- │ │ │ @ TrueNode (location: (31...35))
+ │ │ │ @ TrueNode (location: (1,31)-(1,35))
│ │ └── operator_loc: ∅
- │ ├── closing_loc: (35...36) = ")"
+ │ ├── closing_loc: (1,35)-(1,36) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (10...11) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,10)-(1,11) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (38...41) = "end"
+ └── end_keyword_loc: (1,38)-(1,41) = "end"
diff --git a/test/yarp/snapshots/whitequark/forwarded_restarg.txt b/test/yarp/snapshots/whitequark/forwarded_restarg.txt
index e55d4c8fa7..4ff9bf55a8 100644
--- a/test/yarp/snapshots/whitequark/forwarded_restarg.txt
+++ b/test/yarp/snapshots/whitequark/forwarded_restarg.txt
@@ -1,47 +1,47 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ DefNode (location: (0...23))
+ └── @ DefNode (location: (1,0)-(1,23))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...9))
+ │ @ ParametersNode (location: (1,8)-(1,9))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (8...9))
+ │ │ @ RestParameterNode (location: (1,8)-(1,9))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (8...9) = "*"
+ │ │ └── operator_loc: (1,8)-(1,9) = "*"
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (12...18))
+ │ @ StatementsNode (location: (1,12)-(1,18))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (12...18))
+ │ └── @ CallNode (location: (1,12)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "bar"
- │ ├── opening_loc: (15...16) = "("
+ │ ├── message_loc: (1,12)-(1,15) = "bar"
+ │ ├── opening_loc: (1,15)-(1,16) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (16...17))
+ │ │ @ ArgumentsNode (location: (1,16)-(1,17))
│ │ └── arguments: (length: 1)
- │ │ └── @ SplatNode (location: (16...17))
- │ │ ├── operator_loc: (16...17) = "*"
+ │ │ └── @ SplatNode (location: (1,16)-(1,17))
+ │ │ ├── operator_loc: (1,16)-(1,17) = "*"
│ │ └── expression: ∅
- │ ├── closing_loc: (17...18) = ")"
+ │ ├── closing_loc: (1,17)-(1,18) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:*]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (9...10) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,9)-(1,10) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (20...23) = "end"
+ └── end_keyword_loc: (1,20)-(1,23) = "end"
diff --git a/test/yarp/snapshots/whitequark/gvar.txt b/test/yarp/snapshots/whitequark/gvar.txt
index a3e6d1afd4..f4401c4389 100644
--- a/test/yarp/snapshots/whitequark/gvar.txt
+++ b/test/yarp/snapshots/whitequark/gvar.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ GlobalVariableReadNode (location: (0...4))
+ └── @ GlobalVariableReadNode (location: (1,0)-(1,4))
└── name: :$foo
diff --git a/test/yarp/snapshots/whitequark/gvasgn.txt b/test/yarp/snapshots/whitequark/gvasgn.txt
index 226a9396e2..541a3a0fc4 100644
--- a/test/yarp/snapshots/whitequark/gvasgn.txt
+++ b/test/yarp/snapshots/whitequark/gvasgn.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ GlobalVariableWriteNode (location: (0...9))
+ └── @ GlobalVariableWriteNode (location: (1,0)-(1,9))
├── name: :$var
- ├── name_loc: (0...4) = "$var"
+ ├── name_loc: (1,0)-(1,4) = "$var"
├── value:
- │ @ IntegerNode (location: (7...9))
+ │ @ IntegerNode (location: (1,7)-(1,9))
│ └── flags: decimal
- └── operator_loc: (5...6) = "="
+ └── operator_loc: (1,5)-(1,6) = "="
diff --git a/test/yarp/snapshots/whitequark/hash_empty.txt b/test/yarp/snapshots/whitequark/hash_empty.txt
index 2d3b813f11..38a2c15a9a 100644
--- a/test/yarp/snapshots/whitequark/hash_empty.txt
+++ b/test/yarp/snapshots/whitequark/hash_empty.txt
@@ -1,9 +1,9 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ HashNode (location: (0...3))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,3))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 0)
- └── closing_loc: (2...3) = "}"
+ └── closing_loc: (1,2)-(1,3) = "}"
diff --git a/test/yarp/snapshots/whitequark/hash_hashrocket.txt b/test/yarp/snapshots/whitequark/hash_hashrocket.txt
index 60c93d3d3e..5b6d1e3920 100644
--- a/test/yarp/snapshots/whitequark/hash_hashrocket.txt
+++ b/test/yarp/snapshots/whitequark/hash_hashrocket.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(3,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(3,25))
└── body: (length: 2)
- ├── @ HashNode (location: (0...10))
- │ ├── opening_loc: (0...1) = "{"
+ ├── @ HashNode (location: (1,0)-(1,10))
+ │ ├── opening_loc: (1,0)-(1,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (2...8))
+ │ │ └── @ AssocNode (location: (1,2)-(1,8))
│ │ ├── key:
- │ │ │ @ IntegerNode (location: (2...3))
+ │ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ │ └── flags: decimal
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (7...8))
+ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (4...6) = "=>"
- │ └── closing_loc: (9...10) = "}"
- └── @ HashNode (location: (12...37))
- ├── opening_loc: (12...13) = "{"
+ │ │ └── operator_loc: (1,4)-(1,6) = "=>"
+ │ └── closing_loc: (1,9)-(1,10) = "}"
+ └── @ HashNode (location: (3,0)-(3,25))
+ ├── opening_loc: (3,0)-(3,1) = "{"
├── elements: (length: 2)
- │ ├── @ AssocNode (location: (14...20))
+ │ ├── @ AssocNode (location: (3,2)-(3,8))
│ │ ├── key:
- │ │ │ @ IntegerNode (location: (14...15))
+ │ │ │ @ IntegerNode (location: (3,2)-(3,3))
│ │ │ └── flags: decimal
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (19...20))
+ │ │ │ @ IntegerNode (location: (3,7)-(3,8))
│ │ │ └── flags: decimal
- │ │ └── operator_loc: (16...18) = "=>"
- │ └── @ AssocNode (location: (22...35))
+ │ │ └── operator_loc: (3,4)-(3,6) = "=>"
+ │ └── @ AssocNode (location: (3,10)-(3,23))
│ ├── key:
- │ │ @ SymbolNode (location: (22...26))
- │ │ ├── opening_loc: (22...23) = ":"
- │ │ ├── value_loc: (23...26) = "foo"
+ │ │ @ SymbolNode (location: (3,10)-(3,14))
+ │ │ ├── opening_loc: (3,10)-(3,11) = ":"
+ │ │ ├── value_loc: (3,11)-(3,14) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── value:
- │ │ @ StringNode (location: (30...35))
+ │ │ @ StringNode (location: (3,18)-(3,23))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (30...31) = "\""
- │ │ ├── content_loc: (31...34) = "bar"
- │ │ ├── closing_loc: (34...35) = "\""
+ │ │ ├── opening_loc: (3,18)-(3,19) = "\""
+ │ │ ├── content_loc: (3,19)-(3,22) = "bar"
+ │ │ ├── closing_loc: (3,22)-(3,23) = "\""
│ │ └── unescaped: "bar"
- │ └── operator_loc: (27...29) = "=>"
- └── closing_loc: (36...37) = "}"
+ │ └── operator_loc: (3,15)-(3,17) = "=>"
+ └── closing_loc: (3,24)-(3,25) = "}"
diff --git a/test/yarp/snapshots/whitequark/hash_kwsplat.txt b/test/yarp/snapshots/whitequark/hash_kwsplat.txt
index d4fa8eb591..506f054071 100644
--- a/test/yarp/snapshots/whitequark/hash_kwsplat.txt
+++ b/test/yarp/snapshots/whitequark/hash_kwsplat.txt
@@ -1,33 +1,33 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ HashNode (location: (0...17))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,17))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 2)
- │ ├── @ AssocNode (location: (2...8))
+ │ ├── @ AssocNode (location: (1,2)-(1,8))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (2...6))
+ │ │ │ @ SymbolNode (location: (1,2)-(1,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (2...5) = "foo"
- │ │ │ ├── closing_loc: (5...6) = ":"
+ │ │ │ ├── value_loc: (1,2)-(1,5) = "foo"
+ │ │ │ ├── closing_loc: (1,5)-(1,6) = ":"
│ │ │ └── unescaped: "foo"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (7...8))
+ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── @ AssocSplatNode (location: (10...15))
+ │ └── @ AssocSplatNode (location: (1,10)-(1,15))
│ ├── value:
- │ │ @ CallNode (location: (12...15))
+ │ │ @ CallNode (location: (1,12)-(1,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "bar"
+ │ │ ├── message_loc: (1,12)-(1,15) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── operator_loc: (10...12) = "**"
- └── closing_loc: (16...17) = "}"
+ │ └── operator_loc: (1,10)-(1,12) = "**"
+ └── closing_loc: (1,16)-(1,17) = "}"
diff --git a/test/yarp/snapshots/whitequark/hash_label.txt b/test/yarp/snapshots/whitequark/hash_label.txt
index 3abe0a5e41..444010d4a8 100644
--- a/test/yarp/snapshots/whitequark/hash_label.txt
+++ b/test/yarp/snapshots/whitequark/hash_label.txt
@@ -1,20 +1,20 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ HashNode (location: (0...10))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,10))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (2...8))
+ │ └── @ AssocNode (location: (1,2)-(1,8))
│ ├── key:
- │ │ @ SymbolNode (location: (2...6))
+ │ │ @ SymbolNode (location: (1,2)-(1,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (2...5) = "foo"
- │ │ ├── closing_loc: (5...6) = ":"
+ │ │ ├── value_loc: (1,2)-(1,5) = "foo"
+ │ │ ├── closing_loc: (1,5)-(1,6) = ":"
│ │ └── unescaped: "foo"
│ ├── value:
- │ │ @ IntegerNode (location: (7...8))
+ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
│ └── operator_loc: ∅
- └── closing_loc: (9...10) = "}"
+ └── closing_loc: (1,9)-(1,10) = "}"
diff --git a/test/yarp/snapshots/whitequark/hash_label_end.txt b/test/yarp/snapshots/whitequark/hash_label_end.txt
index b357faee6c..dfa6eb4da5 100644
--- a/test/yarp/snapshots/whitequark/hash_label_end.txt
+++ b/test/yarp/snapshots/whitequark/hash_label_end.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...50))
+@ ProgramNode (location: (1,0)-(5,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...50))
+ @ StatementsNode (location: (1,0)-(5,22))
└── body: (length: 3)
- ├── @ CallNode (location: (0...12))
+ ├── @ CallNode (location: (1,0)-(1,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "f"
- │ ├── opening_loc: (1...2) = "("
+ │ ├── message_loc: (1,0)-(1,1) = "f"
+ │ ├── opening_loc: (1,1)-(1,2) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...11))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ IfNode (location: (2...11))
+ │ │ └── @ IfNode (location: (1,2)-(1,11))
│ │ ├── if_keyword_loc: ∅
│ │ ├── predicate:
- │ │ │ @ CallNode (location: (2...3))
+ │ │ │ @ CallNode (location: (1,2)-(1,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (2...3) = "a"
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -25,68 +25,68 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (6...9))
+ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ StringNode (location: (6...9))
+ │ │ │ └── @ StringNode (location: (1,6)-(1,9))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (6...7) = "\""
- │ │ │ ├── content_loc: (7...8) = "a"
- │ │ │ ├── closing_loc: (8...9) = "\""
+ │ │ │ ├── opening_loc: (1,6)-(1,7) = "\""
+ │ │ │ ├── content_loc: (1,7)-(1,8) = "a"
+ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ │ └── unescaped: "a"
│ │ ├── consequent:
- │ │ │ @ ElseNode (location: (9...11))
- │ │ │ ├── else_keyword_loc: (9...10) = ":"
+ │ │ │ @ ElseNode (location: (1,9)-(1,11))
+ │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (10...11))
+ │ │ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (10...11))
+ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ └── end_keyword_loc: ∅
│ │ └── end_keyword_loc: ∅
- │ ├── closing_loc: (11...12) = ")"
+ │ ├── closing_loc: (1,11)-(1,12) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "f"
- ├── @ HashNode (location: (14...26))
- │ ├── opening_loc: (14...15) = "{"
+ ├── @ HashNode (location: (3,0)-(3,12))
+ │ ├── opening_loc: (3,0)-(3,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (16...24))
+ │ │ └── @ AssocNode (location: (3,2)-(3,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (16...22))
- │ │ │ ├── opening_loc: (16...17) = "'"
- │ │ │ ├── value_loc: (17...20) = "foo"
- │ │ │ ├── closing_loc: (20...22) = "':"
+ │ │ │ @ SymbolNode (location: (3,2)-(3,8))
+ │ │ │ ├── opening_loc: (3,2)-(3,3) = "'"
+ │ │ │ ├── value_loc: (3,3)-(3,6) = "foo"
+ │ │ │ ├── closing_loc: (3,6)-(3,8) = "':"
│ │ │ └── unescaped: "foo"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (23...24))
+ │ │ │ @ IntegerNode (location: (3,9)-(3,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (25...26) = "}"
- └── @ HashNode (location: (28...50))
- ├── opening_loc: (28...29) = "{"
+ │ └── closing_loc: (3,11)-(3,12) = "}"
+ └── @ HashNode (location: (5,0)-(5,22))
+ ├── opening_loc: (5,0)-(5,1) = "{"
├── elements: (length: 2)
- │ ├── @ AssocNode (location: (30...38))
+ │ ├── @ AssocNode (location: (5,2)-(5,10))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (30...36))
- │ │ │ ├── opening_loc: (30...31) = "'"
- │ │ │ ├── value_loc: (31...34) = "foo"
- │ │ │ ├── closing_loc: (34...36) = "':"
+ │ │ │ @ SymbolNode (location: (5,2)-(5,8))
+ │ │ │ ├── opening_loc: (5,2)-(5,3) = "'"
+ │ │ │ ├── value_loc: (5,3)-(5,6) = "foo"
+ │ │ │ ├── closing_loc: (5,6)-(5,8) = "':"
│ │ │ └── unescaped: "foo"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (37...38))
+ │ │ │ @ IntegerNode (location: (5,9)-(5,10))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── @ AssocNode (location: (40...49))
+ │ └── @ AssocNode (location: (5,12)-(5,21))
│ ├── key:
- │ │ @ SymbolNode (location: (40...46))
- │ │ ├── opening_loc: (40...41) = "'"
- │ │ ├── value_loc: (41...44) = "bar"
- │ │ ├── closing_loc: (44...46) = "':"
+ │ │ @ SymbolNode (location: (5,12)-(5,18))
+ │ │ ├── opening_loc: (5,12)-(5,13) = "'"
+ │ │ ├── value_loc: (5,13)-(5,16) = "bar"
+ │ │ ├── closing_loc: (5,16)-(5,18) = "':"
│ │ └── unescaped: "bar"
│ ├── value:
- │ │ @ HashNode (location: (47...49))
- │ │ ├── opening_loc: (47...48) = "{"
+ │ │ @ HashNode (location: (5,19)-(5,21))
+ │ │ ├── opening_loc: (5,19)-(5,20) = "{"
│ │ ├── elements: (length: 0)
- │ │ └── closing_loc: (48...49) = "}"
+ │ │ └── closing_loc: (5,20)-(5,21) = "}"
│ └── operator_loc: ∅
- └── closing_loc: (49...50) = "}"
+ └── closing_loc: (5,21)-(5,22) = "}"
diff --git a/test/yarp/snapshots/whitequark/hash_pair_value_omission.txt b/test/yarp/snapshots/whitequark/hash_pair_value_omission.txt
index 9b6d43af07..37e3098369 100644
--- a/test/yarp/snapshots/whitequark/hash_pair_value_omission.txt
+++ b/test/yarp/snapshots/whitequark/hash_pair_value_omission.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(5,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(5,7))
└── body: (length: 3)
- ├── @ HashNode (location: (0...6))
- │ ├── opening_loc: (0...1) = "{"
+ ├── @ HashNode (location: (1,0)-(1,6))
+ │ ├── opening_loc: (1,0)-(1,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (1...5))
+ │ │ └── @ AssocNode (location: (1,1)-(1,5))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (1...5))
+ │ │ │ @ SymbolNode (location: (1,1)-(1,5))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (1...4) = "BAR"
- │ │ │ ├── closing_loc: (4...5) = ":"
+ │ │ │ ├── value_loc: (1,1)-(1,4) = "BAR"
+ │ │ │ ├── closing_loc: (1,4)-(1,5) = ":"
│ │ │ └── unescaped: "BAR"
│ │ ├── value:
- │ │ │ @ ImplicitNode (location: (1...5))
+ │ │ │ @ ImplicitNode (location: (1,1)-(1,5))
│ │ │ └── value:
- │ │ │ @ ConstantReadNode (location: (1...5))
+ │ │ │ @ ConstantReadNode (location: (1,1)-(1,5))
│ │ │ └── name: :BAR
│ │ └── operator_loc: ∅
- │ └── closing_loc: (5...6) = "}"
- ├── @ HashNode (location: (8...16))
- │ ├── opening_loc: (8...9) = "{"
+ │ └── closing_loc: (1,5)-(1,6) = "}"
+ ├── @ HashNode (location: (3,0)-(3,8))
+ │ ├── opening_loc: (3,0)-(3,1) = "{"
│ ├── elements: (length: 2)
- │ │ ├── @ AssocNode (location: (9...11))
+ │ │ ├── @ AssocNode (location: (3,1)-(3,3))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (9...11))
+ │ │ │ │ @ SymbolNode (location: (3,1)-(3,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (9...10) = "a"
- │ │ │ │ ├── closing_loc: (10...11) = ":"
+ │ │ │ │ ├── value_loc: (3,1)-(3,2) = "a"
+ │ │ │ │ ├── closing_loc: (3,2)-(3,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ ImplicitNode (location: (9...11))
+ │ │ │ │ @ ImplicitNode (location: (3,1)-(3,3))
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (9...11))
+ │ │ │ │ @ CallNode (location: (3,1)-(3,3))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (9...10) = "a"
+ │ │ │ │ ├── message_loc: (3,1)-(3,2) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -44,20 +44,20 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "a"
│ │ │ └── operator_loc: ∅
- │ │ └── @ AssocNode (location: (13...15))
+ │ │ └── @ AssocNode (location: (3,5)-(3,7))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (13...15))
+ │ │ │ @ SymbolNode (location: (3,5)-(3,7))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (13...14) = "b"
- │ │ │ ├── closing_loc: (14...15) = ":"
+ │ │ │ ├── value_loc: (3,5)-(3,6) = "b"
+ │ │ │ ├── closing_loc: (3,6)-(3,7) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ ImplicitNode (location: (13...15))
+ │ │ │ @ ImplicitNode (location: (3,5)-(3,7))
│ │ │ └── value:
- │ │ │ @ CallNode (location: (13...15))
+ │ │ │ @ CallNode (location: (3,5)-(3,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (13...14) = "b"
+ │ │ │ ├── message_loc: (3,5)-(3,6) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -65,24 +65,24 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
│ │ └── operator_loc: ∅
- │ └── closing_loc: (15...16) = "}"
- └── @ HashNode (location: (18...25))
- ├── opening_loc: (18...19) = "{"
+ │ └── closing_loc: (3,7)-(3,8) = "}"
+ └── @ HashNode (location: (5,0)-(5,7))
+ ├── opening_loc: (5,0)-(5,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (19...24))
+ │ └── @ AssocNode (location: (5,1)-(5,6))
│ ├── key:
- │ │ @ SymbolNode (location: (19...24))
+ │ │ @ SymbolNode (location: (5,1)-(5,6))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (19...23) = "puts"
- │ │ ├── closing_loc: (23...24) = ":"
+ │ │ ├── value_loc: (5,1)-(5,5) = "puts"
+ │ │ ├── closing_loc: (5,5)-(5,6) = ":"
│ │ └── unescaped: "puts"
│ ├── value:
- │ │ @ ImplicitNode (location: (19...24))
+ │ │ @ ImplicitNode (location: (5,1)-(5,6))
│ │ └── value:
- │ │ @ CallNode (location: (19...24))
+ │ │ @ CallNode (location: (5,1)-(5,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (19...23) = "puts"
+ │ │ ├── message_loc: (5,1)-(5,5) = "puts"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -90,4 +90,4 @@
│ │ ├── flags: ∅
│ │ └── name: "puts"
│ └── operator_loc: ∅
- └── closing_loc: (24...25) = "}"
+ └── closing_loc: (5,6)-(5,7) = "}"
diff --git a/test/yarp/snapshots/whitequark/heredoc.txt b/test/yarp/snapshots/whitequark/heredoc.txt
index aa6c35cfea..35e6d8be63 100644
--- a/test/yarp/snapshots/whitequark/heredoc.txt
+++ b/test/yarp/snapshots/whitequark/heredoc.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...52))
+@ ProgramNode (location: (1,0)-(11,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...52))
+ @ StatementsNode (location: (1,0)-(11,8))
└── body: (length: 3)
- ├── @ StringNode (location: (0...8))
+ ├── @ StringNode (location: (1,0)-(1,8))
│ ├── flags: ∅
- │ ├── opening_loc: (0...8) = "<<'HERE'"
- │ ├── content_loc: (9...17) = "foo\nbar\n"
- │ ├── closing_loc: (17...22) = "HERE\n"
+ │ ├── opening_loc: (1,0)-(1,8) = "<<'HERE'"
+ │ ├── content_loc: (2,0)-(3,0) = "foo\nbar\n"
+ │ ├── closing_loc: (4,0)-(4,0) = "HERE\n"
│ └── unescaped: "foo\nbar\n"
- ├── @ StringNode (location: (23...29))
+ ├── @ StringNode (location: (6,0)-(6,6))
│ ├── flags: ∅
- │ ├── opening_loc: (23...29) = "<<HERE"
- │ ├── content_loc: (30...38) = "foo\nbar\n"
- │ ├── closing_loc: (38...43) = "HERE\n"
+ │ ├── opening_loc: (6,0)-(6,6) = "<<HERE"
+ │ ├── content_loc: (7,0)-(8,0) = "foo\nbar\n"
+ │ ├── closing_loc: (9,0)-(9,0) = "HERE\n"
│ └── unescaped: "foo\nbar\n"
- └── @ XStringNode (location: (44...52))
- ├── opening_loc: (44...52) = "<<`HERE`"
- ├── content_loc: (53...61) = "foo\nbar\n"
- ├── closing_loc: (61...66) = "HERE\n"
+ └── @ XStringNode (location: (11,0)-(11,8))
+ ├── opening_loc: (11,0)-(11,8) = "<<`HERE`"
+ ├── content_loc: (12,0)-(13,0) = "foo\nbar\n"
+ ├── closing_loc: (14,0)-(14,0) = "HERE\n"
└── unescaped: "foo\nbar\n"
diff --git a/test/yarp/snapshots/whitequark/if.txt b/test/yarp/snapshots/whitequark/if.txt
index cf2bb5ab5f..c5a422008e 100644
--- a/test/yarp/snapshots/whitequark/if.txt
+++ b/test/yarp/snapshots/whitequark/if.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(3,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(3,16))
└── body: (length: 2)
- ├── @ IfNode (location: (0...20))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(1,20))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ CallNode (location: (3...6))
+ │ │ @ CallNode (location: (1,3)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...6) = "foo"
+ │ │ ├── message_loc: (1,3)-(1,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (12...15))
+ │ │ @ StatementsNode (location: (1,12)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (12...15))
+ │ │ └── @ CallNode (location: (1,12)-(1,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "bar"
+ │ │ ├── message_loc: (1,12)-(1,15) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,14 +30,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (17...20) = "end"
- └── @ IfNode (location: (22...38))
- ├── if_keyword_loc: (22...24) = "if"
+ │ └── 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: (25...28))
+ │ @ CallNode (location: (3,3)-(3,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...28) = "foo"
+ │ ├── message_loc: (3,3)-(3,6) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -45,12 +45,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (30...33))
+ │ @ StatementsNode (location: (3,8)-(3,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (30...33))
+ │ └── @ CallNode (location: (3,8)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (30...33) = "bar"
+ │ ├── message_loc: (3,8)-(3,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -58,4 +58,4 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- └── end_keyword_loc: (35...38) = "end"
+ └── end_keyword_loc: (3,13)-(3,16) = "end"
diff --git a/test/yarp/snapshots/whitequark/if_else.txt b/test/yarp/snapshots/whitequark/if_else.txt
index 0581f9bf66..a0b8a8d842 100644
--- a/test/yarp/snapshots/whitequark/if_else.txt
+++ b/test/yarp/snapshots/whitequark/if_else.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...58))
+@ ProgramNode (location: (1,0)-(3,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...58))
+ @ StatementsNode (location: (1,0)-(3,26))
└── body: (length: 2)
- ├── @ IfNode (location: (0...30))
- │ ├── if_keyword_loc: (0...2) = "if"
+ ├── @ IfNode (location: (1,0)-(1,30))
+ │ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
- │ │ @ CallNode (location: (3...6))
+ │ │ @ CallNode (location: (1,3)-(1,6))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (3...6) = "foo"
+ │ │ ├── message_loc: (1,3)-(1,6) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (12...15))
+ │ │ @ StatementsNode (location: (1,12)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (12...15))
+ │ │ └── @ CallNode (location: (1,12)-(1,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "bar"
+ │ │ ├── message_loc: (1,12)-(1,15) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,30 +30,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent:
- │ │ @ ElseNode (location: (17...30))
- │ │ ├── else_keyword_loc: (17...21) = "else"
+ │ │ @ ElseNode (location: (1,17)-(1,30))
+ │ │ ├── else_keyword_loc: (1,17)-(1,21) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (22...25))
+ │ │ │ @ StatementsNode (location: (1,22)-(1,25))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (22...25))
+ │ │ │ └── @ CallNode (location: (1,22)-(1,25))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (22...25) = "baz"
+ │ │ │ ├── message_loc: (1,22)-(1,25) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── end_keyword_loc: (27...30) = "end"
- │ └── end_keyword_loc: (27...30) = "end"
- └── @ IfNode (location: (32...58))
- ├── if_keyword_loc: (32...34) = "if"
+ │ │ └── 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: (35...38))
+ │ @ CallNode (location: (3,3)-(3,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (35...38) = "foo"
+ │ ├── message_loc: (3,3)-(3,6) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -61,12 +61,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (40...43))
+ │ @ StatementsNode (location: (3,8)-(3,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (40...43))
+ │ └── @ CallNode (location: (3,8)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (40...43) = "bar"
+ │ ├── message_loc: (3,8)-(3,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -74,20 +74,20 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent:
- │ @ ElseNode (location: (45...58))
- │ ├── else_keyword_loc: (45...49) = "else"
+ │ @ ElseNode (location: (3,13)-(3,26))
+ │ ├── else_keyword_loc: (3,13)-(3,17) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (50...53))
+ │ │ @ StatementsNode (location: (3,18)-(3,21))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (50...53))
+ │ │ └── @ CallNode (location: (3,18)-(3,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (50...53) = "baz"
+ │ │ ├── message_loc: (3,18)-(3,21) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── end_keyword_loc: (55...58) = "end"
- └── end_keyword_loc: (55...58) = "end"
+ │ └── end_keyword_loc: (3,23)-(3,26) = "end"
+ └── end_keyword_loc: (3,23)-(3,26) = "end"
diff --git a/test/yarp/snapshots/whitequark/if_elsif.txt b/test/yarp/snapshots/whitequark/if_elsif.txt
index dd0bedba98..cf55c74095 100644
--- a/test/yarp/snapshots/whitequark/if_elsif.txt
+++ b/test/yarp/snapshots/whitequark/if_elsif.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...38))
+@ ProgramNode (location: (1,0)-(1,38))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...38))
+ @ StatementsNode (location: (1,0)-(1,38))
└── body: (length: 1)
- └── @ IfNode (location: (0...38))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,38))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...6))
+ │ @ CallNode (location: (1,3)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...6) = "foo"
+ │ ├── message_loc: (1,3)-(1,6) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (8...11))
+ │ @ StatementsNode (location: (1,8)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (8...11))
+ │ └── @ CallNode (location: (1,8)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (8...11) = "bar"
+ │ ├── message_loc: (1,8)-(1,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -30,13 +30,13 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent:
- │ @ IfNode (location: (13...38))
- │ ├── if_keyword_loc: (13...18) = "elsif"
+ │ @ IfNode (location: (1,13)-(1,38))
+ │ ├── if_keyword_loc: (1,13)-(1,18) = "elsif"
│ ├── predicate:
- │ │ @ CallNode (location: (19...22))
+ │ │ @ CallNode (location: (1,19)-(1,22))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (19...22) = "baz"
+ │ │ ├── message_loc: (1,19)-(1,22) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -44,18 +44,18 @@
│ │ ├── flags: variable_call
│ │ └── name: "baz"
│ ├── statements:
- │ │ @ StatementsNode (location: (24...25))
+ │ │ @ StatementsNode (location: (1,24)-(1,25))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (24...25))
+ │ │ └── @ IntegerNode (location: (1,24)-(1,25))
│ │ └── flags: decimal
│ ├── consequent:
- │ │ @ ElseNode (location: (27...38))
- │ │ ├── else_keyword_loc: (27...31) = "else"
+ │ │ @ ElseNode (location: (1,27)-(1,38))
+ │ │ ├── else_keyword_loc: (1,27)-(1,31) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (32...33))
+ │ │ │ @ StatementsNode (location: (1,32)-(1,33))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (32...33))
+ │ │ │ └── @ IntegerNode (location: (1,32)-(1,33))
│ │ │ └── flags: decimal
- │ │ └── end_keyword_loc: (35...38) = "end"
- │ └── end_keyword_loc: (35...38) = "end"
- └── end_keyword_loc: (35...38) = "end"
+ │ │ └── end_keyword_loc: (1,35)-(1,38) = "end"
+ │ └── end_keyword_loc: (1,35)-(1,38) = "end"
+ └── end_keyword_loc: (1,35)-(1,38) = "end"
diff --git a/test/yarp/snapshots/whitequark/if_masgn__24.txt b/test/yarp/snapshots/whitequark/if_masgn__24.txt
index 5754b89103..3202633df6 100644
--- a/test/yarp/snapshots/whitequark/if_masgn__24.txt
+++ b/test/yarp/snapshots/whitequark/if_masgn__24.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ IfNode (location: (0...20))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(1,20))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ ParenthesesNode (location: (3...15))
+ │ @ ParenthesesNode (location: (1,3)-(1,15))
│ ├── body:
- │ │ @ StatementsNode (location: (4...14))
+ │ │ @ StatementsNode (location: (1,4)-(1,14))
│ │ └── body: (length: 1)
- │ │ └── @ MultiWriteNode (location: (4...14))
+ │ │ └── @ MultiWriteNode (location: (1,4)-(1,14))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (4...5))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (7...8))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
- │ │ ├── operator_loc: (9...10) = "="
+ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ └── value:
- │ │ @ CallNode (location: (11...14))
+ │ │ @ CallNode (location: (1,11)-(1,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (14...15) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,14)-(1,15) = ")"
├── statements: ∅
├── consequent: ∅
- └── end_keyword_loc: (17...20) = "end"
+ └── end_keyword_loc: (1,17)-(1,20) = "end"
diff --git a/test/yarp/snapshots/whitequark/if_mod.txt b/test/yarp/snapshots/whitequark/if_mod.txt
index 1238560a84..1e0f7f0bb0 100644
--- a/test/yarp/snapshots/whitequark/if_mod.txt
+++ b/test/yarp/snapshots/whitequark/if_mod.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ IfNode (location: (0...10))
- ├── if_keyword_loc: (4...6) = "if"
+ └── @ IfNode (location: (1,0)-(1,10))
+ ├── if_keyword_loc: (1,4)-(1,6) = "if"
├── predicate:
- │ @ CallNode (location: (7...10))
+ │ @ CallNode (location: (1,7)-(1,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...10) = "foo"
+ │ ├── message_loc: (1,7)-(1,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...3))
+ │ @ StatementsNode (location: (1,0)-(1,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (0...3))
+ │ └── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "bar"
+ │ ├── message_loc: (1,0)-(1,3) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/if_nl_then.txt b/test/yarp/snapshots/whitequark/if_nl_then.txt
index 4ce61a73b7..17355a73d3 100644
--- a/test/yarp/snapshots/whitequark/if_nl_then.txt
+++ b/test/yarp/snapshots/whitequark/if_nl_then.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(2,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(2,12))
└── body: (length: 1)
- └── @ IfNode (location: (0...19))
- ├── if_keyword_loc: (0...2) = "if"
+ └── @ IfNode (location: (1,0)-(2,12))
+ ├── if_keyword_loc: (1,0)-(1,2) = "if"
├── predicate:
- │ @ CallNode (location: (3...6))
+ │ @ CallNode (location: (1,3)-(1,6))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (3...6) = "foo"
+ │ ├── message_loc: (1,3)-(1,6) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (12...15))
+ │ @ StatementsNode (location: (2,5)-(2,8))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (12...15))
+ │ └── @ CallNode (location: (2,5)-(2,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "bar"
+ │ ├── message_loc: (2,5)-(2,8) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -30,4 +30,4 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- └── end_keyword_loc: (16...19) = "end"
+ └── end_keyword_loc: (2,9)-(2,12) = "end"
diff --git a/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt b/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
index 8f0915d9ec..e4338171c5 100644
--- a/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
+++ b/test/yarp/snapshots/whitequark/if_while_after_class__since_32.txt
@@ -1,115 +1,115 @@
-@ ProgramNode (location: (0...178))
+@ ProgramNode (location: (1,0)-(7,48))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...178))
+ @ StatementsNode (location: (1,0)-(7,48))
└── body: (length: 4)
- ├── @ ClassNode (location: (0...38))
+ ├── @ ClassNode (location: (1,0)-(1,38))
│ ├── locals: []
- │ ├── class_keyword_loc: (0...5) = "class"
+ │ ├── class_keyword_loc: (1,0)-(1,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (6...33))
+ │ │ @ ConstantPathNode (location: (1,6)-(1,33))
│ │ ├── parent:
- │ │ │ @ IfNode (location: (6...25))
- │ │ │ ├── if_keyword_loc: (6...8) = "if"
+ │ │ │ @ IfNode (location: (1,6)-(1,25))
+ │ │ │ ├── if_keyword_loc: (1,6)-(1,8) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (9...13))
+ │ │ │ │ @ TrueNode (location: (1,9)-(1,13))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (15...21))
+ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (15...21))
+ │ │ │ │ └── @ ConstantReadNode (location: (1,15)-(1,21))
│ │ │ │ └── name: :Object
│ │ │ ├── consequent: ∅
- │ │ │ └── end_keyword_loc: (22...25) = "end"
+ │ │ │ └── end_keyword_loc: (1,22)-(1,25) = "end"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (27...33))
+ │ │ │ @ ConstantReadNode (location: (1,27)-(1,33))
│ │ │ └── name: :Kernel
- │ │ └── delimiter_loc: (25...27) = "::"
+ │ │ └── delimiter_loc: (1,25)-(1,27) = "::"
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (35...38) = "end"
+ │ ├── end_keyword_loc: (1,35)-(1,38) = "end"
│ └── name: :Kernel
- ├── @ ClassNode (location: (40...87))
+ ├── @ ClassNode (location: (3,0)-(3,47))
│ ├── locals: []
- │ ├── class_keyword_loc: (40...45) = "class"
+ │ ├── class_keyword_loc: (3,0)-(3,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (46...82))
+ │ │ @ ConstantPathNode (location: (3,6)-(3,42))
│ │ ├── parent:
- │ │ │ @ WhileNode (location: (46...74))
- │ │ │ ├── keyword_loc: (46...51) = "while"
- │ │ │ ├── closing_loc: (71...74) = "end"
+ │ │ │ @ WhileNode (location: (3,6)-(3,34))
+ │ │ │ ├── keyword_loc: (3,6)-(3,11) = "while"
+ │ │ │ ├── closing_loc: (3,31)-(3,34) = "end"
│ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (52...56))
+ │ │ │ │ @ TrueNode (location: (3,12)-(3,16))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (58...70))
+ │ │ │ │ @ StatementsNode (location: (3,18)-(3,30))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ BreakNode (location: (58...70))
+ │ │ │ │ └── @ BreakNode (location: (3,18)-(3,30))
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (64...70))
+ │ │ │ │ │ @ ArgumentsNode (location: (3,24)-(3,30))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ ConstantReadNode (location: (64...70))
+ │ │ │ │ │ └── @ ConstantReadNode (location: (3,24)-(3,30))
│ │ │ │ │ └── name: :Object
- │ │ │ │ └── keyword_loc: (58...63) = "break"
+ │ │ │ │ └── keyword_loc: (3,18)-(3,23) = "break"
│ │ │ └── flags: ∅
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (76...82))
+ │ │ │ @ ConstantReadNode (location: (3,36)-(3,42))
│ │ │ └── name: :Kernel
- │ │ └── delimiter_loc: (74...76) = "::"
+ │ │ └── delimiter_loc: (3,34)-(3,36) = "::"
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body: ∅
- │ ├── end_keyword_loc: (84...87) = "end"
+ │ ├── end_keyword_loc: (3,44)-(3,47) = "end"
│ └── name: :Kernel
- ├── @ ModuleNode (location: (89...128))
+ ├── @ ModuleNode (location: (5,0)-(5,39))
│ ├── locals: []
- │ ├── module_keyword_loc: (89...95) = "module"
+ │ ├── module_keyword_loc: (5,0)-(5,6) = "module"
│ ├── constant_path:
- │ │ @ ConstantPathNode (location: (96...123))
+ │ │ @ ConstantPathNode (location: (5,7)-(5,34))
│ │ ├── parent:
- │ │ │ @ IfNode (location: (96...115))
- │ │ │ ├── if_keyword_loc: (96...98) = "if"
+ │ │ │ @ IfNode (location: (5,7)-(5,26))
+ │ │ │ ├── if_keyword_loc: (5,7)-(5,9) = "if"
│ │ │ ├── predicate:
- │ │ │ │ @ TrueNode (location: (99...103))
+ │ │ │ │ @ TrueNode (location: (5,10)-(5,14))
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (105...111))
+ │ │ │ │ @ StatementsNode (location: (5,16)-(5,22))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (105...111))
+ │ │ │ │ └── @ ConstantReadNode (location: (5,16)-(5,22))
│ │ │ │ └── name: :Object
│ │ │ ├── consequent: ∅
- │ │ │ └── end_keyword_loc: (112...115) = "end"
+ │ │ │ └── end_keyword_loc: (5,23)-(5,26) = "end"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (117...123))
+ │ │ │ @ ConstantReadNode (location: (5,28)-(5,34))
│ │ │ └── name: :Kernel
- │ │ └── delimiter_loc: (115...117) = "::"
+ │ │ └── delimiter_loc: (5,26)-(5,28) = "::"
│ ├── body: ∅
- │ ├── end_keyword_loc: (125...128) = "end"
+ │ ├── end_keyword_loc: (5,36)-(5,39) = "end"
│ └── name: :Kernel
- └── @ ModuleNode (location: (130...178))
+ └── @ ModuleNode (location: (7,0)-(7,48))
├── locals: []
- ├── module_keyword_loc: (130...136) = "module"
+ ├── module_keyword_loc: (7,0)-(7,6) = "module"
├── constant_path:
- │ @ ConstantPathNode (location: (137...173))
+ │ @ ConstantPathNode (location: (7,7)-(7,43))
│ ├── parent:
- │ │ @ WhileNode (location: (137...165))
- │ │ ├── keyword_loc: (137...142) = "while"
- │ │ ├── closing_loc: (162...165) = "end"
+ │ │ @ WhileNode (location: (7,7)-(7,35))
+ │ │ ├── keyword_loc: (7,7)-(7,12) = "while"
+ │ │ ├── closing_loc: (7,32)-(7,35) = "end"
│ │ ├── predicate:
- │ │ │ @ TrueNode (location: (143...147))
+ │ │ │ @ TrueNode (location: (7,13)-(7,17))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (149...161))
+ │ │ │ @ StatementsNode (location: (7,19)-(7,31))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ BreakNode (location: (149...161))
+ │ │ │ └── @ BreakNode (location: (7,19)-(7,31))
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (155...161))
+ │ │ │ │ @ ArgumentsNode (location: (7,25)-(7,31))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ ConstantReadNode (location: (155...161))
+ │ │ │ │ └── @ ConstantReadNode (location: (7,25)-(7,31))
│ │ │ │ └── name: :Object
- │ │ │ └── keyword_loc: (149...154) = "break"
+ │ │ │ └── keyword_loc: (7,19)-(7,24) = "break"
│ │ └── flags: ∅
│ ├── child:
- │ │ @ ConstantReadNode (location: (167...173))
+ │ │ @ ConstantReadNode (location: (7,37)-(7,43))
│ │ └── name: :Kernel
- │ └── delimiter_loc: (165...167) = "::"
+ │ └── delimiter_loc: (7,35)-(7,37) = "::"
├── body: ∅
- ├── end_keyword_loc: (175...178) = "end"
+ ├── end_keyword_loc: (7,45)-(7,48) = "end"
└── name: :Kernel
diff --git a/test/yarp/snapshots/whitequark/int.txt b/test/yarp/snapshots/whitequark/int.txt
index 3b01c6031d..8690dee172 100644
--- a/test/yarp/snapshots/whitequark/int.txt
+++ b/test/yarp/snapshots/whitequark/int.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(5,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(5,2))
└── body: (length: 3)
- ├── @ IntegerNode (location: (0...3))
+ ├── @ IntegerNode (location: (1,0)-(1,3))
│ └── flags: decimal
- ├── @ IntegerNode (location: (5...8))
+ ├── @ IntegerNode (location: (3,0)-(3,3))
│ └── flags: decimal
- └── @ IntegerNode (location: (10...12))
+ └── @ IntegerNode (location: (5,0)-(5,2))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/int___LINE__.txt b/test/yarp/snapshots/whitequark/int___LINE__.txt
index 1c50f292af..bf2ea47102 100644
--- a/test/yarp/snapshots/whitequark/int___LINE__.txt
+++ b/test/yarp/snapshots/whitequark/int___LINE__.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ SourceLineNode (location: (0...8))
+ └── @ SourceLineNode (location: (1,0)-(1,8))
diff --git a/test/yarp/snapshots/whitequark/interp_digit_var.txt b/test/yarp/snapshots/whitequark/interp_digit_var.txt
index 20456a3255..2a97bf5780 100644
--- a/test/yarp/snapshots/whitequark/interp_digit_var.txt
+++ b/test/yarp/snapshots/whitequark/interp_digit_var.txt
@@ -1,249 +1,249 @@
-@ ProgramNode (location: (1...465))
+@ ProgramNode (location: (1,1)-(85,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (1...465))
+ @ StatementsNode (location: (1,1)-(85,9))
└── body: (length: 38)
- ├── @ StringNode (location: (1...6))
+ ├── @ StringNode (location: (1,1)-(1,6))
│ ├── flags: ∅
- │ ├── opening_loc: (1...2) = "\""
- │ ├── content_loc: (2...5) = "\#@1"
- │ ├── closing_loc: (5...6) = "\""
+ │ ├── opening_loc: (1,1)-(1,2) = "\""
+ │ ├── content_loc: (1,2)-(1,5) = "\#@1"
+ │ ├── closing_loc: (1,5)-(1,6) = "\""
│ └── unescaped: "\#@1"
- ├── @ StringNode (location: (10...16))
+ ├── @ StringNode (location: (3,1)-(3,7))
│ ├── flags: ∅
- │ ├── opening_loc: (10...11) = "\""
- │ ├── content_loc: (11...15) = "\#@@1"
- │ ├── closing_loc: (15...16) = "\""
+ │ ├── opening_loc: (3,1)-(3,2) = "\""
+ │ ├── content_loc: (3,2)-(3,6) = "\#@@1"
+ │ ├── closing_loc: (3,6)-(3,7) = "\""
│ └── unescaped: "\#@@1"
- ├── @ ArrayNode (location: (20...27))
+ ├── @ ArrayNode (location: (5,1)-(5,8))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (23...26))
+ │ │ └── @ SymbolNode (location: (5,4)-(5,7))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (23...26) = "\#@1"
+ │ │ ├── value_loc: (5,4)-(5,7) = "\#@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
- │ ├── opening_loc: (20...23) = "%I["
- │ └── closing_loc: (26...27) = "]"
- ├── @ ArrayNode (location: (31...39))
+ │ ├── opening_loc: (5,1)-(5,4) = "%I["
+ │ └── closing_loc: (5,7)-(5,8) = "]"
+ ├── @ ArrayNode (location: (7,1)-(7,9))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (34...38))
+ │ │ └── @ SymbolNode (location: (7,4)-(7,8))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (34...38) = "\#@@1"
+ │ │ ├── value_loc: (7,4)-(7,8) = "\#@@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
- │ ├── opening_loc: (31...34) = "%I["
- │ └── closing_loc: (38...39) = "]"
- ├── @ StringNode (location: (43...50))
+ │ ├── opening_loc: (7,1)-(7,4) = "%I["
+ │ └── closing_loc: (7,8)-(7,9) = "]"
+ ├── @ StringNode (location: (9,1)-(9,8))
│ ├── flags: ∅
- │ ├── opening_loc: (43...46) = "%Q{"
- │ ├── content_loc: (46...49) = "\#@1"
- │ ├── closing_loc: (49...50) = "}"
+ │ ├── opening_loc: (9,1)-(9,4) = "%Q{"
+ │ ├── content_loc: (9,4)-(9,7) = "\#@1"
+ │ ├── closing_loc: (9,7)-(9,8) = "}"
│ └── unescaped: "\#@1"
- ├── @ StringNode (location: (54...62))
+ ├── @ StringNode (location: (11,1)-(11,9))
│ ├── flags: ∅
- │ ├── opening_loc: (54...57) = "%Q{"
- │ ├── content_loc: (57...61) = "\#@@1"
- │ ├── closing_loc: (61...62) = "}"
+ │ ├── opening_loc: (11,1)-(11,4) = "%Q{"
+ │ ├── content_loc: (11,4)-(11,8) = "\#@@1"
+ │ ├── closing_loc: (11,8)-(11,9) = "}"
│ └── unescaped: "\#@@1"
- ├── @ ArrayNode (location: (66...73))
+ ├── @ ArrayNode (location: (13,1)-(13,8))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (69...72))
+ │ │ └── @ StringNode (location: (13,4)-(13,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (69...72) = "\#@1"
+ │ │ ├── content_loc: (13,4)-(13,7) = "\#@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
- │ ├── opening_loc: (66...69) = "%W["
- │ └── closing_loc: (72...73) = "]"
- ├── @ ArrayNode (location: (77...85))
+ │ ├── opening_loc: (13,1)-(13,4) = "%W["
+ │ └── closing_loc: (13,7)-(13,8) = "]"
+ ├── @ ArrayNode (location: (15,1)-(15,9))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (80...84))
+ │ │ └── @ StringNode (location: (15,4)-(15,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (80...84) = "\#@@1"
+ │ │ ├── content_loc: (15,4)-(15,8) = "\#@@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
- │ ├── opening_loc: (77...80) = "%W["
- │ └── closing_loc: (84...85) = "]"
- ├── @ ArrayNode (location: (89...98))
+ │ ├── opening_loc: (15,1)-(15,4) = "%W["
+ │ └── closing_loc: (15,8)-(15,9) = "]"
+ ├── @ ArrayNode (location: (17,1)-(17,10))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (93...96))
+ │ │ └── @ SymbolNode (location: (17,5)-(17,8))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (93...96) = "\#@1"
+ │ │ ├── value_loc: (17,5)-(17,8) = "\#@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
- │ ├── opening_loc: (89...92) = "%i["
- │ └── closing_loc: (97...98) = "]"
- ├── @ ArrayNode (location: (102...112))
+ │ ├── opening_loc: (17,1)-(17,4) = "%i["
+ │ └── closing_loc: (17,9)-(17,10) = "]"
+ ├── @ ArrayNode (location: (19,1)-(19,11))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (106...110))
+ │ │ └── @ SymbolNode (location: (19,5)-(19,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (106...110) = "\#@@1"
+ │ │ ├── value_loc: (19,5)-(19,9) = "\#@@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
- │ ├── opening_loc: (102...105) = "%i["
- │ └── closing_loc: (111...112) = "]"
- ├── @ StringNode (location: (116...123))
+ │ ├── opening_loc: (19,1)-(19,4) = "%i["
+ │ └── closing_loc: (19,10)-(19,11) = "]"
+ ├── @ StringNode (location: (21,1)-(21,8))
│ ├── flags: ∅
- │ ├── opening_loc: (116...119) = "%q{"
- │ ├── content_loc: (119...122) = "\#@1"
- │ ├── closing_loc: (122...123) = "}"
+ │ ├── opening_loc: (21,1)-(21,4) = "%q{"
+ │ ├── content_loc: (21,4)-(21,7) = "\#@1"
+ │ ├── closing_loc: (21,7)-(21,8) = "}"
│ └── unescaped: "\#@1"
- ├── @ StringNode (location: (127...135))
+ ├── @ StringNode (location: (23,1)-(23,9))
│ ├── flags: ∅
- │ ├── opening_loc: (127...130) = "%q{"
- │ ├── content_loc: (130...134) = "\#@@1"
- │ ├── closing_loc: (134...135) = "}"
+ │ ├── opening_loc: (23,1)-(23,4) = "%q{"
+ │ ├── content_loc: (23,4)-(23,8) = "\#@@1"
+ │ ├── closing_loc: (23,8)-(23,9) = "}"
│ └── unescaped: "\#@@1"
- ├── @ RegularExpressionNode (location: (139...146))
- │ ├── opening_loc: (139...142) = "%r{"
- │ ├── content_loc: (142...145) = "\#@1"
- │ ├── closing_loc: (145...146) = "}"
+ ├── @ RegularExpressionNode (location: (25,1)-(25,8))
+ │ ├── opening_loc: (25,1)-(25,4) = "%r{"
+ │ ├── content_loc: (25,4)-(25,7) = "\#@1"
+ │ ├── closing_loc: (25,7)-(25,8) = "}"
│ ├── unescaped: "\#@1"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (150...158))
- │ ├── opening_loc: (150...153) = "%r{"
- │ ├── content_loc: (153...157) = "\#@@1"
- │ ├── closing_loc: (157...158) = "}"
+ ├── @ RegularExpressionNode (location: (27,1)-(27,9))
+ │ ├── opening_loc: (27,1)-(27,4) = "%r{"
+ │ ├── content_loc: (27,4)-(27,8) = "\#@@1"
+ │ ├── closing_loc: (27,8)-(27,9) = "}"
│ ├── unescaped: "\#@@1"
│ └── flags: ∅
- ├── @ SymbolNode (location: (162...169))
- │ ├── opening_loc: (162...165) = "%s{"
- │ ├── value_loc: (165...168) = "\#@1"
- │ ├── closing_loc: (168...169) = "}"
+ ├── @ SymbolNode (location: (29,1)-(29,8))
+ │ ├── opening_loc: (29,1)-(29,4) = "%s{"
+ │ ├── value_loc: (29,4)-(29,7) = "\#@1"
+ │ ├── closing_loc: (29,7)-(29,8) = "}"
│ └── unescaped: "\#@1"
- ├── @ SymbolNode (location: (173...181))
- │ ├── opening_loc: (173...176) = "%s{"
- │ ├── value_loc: (176...180) = "\#@@1"
- │ ├── closing_loc: (180...181) = "}"
+ ├── @ SymbolNode (location: (31,1)-(31,9))
+ │ ├── opening_loc: (31,1)-(31,4) = "%s{"
+ │ ├── value_loc: (31,4)-(31,8) = "\#@@1"
+ │ ├── closing_loc: (31,8)-(31,9) = "}"
│ └── unescaped: "\#@@1"
- ├── @ ArrayNode (location: (185...194))
+ ├── @ ArrayNode (location: (33,1)-(33,10))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (189...192))
+ │ │ └── @ StringNode (location: (33,5)-(33,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (189...192) = "\#@1"
+ │ │ ├── content_loc: (33,5)-(33,8) = "\#@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@1"
- │ ├── opening_loc: (185...188) = "%w["
- │ └── closing_loc: (193...194) = "]"
- ├── @ ArrayNode (location: (198...208))
+ │ ├── opening_loc: (33,1)-(33,4) = "%w["
+ │ └── closing_loc: (33,9)-(33,10) = "]"
+ ├── @ ArrayNode (location: (35,1)-(35,11))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (202...206))
+ │ │ └── @ StringNode (location: (35,5)-(35,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (202...206) = "\#@@1"
+ │ │ ├── content_loc: (35,5)-(35,9) = "\#@@1"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\#@@1"
- │ ├── opening_loc: (198...201) = "%w["
- │ └── closing_loc: (207...208) = "]"
- ├── @ XStringNode (location: (212...219))
- │ ├── opening_loc: (212...215) = "%x{"
- │ ├── content_loc: (215...218) = "\#@1"
- │ ├── closing_loc: (218...219) = "}"
+ │ ├── opening_loc: (35,1)-(35,4) = "%w["
+ │ └── closing_loc: (35,10)-(35,11) = "]"
+ ├── @ XStringNode (location: (37,1)-(37,8))
+ │ ├── opening_loc: (37,1)-(37,4) = "%x{"
+ │ ├── content_loc: (37,4)-(37,7) = "\#@1"
+ │ ├── closing_loc: (37,7)-(37,8) = "}"
│ └── unescaped: "\#@1"
- ├── @ XStringNode (location: (223...231))
- │ ├── opening_loc: (223...226) = "%x{"
- │ ├── content_loc: (226...230) = "\#@@1"
- │ ├── closing_loc: (230...231) = "}"
+ ├── @ XStringNode (location: (39,1)-(39,9))
+ │ ├── opening_loc: (39,1)-(39,4) = "%x{"
+ │ ├── content_loc: (39,4)-(39,8) = "\#@@1"
+ │ ├── closing_loc: (39,8)-(39,9) = "}"
│ └── unescaped: "\#@@1"
- ├── @ StringNode (location: (235...241))
+ ├── @ StringNode (location: (41,1)-(41,7))
│ ├── flags: ∅
- │ ├── opening_loc: (235...237) = "%{"
- │ ├── content_loc: (237...240) = "\#@1"
- │ ├── closing_loc: (240...241) = "}"
+ │ ├── opening_loc: (41,1)-(41,3) = "%{"
+ │ ├── content_loc: (41,3)-(41,6) = "\#@1"
+ │ ├── closing_loc: (41,6)-(41,7) = "}"
│ └── unescaped: "\#@1"
- ├── @ StringNode (location: (245...252))
+ ├── @ StringNode (location: (43,1)-(43,8))
│ ├── flags: ∅
- │ ├── opening_loc: (245...247) = "%{"
- │ ├── content_loc: (247...251) = "\#@@1"
- │ ├── closing_loc: (251...252) = "}"
+ │ ├── opening_loc: (43,1)-(43,3) = "%{"
+ │ ├── content_loc: (43,3)-(43,7) = "\#@@1"
+ │ ├── closing_loc: (43,7)-(43,8) = "}"
│ └── unescaped: "\#@@1"
- ├── @ StringNode (location: (256...261))
+ ├── @ StringNode (location: (45,1)-(45,6))
│ ├── flags: ∅
- │ ├── opening_loc: (256...257) = "'"
- │ ├── content_loc: (257...260) = "\#@1"
- │ ├── closing_loc: (260...261) = "'"
+ │ ├── opening_loc: (45,1)-(45,2) = "'"
+ │ ├── content_loc: (45,2)-(45,5) = "\#@1"
+ │ ├── closing_loc: (45,5)-(45,6) = "'"
│ └── unescaped: "\#@1"
- ├── @ StringNode (location: (265...271))
+ ├── @ StringNode (location: (47,1)-(47,7))
│ ├── flags: ∅
- │ ├── opening_loc: (265...266) = "'"
- │ ├── content_loc: (266...270) = "\#@@1"
- │ ├── closing_loc: (270...271) = "'"
+ │ ├── opening_loc: (47,1)-(47,2) = "'"
+ │ ├── content_loc: (47,2)-(47,6) = "\#@@1"
+ │ ├── closing_loc: (47,6)-(47,7) = "'"
│ └── unescaped: "\#@@1"
- ├── @ RegularExpressionNode (location: (275...280))
- │ ├── opening_loc: (275...276) = "/"
- │ ├── content_loc: (276...279) = "\#@1"
- │ ├── closing_loc: (279...280) = "/"
+ ├── @ RegularExpressionNode (location: (49,1)-(49,6))
+ │ ├── opening_loc: (49,1)-(49,2) = "/"
+ │ ├── content_loc: (49,2)-(49,5) = "\#@1"
+ │ ├── closing_loc: (49,5)-(49,6) = "/"
│ ├── unescaped: "\#@1"
│ └── flags: ∅
- ├── @ RegularExpressionNode (location: (284...290))
- │ ├── opening_loc: (284...285) = "/"
- │ ├── content_loc: (285...289) = "\#@@1"
- │ ├── closing_loc: (289...290) = "/"
+ ├── @ RegularExpressionNode (location: (51,1)-(51,7))
+ │ ├── opening_loc: (51,1)-(51,2) = "/"
+ │ ├── content_loc: (51,2)-(51,6) = "\#@@1"
+ │ ├── closing_loc: (51,6)-(51,7) = "/"
│ ├── unescaped: "\#@@1"
│ └── flags: ∅
- ├── @ SymbolNode (location: (294...300))
- │ ├── opening_loc: (294...296) = ":\""
- │ ├── value_loc: (296...299) = "\#@1"
- │ ├── closing_loc: (299...300) = "\""
+ ├── @ SymbolNode (location: (53,1)-(53,7))
+ │ ├── opening_loc: (53,1)-(53,3) = ":\""
+ │ ├── value_loc: (53,3)-(53,6) = "\#@1"
+ │ ├── closing_loc: (53,6)-(53,7) = "\""
│ └── unescaped: "\#@1"
- ├── @ SymbolNode (location: (304...311))
- │ ├── opening_loc: (304...306) = ":\""
- │ ├── value_loc: (306...310) = "\#@@1"
- │ ├── closing_loc: (310...311) = "\""
+ ├── @ SymbolNode (location: (55,1)-(55,8))
+ │ ├── opening_loc: (55,1)-(55,3) = ":\""
+ │ ├── value_loc: (55,3)-(55,7) = "\#@@1"
+ │ ├── closing_loc: (55,7)-(55,8) = "\""
│ └── unescaped: "\#@@1"
- ├── @ SymbolNode (location: (315...321))
- │ ├── opening_loc: (315...317) = ":'"
- │ ├── value_loc: (317...320) = "\#@1"
- │ ├── closing_loc: (320...321) = "'"
+ ├── @ SymbolNode (location: (57,1)-(57,7))
+ │ ├── opening_loc: (57,1)-(57,3) = ":'"
+ │ ├── value_loc: (57,3)-(57,6) = "\#@1"
+ │ ├── closing_loc: (57,6)-(57,7) = "'"
│ └── unescaped: "\#@1"
- ├── @ SymbolNode (location: (325...332))
- │ ├── opening_loc: (325...327) = ":'"
- │ ├── value_loc: (327...331) = "\#@@1"
- │ ├── closing_loc: (331...332) = "'"
+ ├── @ SymbolNode (location: (59,1)-(59,8))
+ │ ├── opening_loc: (59,1)-(59,3) = ":'"
+ │ ├── value_loc: (59,3)-(59,7) = "\#@@1"
+ │ ├── closing_loc: (59,7)-(59,8) = "'"
│ └── unescaped: "\#@@1"
- ├── @ XStringNode (location: (336...341))
- │ ├── opening_loc: (336...337) = "`"
- │ ├── content_loc: (337...340) = "\#@1"
- │ ├── closing_loc: (340...341) = "`"
+ ├── @ XStringNode (location: (61,1)-(61,6))
+ │ ├── opening_loc: (61,1)-(61,2) = "`"
+ │ ├── content_loc: (61,2)-(61,5) = "\#@1"
+ │ ├── closing_loc: (61,5)-(61,6) = "`"
│ └── unescaped: "\#@1"
- ├── @ XStringNode (location: (345...351))
- │ ├── opening_loc: (345...346) = "`"
- │ ├── content_loc: (346...350) = "\#@@1"
- │ ├── closing_loc: (350...351) = "`"
+ ├── @ XStringNode (location: (63,1)-(63,7))
+ │ ├── opening_loc: (63,1)-(63,2) = "`"
+ │ ├── content_loc: (63,2)-(63,6) = "\#@@1"
+ │ ├── closing_loc: (63,6)-(63,7) = "`"
│ └── unescaped: "\#@@1"
- ├── @ StringNode (location: (354...363))
+ ├── @ StringNode (location: (65,0)-(65,9))
│ ├── flags: ∅
- │ ├── opening_loc: (354...363) = "<<-\"HERE\""
- │ ├── content_loc: (364...368) = "\#@1\n"
- │ ├── closing_loc: (368...373) = "HERE\n"
+ │ ├── opening_loc: (65,0)-(65,9) = "<<-\"HERE\""
+ │ ├── content_loc: (66,0)-(66,0) = "\#@1\n"
+ │ ├── closing_loc: (67,0)-(67,0) = "HERE\n"
│ └── unescaped: "\#@1\n"
- ├── @ StringNode (location: (374...383))
+ ├── @ StringNode (location: (69,0)-(69,9))
│ ├── flags: ∅
- │ ├── opening_loc: (374...383) = "<<-\"HERE\""
- │ ├── content_loc: (384...389) = "\#@@1\n"
- │ ├── closing_loc: (389...394) = "HERE\n"
+ │ ├── opening_loc: (69,0)-(69,9) = "<<-\"HERE\""
+ │ ├── content_loc: (70,0)-(70,0) = "\#@@1\n"
+ │ ├── closing_loc: (71,0)-(71,0) = "HERE\n"
│ └── unescaped: "\#@@1\n"
- ├── @ StringNode (location: (395...404))
+ ├── @ StringNode (location: (73,0)-(73,9))
│ ├── flags: ∅
- │ ├── opening_loc: (395...404) = "<<-'HERE'"
- │ ├── content_loc: (405...409) = "\#@1\n"
- │ ├── closing_loc: (409...414) = "HERE\n"
+ │ ├── opening_loc: (73,0)-(73,9) = "<<-'HERE'"
+ │ ├── content_loc: (74,0)-(74,0) = "\#@1\n"
+ │ ├── closing_loc: (75,0)-(75,0) = "HERE\n"
│ └── unescaped: "\#@1\n"
- ├── @ StringNode (location: (415...424))
+ ├── @ StringNode (location: (77,0)-(77,9))
│ ├── flags: ∅
- │ ├── opening_loc: (415...424) = "<<-'HERE'"
- │ ├── content_loc: (425...430) = "\#@@1\n"
- │ ├── closing_loc: (430...435) = "HERE\n"
+ │ ├── opening_loc: (77,0)-(77,9) = "<<-'HERE'"
+ │ ├── content_loc: (78,0)-(78,0) = "\#@@1\n"
+ │ ├── closing_loc: (79,0)-(79,0) = "HERE\n"
│ └── unescaped: "\#@@1\n"
- ├── @ XStringNode (location: (436...445))
- │ ├── opening_loc: (436...445) = "<<-`HERE`"
- │ ├── content_loc: (446...450) = "\#@1\n"
- │ ├── closing_loc: (450...455) = "HERE\n"
+ ├── @ XStringNode (location: (81,0)-(81,9))
+ │ ├── opening_loc: (81,0)-(81,9) = "<<-`HERE`"
+ │ ├── content_loc: (82,0)-(82,0) = "\#@1\n"
+ │ ├── closing_loc: (83,0)-(83,0) = "HERE\n"
│ └── unescaped: "\#@1\n"
- └── @ XStringNode (location: (456...465))
- ├── opening_loc: (456...465) = "<<-`HERE`"
- ├── content_loc: (466...471) = "\#@@1\n"
- ├── closing_loc: (471...476) = "HERE\n"
+ └── @ XStringNode (location: (85,0)-(85,9))
+ ├── opening_loc: (85,0)-(85,9) = "<<-`HERE`"
+ ├── content_loc: (86,0)-(86,0) = "\#@@1\n"
+ ├── closing_loc: (87,0)-(87,0) = "HERE\n"
└── unescaped: "\#@@1\n"
diff --git a/test/yarp/snapshots/whitequark/ivar.txt b/test/yarp/snapshots/whitequark/ivar.txt
index 6f5a45e15a..9c70e6e959 100644
--- a/test/yarp/snapshots/whitequark/ivar.txt
+++ b/test/yarp/snapshots/whitequark/ivar.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ InstanceVariableReadNode (location: (0...4))
+ └── @ InstanceVariableReadNode (location: (1,0)-(1,4))
└── name: :@foo
diff --git a/test/yarp/snapshots/whitequark/ivasgn.txt b/test/yarp/snapshots/whitequark/ivasgn.txt
index b8678c182d..3be3907f62 100644
--- a/test/yarp/snapshots/whitequark/ivasgn.txt
+++ b/test/yarp/snapshots/whitequark/ivasgn.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ InstanceVariableWriteNode (location: (0...9))
+ └── @ InstanceVariableWriteNode (location: (1,0)-(1,9))
├── name: :@var
- ├── name_loc: (0...4) = "@var"
+ ├── name_loc: (1,0)-(1,4) = "@var"
├── value:
- │ @ IntegerNode (location: (7...9))
+ │ @ IntegerNode (location: (1,7)-(1,9))
│ └── flags: decimal
- └── operator_loc: (5...6) = "="
+ └── operator_loc: (1,5)-(1,6) = "="
diff --git a/test/yarp/snapshots/whitequark/keyword_argument_omission.txt b/test/yarp/snapshots/whitequark/keyword_argument_omission.txt
index bbcb0d36dc..b9774ebbec 100644
--- a/test/yarp/snapshots/whitequark/keyword_argument_omission.txt
+++ b/test/yarp/snapshots/whitequark/keyword_argument_omission.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "foo"
- ├── opening_loc: (3...4) = "("
+ ├── message_loc: (1,0)-(1,3) = "foo"
+ ├── opening_loc: (1,3)-(1,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (4...10))
+ │ @ ArgumentsNode (location: (1,4)-(1,10))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (4...10))
+ │ └── @ KeywordHashNode (location: (1,4)-(1,10))
│ └── elements: (length: 2)
- │ ├── @ AssocNode (location: (4...6))
+ │ ├── @ AssocNode (location: (1,4)-(1,6))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (4...6))
+ │ │ │ @ SymbolNode (location: (1,4)-(1,6))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (4...5) = "a"
- │ │ │ ├── closing_loc: (5...6) = ":"
+ │ │ │ ├── value_loc: (1,4)-(1,5) = "a"
+ │ │ │ ├── closing_loc: (1,5)-(1,6) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ ImplicitNode (location: (4...6))
+ │ │ │ @ ImplicitNode (location: (1,4)-(1,6))
│ │ │ └── value:
- │ │ │ @ CallNode (location: (4...6))
+ │ │ │ @ CallNode (location: (1,4)-(1,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (4...5) = "a"
+ │ │ │ ├── message_loc: (1,4)-(1,5) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -34,20 +34,20 @@
│ │ │ ├── flags: ∅
│ │ │ └── name: "a"
│ │ └── operator_loc: ∅
- │ └── @ AssocNode (location: (8...10))
+ │ └── @ AssocNode (location: (1,8)-(1,10))
│ ├── key:
- │ │ @ SymbolNode (location: (8...10))
+ │ │ @ SymbolNode (location: (1,8)-(1,10))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (8...9) = "b"
- │ │ ├── closing_loc: (9...10) = ":"
+ │ │ ├── value_loc: (1,8)-(1,9) = "b"
+ │ │ ├── closing_loc: (1,9)-(1,10) = ":"
│ │ └── unescaped: "b"
│ ├── value:
- │ │ @ ImplicitNode (location: (8...10))
+ │ │ @ ImplicitNode (location: (1,8)-(1,10))
│ │ └── value:
- │ │ @ CallNode (location: (8...10))
+ │ │ @ CallNode (location: (1,8)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...9) = "b"
+ │ │ ├── message_loc: (1,8)-(1,9) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -55,7 +55,7 @@
│ │ ├── flags: ∅
│ │ └── name: "b"
│ └── operator_loc: ∅
- ├── closing_loc: (10...11) = ")"
+ ├── closing_loc: (1,10)-(1,11) = ")"
├── block: ∅
├── flags: ∅
└── name: "foo"
diff --git a/test/yarp/snapshots/whitequark/kwarg.txt b/test/yarp/snapshots/whitequark/kwarg.txt
index 9447c2590c..72ac3865b7 100644
--- a/test/yarp/snapshots/whitequark/kwarg.txt
+++ b/test/yarp/snapshots/whitequark/kwarg.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ DefNode (location: (0...16))
+ └── @ DefNode (location: (1,0)-(1,16))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...10))
+ │ @ ParametersNode (location: (1,6)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...10))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :foo
- │ │ ├── name_loc: (6...10) = "foo:"
+ │ │ ├── name_loc: (1,6)-(1,10) = "foo:"
│ │ └── value: ∅
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:foo]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (10...11) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,10)-(1,11) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (13...16) = "end"
+ └── end_keyword_loc: (1,13)-(1,16) = "end"
diff --git a/test/yarp/snapshots/whitequark/kwbegin_compstmt.txt b/test/yarp/snapshots/whitequark/kwbegin_compstmt.txt
index ea9495bac0..0d1f9e6afa 100644
--- a/test/yarp/snapshots/whitequark/kwbegin_compstmt.txt
+++ b/test/yarp/snapshots/whitequark/kwbegin_compstmt.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(1,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
- └── @ BeginNode (location: (0...20))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,20))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (6...16))
+ │ @ StatementsNode (location: (1,6)-(1,16))
│ └── body: (length: 2)
- │ ├── @ CallNode (location: (6...10))
+ │ ├── @ CallNode (location: (1,6)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...10) = "foo!"
+ │ │ ├── message_loc: (1,6)-(1,10) = "foo!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "foo!"
- │ └── @ CallNode (location: (12...16))
+ │ └── @ CallNode (location: (1,12)-(1,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...16) = "bar!"
+ │ ├── message_loc: (1,12)-(1,16) = "bar!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -31,4 +31,4 @@
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (17...20) = "end"
+ └── end_keyword_loc: (1,17)-(1,20) = "end"
diff --git a/test/yarp/snapshots/whitequark/kwnilarg.txt b/test/yarp/snapshots/whitequark/kwnilarg.txt
index 40c7371e0b..42c0815710 100644
--- a/test/yarp/snapshots/whitequark/kwnilarg.txt
+++ b/test/yarp/snapshots/whitequark/kwnilarg.txt
@@ -1,84 +1,84 @@
-@ ProgramNode (location: (0...46))
+@ ProgramNode (location: (1,0)-(5,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...46))
+ @ StatementsNode (location: (1,0)-(5,13))
└── body: (length: 3)
- ├── @ LambdaNode (location: (0...12))
+ ├── @ LambdaNode (location: (1,0)-(1,12))
│ ├── locals: []
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (10...11) = "{"
- │ ├── closing_loc: (11...12) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,10)-(1,11) = "{"
+ │ ├── closing_loc: (1,11)-(1,12) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (2...9))
+ │ │ @ BlockParametersNode (location: (1,2)-(1,9))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3...8))
+ │ │ │ @ ParametersNode (location: (1,3)-(1,8))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ NoKeywordsParameterNode (location: (3...8))
- │ │ │ │ ├── operator_loc: (3...5) = "**"
- │ │ │ │ └── keyword_loc: (5...8) = "nil"
+ │ │ │ │ @ NoKeywordsParameterNode (location: (1,3)-(1,8))
+ │ │ │ │ ├── operator_loc: (1,3)-(1,5) = "**"
+ │ │ │ │ └── keyword_loc: (1,5)-(1,8) = "nil"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (2...3) = "("
- │ │ └── closing_loc: (8...9) = ")"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ │ └── closing_loc: (1,8)-(1,9) = ")"
│ └── body: ∅
- ├── @ DefNode (location: (14...31))
+ ├── @ DefNode (location: (3,0)-(3,17))
│ ├── name: :f
- │ ├── name_loc: (18...19) = "f"
+ │ ├── name_loc: (3,4)-(3,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (20...25))
+ │ │ @ ParametersNode (location: (3,6)-(3,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
- │ │ │ @ NoKeywordsParameterNode (location: (20...25))
- │ │ │ ├── operator_loc: (20...22) = "**"
- │ │ │ └── keyword_loc: (22...25) = "nil"
+ │ │ │ @ NoKeywordsParameterNode (location: (3,6)-(3,11))
+ │ │ │ ├── operator_loc: (3,6)-(3,8) = "**"
+ │ │ │ └── keyword_loc: (3,8)-(3,11) = "nil"
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: []
- │ ├── def_keyword_loc: (14...17) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
- │ ├── lparen_loc: (19...20) = "("
- │ ├── rparen_loc: (25...26) = ")"
+ │ ├── lparen_loc: (3,5)-(3,6) = "("
+ │ ├── rparen_loc: (3,11)-(3,12) = ")"
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (28...31) = "end"
- └── @ CallNode (location: (33...46))
+ │ └── end_keyword_loc: (3,14)-(3,17) = "end"
+ └── @ CallNode (location: (5,0)-(5,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (33...34) = "m"
+ ├── message_loc: (5,0)-(5,1) = "m"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (35...46))
+ │ @ BlockNode (location: (5,2)-(5,13))
│ ├── locals: []
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (37...44))
+ │ │ @ BlockParametersNode (location: (5,4)-(5,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (38...43))
+ │ │ │ @ ParametersNode (location: (5,5)-(5,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
- │ │ │ │ @ NoKeywordsParameterNode (location: (38...43))
- │ │ │ │ ├── operator_loc: (38...40) = "**"
- │ │ │ │ └── keyword_loc: (40...43) = "nil"
+ │ │ │ │ @ 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: (37...38) = "|"
- │ │ └── closing_loc: (43...44) = "|"
+ │ │ ├── opening_loc: (5,4)-(5,5) = "|"
+ │ │ └── closing_loc: (5,10)-(5,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (35...36) = "{"
- │ └── closing_loc: (45...46) = "}"
+ │ ├── opening_loc: (5,2)-(5,3) = "{"
+ │ └── closing_loc: (5,12)-(5,13) = "}"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/whitequark/kwoptarg.txt b/test/yarp/snapshots/whitequark/kwoptarg.txt
index dd1b36f018..2a3d2e8921 100644
--- a/test/yarp/snapshots/whitequark/kwoptarg.txt
+++ b/test/yarp/snapshots/whitequark/kwoptarg.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ DefNode (location: (0...18))
+ └── @ DefNode (location: (1,0)-(1,18))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...12))
+ │ @ ParametersNode (location: (1,6)-(1,12))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...12))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,12))
│ │ ├── name: :foo
- │ │ ├── name_loc: (6...10) = "foo:"
+ │ │ ├── name_loc: (1,6)-(1,10) = "foo:"
│ │ └── value:
- │ │ @ IntegerNode (location: (11...12))
+ │ │ @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:foo]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (12...13) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,12)-(1,13) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (15...18) = "end"
+ └── end_keyword_loc: (1,15)-(1,18) = "end"
diff --git a/test/yarp/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt b/test/yarp/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
index 3143a319b3..64ac6a7cf3 100644
--- a/test/yarp/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
+++ b/test/yarp/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt
@@ -1,54 +1,54 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ DefNode (location: (0...28))
+ └── @ DefNode (location: (1,0)-(1,28))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...16))
+ │ @ ParametersNode (location: (1,6)-(1,16))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 1)
- │ │ └── @ KeywordParameterNode (location: (6...12))
+ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,12))
│ │ ├── name: :a
- │ │ ├── name_loc: (6...8) = "a:"
+ │ │ ├── name_loc: (1,6)-(1,8) = "a:"
│ │ └── value:
- │ │ @ NilNode (location: (9...12))
+ │ │ @ NilNode (location: (1,9)-(1,12))
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (14...16))
+ │ │ @ KeywordRestParameterNode (location: (1,14)-(1,16))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (14...16) = "**"
+ │ │ └── operator_loc: (1,14)-(1,16) = "**"
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (19...24))
+ │ @ StatementsNode (location: (1,19)-(1,24))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (19...24))
+ │ └── @ CallNode (location: (1,19)-(1,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (19...20) = "b"
- │ ├── opening_loc: (20...21) = "("
+ │ ├── message_loc: (1,19)-(1,20) = "b"
+ │ ├── opening_loc: (1,20)-(1,21) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (21...23))
+ │ │ @ ArgumentsNode (location: (1,21)-(1,23))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (21...23))
+ │ │ └── @ KeywordHashNode (location: (1,21)-(1,23))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocSplatNode (location: (21...23))
+ │ │ └── @ AssocSplatNode (location: (1,21)-(1,23))
│ │ ├── value: ∅
- │ │ └── operator_loc: (21...23) = "**"
- │ ├── closing_loc: (23...24) = ")"
+ │ │ └── operator_loc: (1,21)-(1,23) = "**"
+ │ ├── closing_loc: (1,23)-(1,24) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "b"
├── locals: [:a, :**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (16...17) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,16)-(1,17) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (25...28) = "end"
+ └── end_keyword_loc: (1,25)-(1,28) = "end"
diff --git a/test/yarp/snapshots/whitequark/kwrestarg_named.txt b/test/yarp/snapshots/whitequark/kwrestarg_named.txt
index 13146ef4b3..034e260f92 100644
--- a/test/yarp/snapshots/whitequark/kwrestarg_named.txt
+++ b/test/yarp/snapshots/whitequark/kwrestarg_named.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ DefNode (location: (0...17))
+ └── @ DefNode (location: (1,0)-(1,17))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...11))
+ │ @ ParametersNode (location: (1,6)-(1,11))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (6...11))
+ │ │ @ KeywordRestParameterNode (location: (1,6)-(1,11))
│ │ ├── name: :foo
- │ │ ├── name_loc: (8...11) = "foo"
- │ │ └── operator_loc: (6...8) = "**"
+ │ │ ├── name_loc: (1,8)-(1,11) = "foo"
+ │ │ └── operator_loc: (1,6)-(1,8) = "**"
│ └── block: ∅
├── body: ∅
├── locals: [:foo]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (11...12) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,11)-(1,12) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/whitequark/kwrestarg_unnamed.txt b/test/yarp/snapshots/whitequark/kwrestarg_unnamed.txt
index bf11fe8cfb..9c3d0e628f 100644
--- a/test/yarp/snapshots/whitequark/kwrestarg_unnamed.txt
+++ b/test/yarp/snapshots/whitequark/kwrestarg_unnamed.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ DefNode (location: (0...14))
+ └── @ DefNode (location: (1,0)-(1,14))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...8))
+ │ @ ParametersNode (location: (1,6)-(1,8))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ KeywordRestParameterNode (location: (6...8))
+ │ │ @ KeywordRestParameterNode (location: (1,6)-(1,8))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (6...8) = "**"
+ │ │ └── operator_loc: (1,6)-(1,8) = "**"
│ └── block: ∅
├── body: ∅
├── locals: [:**]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (8...9) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,8)-(1,9) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (11...14) = "end"
+ └── end_keyword_loc: (1,11)-(1,14) = "end"
diff --git a/test/yarp/snapshots/whitequark/lbrace_arg_after_command_args.txt b/test/yarp/snapshots/whitequark/lbrace_arg_after_command_args.txt
index 6650533d42..3bce83afdf 100644
--- a/test/yarp/snapshots/whitequark/lbrace_arg_after_command_args.txt
+++ b/test/yarp/snapshots/whitequark/lbrace_arg_after_command_args.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ CallNode (location: (0...22))
+ └── @ CallNode (location: (1,0)-(1,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "let"
+ ├── message_loc: (1,0)-(1,3) = "let"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...8))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,8))
│ ├── body:
- │ │ @ StatementsNode (location: (5...7))
+ │ │ @ StatementsNode (location: (1,5)-(1,7))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (5...7))
- │ │ ├── opening_loc: (5...6) = ":"
- │ │ ├── value_loc: (6...7) = "a"
+ │ │ └── @ 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: (4...5) = "("
- │ └── closing_loc: (7...8) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,7)-(1,8) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (9...22))
+ │ @ BlockNode (location: (1,9)-(1,22))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (11...20))
+ │ │ @ StatementsNode (location: (1,11)-(1,20))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (11...20))
+ │ │ └── @ CallNode (location: (1,11)-(1,20))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...12) = "m"
+ │ │ ├── message_loc: (1,11)-(1,12) = "m"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (13...20))
+ │ │ │ @ BlockNode (location: (1,13)-(1,20))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (13...15) = "do"
- │ │ │ └── closing_loc: (17...20) = "end"
+ │ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ │ ├── flags: ∅
│ │ └── name: "m"
- │ ├── opening_loc: (9...10) = "{"
- │ └── closing_loc: (21...22) = "}"
+ │ ├── opening_loc: (1,9)-(1,10) = "{"
+ │ └── closing_loc: (1,21)-(1,22) = "}"
├── flags: ∅
└── name: "let"
diff --git a/test/yarp/snapshots/whitequark/lparenarg_after_lvar__since_25.txt b/test/yarp/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
index 822a160be6..a3442293f2 100644
--- a/test/yarp/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
+++ b/test/yarp/snapshots/whitequark/lparenarg_after_lvar__since_25.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(3,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (4...14))
+ │ │ @ ArgumentsNode (location: (1,4)-(1,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (4...14))
+ │ │ └── @ CallNode (location: (1,4)-(1,14))
│ │ ├── receiver:
- │ │ │ @ ParenthesesNode (location: (4...10))
+ │ │ │ @ ParenthesesNode (location: (1,4)-(1,10))
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (5...9))
+ │ │ │ │ @ StatementsNode (location: (1,5)-(1,9))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ FloatNode (location: (5...9))
- │ │ │ ├── opening_loc: (4...5) = "("
- │ │ │ └── closing_loc: (9...10) = ")"
- │ │ ├── call_operator_loc: (10...11) = "."
- │ │ ├── message_loc: (11...14) = "abs"
+ │ │ │ │ └── @ 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) = "."
+ │ │ ├── message_loc: (1,11)-(1,14) = "abs"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -32,25 +32,25 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "foo"
- └── @ CallNode (location: (16...31))
+ └── @ CallNode (location: (3,0)-(3,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (16...20) = "meth"
+ ├── message_loc: (3,0)-(3,4) = "meth"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (21...31))
+ │ @ ArgumentsNode (location: (3,5)-(3,15))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (21...31))
+ │ └── @ CallNode (location: (3,5)-(3,15))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (21...27))
+ │ │ @ ParenthesesNode (location: (3,5)-(3,11))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (22...26))
+ │ │ │ @ StatementsNode (location: (3,6)-(3,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ FloatNode (location: (22...26))
- │ │ ├── opening_loc: (21...22) = "("
- │ │ └── closing_loc: (26...27) = ")"
- │ ├── call_operator_loc: (27...28) = "."
- │ ├── message_loc: (28...31) = "abs"
+ │ │ │ └── @ 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) = "."
+ │ ├── message_loc: (3,12)-(3,15) = "abs"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/lvar.txt b/test/yarp/snapshots/whitequark/lvar.txt
index cab1da577b..1585d64cd9 100644
--- a/test/yarp/snapshots/whitequark/lvar.txt
+++ b/test/yarp/snapshots/whitequark/lvar.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ CallNode (location: (0...3))
+ └── @ CallNode (location: (1,0)-(1,3))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "foo"
+ ├── message_loc: (1,0)-(1,3) = "foo"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/lvar_injecting_match.txt b/test/yarp/snapshots/whitequark/lvar_injecting_match.txt
index e570bf18a8..b457f19086 100644
--- a/test/yarp/snapshots/whitequark/lvar_injecting_match.txt
+++ b/test/yarp/snapshots/whitequark/lvar_injecting_match.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...31))
+@ ProgramNode (location: (1,0)-(1,31))
├── locals: [:match]
└── statements:
- @ StatementsNode (location: (0...31))
+ @ StatementsNode (location: (1,0)-(1,31))
└── body: (length: 2)
- ├── @ MatchWriteNode (location: (0...24))
+ ├── @ MatchWriteNode (location: (1,0)-(1,24))
│ ├── call:
- │ │ @ CallNode (location: (0...24))
+ │ │ @ CallNode (location: (1,0)-(1,24))
│ │ ├── receiver:
- │ │ │ @ RegularExpressionNode (location: (0...15))
- │ │ │ ├── opening_loc: (0...1) = "/"
- │ │ │ ├── content_loc: (1...14) = "(?<match>bar)"
- │ │ │ ├── closing_loc: (14...15) = "/"
+ │ │ │ @ RegularExpressionNode (location: (1,0)-(1,15))
+ │ │ │ ├── opening_loc: (1,0)-(1,1) = "/"
+ │ │ │ ├── content_loc: (1,1)-(1,14) = "(?<match>bar)"
+ │ │ │ ├── closing_loc: (1,14)-(1,15) = "/"
│ │ │ ├── unescaped: "(?<match>bar)"
│ │ │ └── flags: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...18) = "=~"
+ │ │ ├── message_loc: (1,16)-(1,18) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (19...24))
+ │ │ │ @ ArgumentsNode (location: (1,19)-(1,24))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ StringNode (location: (19...24))
+ │ │ │ └── @ StringNode (location: (1,19)-(1,24))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (19...20) = "'"
- │ │ │ ├── content_loc: (20...23) = "bar"
- │ │ │ ├── closing_loc: (23...24) = "'"
+ │ │ │ ├── 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: ∅
│ │ └── name: "=~"
│ └── locals: [:match]
- └── @ LocalVariableReadNode (location: (26...31))
+ └── @ LocalVariableReadNode (location: (1,26)-(1,31))
├── name: :match
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/lvasgn.txt b/test/yarp/snapshots/whitequark/lvasgn.txt
index a76108c048..dfa7183840 100644
--- a/test/yarp/snapshots/whitequark/lvasgn.txt
+++ b/test/yarp/snapshots/whitequark/lvasgn.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: [:var]
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (0...8))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,8))
│ ├── name: :var
│ ├── depth: 0
- │ ├── name_loc: (0...3) = "var"
+ │ ├── name_loc: (1,0)-(1,3) = "var"
│ ├── value:
- │ │ @ IntegerNode (location: (6...8))
+ │ │ @ IntegerNode (location: (1,6)-(1,8))
│ │ └── flags: decimal
- │ └── operator_loc: (4...5) = "="
- └── @ LocalVariableReadNode (location: (10...13))
+ │ └── operator_loc: (1,4)-(1,5) = "="
+ └── @ LocalVariableReadNode (location: (1,10)-(1,13))
├── name: :var
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/masgn.txt b/test/yarp/snapshots/whitequark/masgn.txt
index c498b95e51..e62f8e4ca7 100644
--- a/test/yarp/snapshots/whitequark/masgn.txt
+++ b/test/yarp/snapshots/whitequark/masgn.txt
@@ -1,68 +1,68 @@
-@ ProgramNode (location: (0...56))
+@ ProgramNode (location: (1,0)-(5,20))
├── locals: [:foo, :bar, :baz]
└── statements:
- @ StatementsNode (location: (0...56))
+ @ StatementsNode (location: (1,0)-(5,20))
└── body: (length: 3)
- ├── @ MultiWriteNode (location: (0...17))
+ ├── @ MultiWriteNode (location: (1,0)-(1,17))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (1...4))
+ │ │ ├── @ LocalVariableTargetNode (location: (1,1)-(1,4))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (6...9))
+ │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,9))
│ │ ├── name: :bar
│ │ └── depth: 0
- │ ├── lparen_loc: (0...1) = "("
- │ ├── rparen_loc: (9...10) = ")"
- │ ├── operator_loc: (11...12) = "="
+ │ ├── lparen_loc: (1,0)-(1,1) = "("
+ │ ├── rparen_loc: (1,9)-(1,10) = ")"
+ │ ├── operator_loc: (1,11)-(1,12) = "="
│ └── value:
- │ @ ArrayNode (location: (13...17))
+ │ @ ArrayNode (location: (1,13)-(1,17))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (13...14))
+ │ │ ├── @ IntegerNode (location: (1,13)-(1,14))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (16...17))
+ │ │ └── @ IntegerNode (location: (1,16)-(1,17))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ MultiWriteNode (location: (19...34))
+ ├── @ MultiWriteNode (location: (3,0)-(3,15))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (19...22))
+ │ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (24...27))
+ │ │ └── @ LocalVariableTargetNode (location: (3,5)-(3,8))
│ │ ├── name: :bar
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (28...29) = "="
+ │ ├── operator_loc: (3,9)-(3,10) = "="
│ └── value:
- │ @ ArrayNode (location: (30...34))
+ │ @ ArrayNode (location: (3,11)-(3,15))
│ ├── elements: (length: 2)
- │ │ ├── @ IntegerNode (location: (30...31))
+ │ │ ├── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ └── flags: decimal
- │ │ └── @ IntegerNode (location: (33...34))
+ │ │ └── @ IntegerNode (location: (3,14)-(3,15))
│ │ └── flags: decimal
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- └── @ MultiWriteNode (location: (36...56))
+ └── @ MultiWriteNode (location: (5,0)-(5,20))
├── targets: (length: 3)
- │ ├── @ LocalVariableTargetNode (location: (36...39))
+ │ ├── @ LocalVariableTargetNode (location: (5,0)-(5,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── @ LocalVariableTargetNode (location: (41...44))
+ │ ├── @ LocalVariableTargetNode (location: (5,5)-(5,8))
│ │ ├── name: :bar
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (46...49))
+ │ └── @ LocalVariableTargetNode (location: (5,10)-(5,13))
│ ├── name: :baz
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (50...51) = "="
+ ├── operator_loc: (5,14)-(5,15) = "="
└── value:
- @ ArrayNode (location: (52...56))
+ @ ArrayNode (location: (5,16)-(5,20))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (52...53))
+ │ ├── @ IntegerNode (location: (5,16)-(5,17))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (55...56))
+ │ └── @ IntegerNode (location: (5,19)-(5,20))
│ └── flags: decimal
├── opening_loc: ∅
└── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/masgn_attr.txt b/test/yarp/snapshots/whitequark/masgn_attr.txt
index 2c2fc1540d..c4464f01d4 100644
--- a/test/yarp/snapshots/whitequark/masgn_attr.txt
+++ b/test/yarp/snapshots/whitequark/masgn_attr.txt
@@ -1,88 +1,88 @@
-@ ProgramNode (location: (0...63))
+@ ProgramNode (location: (1,0)-(5,18))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...63))
+ @ StatementsNode (location: (1,0)-(5,18))
└── body: (length: 3)
- ├── @ MultiWriteNode (location: (0...17))
+ ├── @ MultiWriteNode (location: (1,0)-(1,17))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (0...6))
+ │ │ ├── @ CallNode (location: (1,0)-(1,6))
│ │ │ ├── receiver:
- │ │ │ │ @ SelfNode (location: (0...4))
- │ │ │ ├── call_operator_loc: (4...5) = "."
- │ │ │ ├── message_loc: (5...6) = "A"
+ │ │ │ │ @ SelfNode (location: (1,0)-(1,4))
+ │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "."
+ │ │ │ ├── message_loc: (1,5)-(1,6) = "A"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "A="
- │ │ └── @ LocalVariableTargetNode (location: (8...11))
+ │ │ └── @ LocalVariableTargetNode (location: (1,8)-(1,11))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (12...13) = "="
+ │ ├── operator_loc: (1,12)-(1,13) = "="
│ └── value:
- │ @ LocalVariableReadNode (location: (14...17))
+ │ @ LocalVariableReadNode (location: (1,14)-(1,17))
│ ├── name: :foo
│ └── depth: 0
- ├── @ MultiWriteNode (location: (19...43))
+ ├── @ MultiWriteNode (location: (3,0)-(3,24))
│ ├── targets: (length: 2)
- │ │ ├── @ CallNode (location: (19...25))
+ │ │ ├── @ CallNode (location: (3,0)-(3,6))
│ │ │ ├── receiver:
- │ │ │ │ @ SelfNode (location: (19...23))
- │ │ │ ├── call_operator_loc: (23...24) = "."
- │ │ │ ├── message_loc: (24...25) = "a"
+ │ │ │ │ @ SelfNode (location: (3,0)-(3,4))
+ │ │ │ ├── call_operator_loc: (3,4)-(3,5) = "."
+ │ │ │ ├── message_loc: (3,5)-(3,6) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "a="
- │ │ └── @ CallNode (location: (27...37))
+ │ │ └── @ CallNode (location: (3,8)-(3,18))
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (27...31))
+ │ │ │ @ SelfNode (location: (3,8)-(3,12))
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...37) = "[1, 2]"
- │ │ ├── opening_loc: (31...32) = "["
+ │ │ ├── message_loc: (3,12)-(3,18) = "[1, 2]"
+ │ │ ├── opening_loc: (3,12)-(3,13) = "["
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (32...36))
+ │ │ │ @ ArgumentsNode (location: (3,13)-(3,17))
│ │ │ └── arguments: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (32...33))
+ │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (35...36))
+ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
│ │ │ └── flags: decimal
- │ │ ├── closing_loc: (36...37) = "]"
+ │ │ ├── closing_loc: (3,17)-(3,18) = "]"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "[]="
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (38...39) = "="
+ │ ├── operator_loc: (3,19)-(3,20) = "="
│ └── value:
- │ @ LocalVariableReadNode (location: (40...43))
+ │ @ LocalVariableReadNode (location: (3,21)-(3,24))
│ ├── name: :foo
│ └── depth: 0
- └── @ MultiWriteNode (location: (45...63))
+ └── @ MultiWriteNode (location: (5,0)-(5,18))
├── targets: (length: 2)
- │ ├── @ CallNode (location: (45...52))
+ │ ├── @ CallNode (location: (5,0)-(5,7))
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (45...49))
- │ │ ├── call_operator_loc: (49...51) = "::"
- │ │ ├── message_loc: (51...52) = "a"
+ │ │ │ @ SelfNode (location: (5,0)-(5,4))
+ │ │ ├── call_operator_loc: (5,4)-(5,6) = "::"
+ │ │ ├── message_loc: (5,6)-(5,7) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "a="
- │ └── @ LocalVariableTargetNode (location: (54...57))
+ │ └── @ LocalVariableTargetNode (location: (5,9)-(5,12))
│ ├── name: :foo
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (58...59) = "="
+ ├── operator_loc: (5,13)-(5,14) = "="
└── value:
- @ LocalVariableReadNode (location: (60...63))
+ @ LocalVariableReadNode (location: (5,15)-(5,18))
├── name: :foo
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/masgn_cmd.txt b/test/yarp/snapshots/whitequark/masgn_cmd.txt
index 8ec6fa3509..e2bfcffa0b 100644
--- a/test/yarp/snapshots/whitequark/masgn_cmd.txt
+++ b/test/yarp/snapshots/whitequark/masgn_cmd.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: [:foo, :bar]
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...16))
+ └── @ MultiWriteNode (location: (1,0)-(1,16))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...3))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (5...8))
+ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8))
│ ├── name: :bar
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (9...10) = "="
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ CallNode (location: (11...16))
+ @ CallNode (location: (1,11)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (11...12) = "m"
+ ├── message_loc: (1,11)-(1,12) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (13...16))
+ │ @ ArgumentsNode (location: (1,13)-(1,16))
│ └── arguments: (length: 1)
- │ └── @ LocalVariableReadNode (location: (13...16))
+ │ └── @ LocalVariableReadNode (location: (1,13)-(1,16))
│ ├── name: :foo
│ └── depth: 0
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/masgn_const.txt b/test/yarp/snapshots/whitequark/masgn_const.txt
index ed6f4b151c..3cd8f13a78 100644
--- a/test/yarp/snapshots/whitequark/masgn_const.txt
+++ b/test/yarp/snapshots/whitequark/masgn_const.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...34))
+@ ProgramNode (location: (1,0)-(3,18))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...34))
+ @ StatementsNode (location: (1,0)-(3,18))
└── body: (length: 2)
- ├── @ MultiWriteNode (location: (0...14))
+ ├── @ MultiWriteNode (location: (1,0)-(1,14))
│ ├── targets: (length: 2)
- │ │ ├── @ ConstantPathTargetNode (location: (0...3))
+ │ │ ├── @ ConstantPathTargetNode (location: (1,0)-(1,3))
│ │ │ ├── parent: ∅
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (2...3))
+ │ │ │ │ @ ConstantReadNode (location: (1,2)-(1,3))
│ │ │ │ └── name: :A
- │ │ │ └── delimiter_loc: (0...2) = "::"
- │ │ └── @ LocalVariableTargetNode (location: (5...8))
+ │ │ │ └── delimiter_loc: (1,0)-(1,2) = "::"
+ │ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (9...10) = "="
+ │ ├── operator_loc: (1,9)-(1,10) = "="
│ └── value:
- │ @ LocalVariableReadNode (location: (11...14))
+ │ @ LocalVariableReadNode (location: (1,11)-(1,14))
│ ├── name: :foo
│ └── depth: 0
- └── @ MultiWriteNode (location: (16...34))
+ └── @ MultiWriteNode (location: (3,0)-(3,18))
├── targets: (length: 2)
- │ ├── @ ConstantPathTargetNode (location: (16...23))
+ │ ├── @ ConstantPathTargetNode (location: (3,0)-(3,7))
│ │ ├── parent:
- │ │ │ @ SelfNode (location: (16...20))
+ │ │ │ @ SelfNode (location: (3,0)-(3,4))
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (22...23))
+ │ │ │ @ ConstantReadNode (location: (3,6)-(3,7))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (20...22) = "::"
- │ └── @ LocalVariableTargetNode (location: (25...28))
+ │ │ └── delimiter_loc: (3,4)-(3,6) = "::"
+ │ └── @ LocalVariableTargetNode (location: (3,9)-(3,12))
│ ├── name: :foo
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (29...30) = "="
+ ├── operator_loc: (3,13)-(3,14) = "="
└── value:
- @ LocalVariableReadNode (location: (31...34))
+ @ LocalVariableReadNode (location: (3,15)-(3,18))
├── name: :foo
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/masgn_nested.txt b/test/yarp/snapshots/whitequark/masgn_nested.txt
index 3a3f07d09b..9fac89a301 100644
--- a/test/yarp/snapshots/whitequark/masgn_nested.txt
+++ b/test/yarp/snapshots/whitequark/masgn_nested.txt
@@ -1,57 +1,57 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(3,15))
├── locals: [:b, :a, :c]
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
- ├── @ MultiWriteNode (location: (0...13))
+ ├── @ MultiWriteNode (location: (1,0)-(1,13))
│ ├── targets: (length: 1)
- │ │ └── @ MultiTargetNode (location: (1...6))
+ │ │ └── @ MultiTargetNode (location: (1,1)-(1,6))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (2...3))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (1,2)-(1,3))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
- │ │ │ └── @ SplatNode (location: (3...4))
- │ │ │ ├── operator_loc: (3...4) = ","
+ │ │ │ └── @ SplatNode (location: (1,3)-(1,4))
+ │ │ │ ├── operator_loc: (1,3)-(1,4) = ","
│ │ │ └── expression: ∅
- │ │ ├── lparen_loc: (1...2) = "("
- │ │ └── rparen_loc: (5...6) = ")"
- │ ├── lparen_loc: (0...1) = "("
- │ ├── rparen_loc: (6...7) = ")"
- │ ├── operator_loc: (8...9) = "="
+ │ │ ├── lparen_loc: (1,1)-(1,2) = "("
+ │ │ └── rparen_loc: (1,5)-(1,6) = ")"
+ │ ├── lparen_loc: (1,0)-(1,1) = "("
+ │ ├── rparen_loc: (1,6)-(1,7) = ")"
+ │ ├── operator_loc: (1,8)-(1,9) = "="
│ └── value:
- │ @ CallNode (location: (10...13))
+ │ @ CallNode (location: (1,10)-(1,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...13) = "foo"
+ │ ├── message_loc: (1,10)-(1,13) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- └── @ MultiWriteNode (location: (15...30))
+ └── @ MultiWriteNode (location: (3,0)-(3,15))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (15...16))
+ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ MultiTargetNode (location: (18...24))
+ │ └── @ MultiTargetNode (location: (3,3)-(3,9))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (19...20))
+ │ │ ├── @ LocalVariableTargetNode (location: (3,4)-(3,5))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (22...23))
+ │ │ └── @ LocalVariableTargetNode (location: (3,7)-(3,8))
│ │ ├── name: :c
│ │ └── depth: 0
- │ ├── lparen_loc: (18...19) = "("
- │ └── rparen_loc: (23...24) = ")"
+ │ ├── lparen_loc: (3,3)-(3,4) = "("
+ │ └── rparen_loc: (3,8)-(3,9) = ")"
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (25...26) = "="
+ ├── operator_loc: (3,10)-(3,11) = "="
└── value:
- @ CallNode (location: (27...30))
+ @ CallNode (location: (3,12)-(3,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (27...30) = "foo"
+ ├── message_loc: (3,12)-(3,15) = "foo"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/masgn_splat.txt b/test/yarp/snapshots/whitequark/masgn_splat.txt
index ef0b003988..f4148d5102 100644
--- a/test/yarp/snapshots/whitequark/masgn_splat.txt
+++ b/test/yarp/snapshots/whitequark/masgn_splat.txt
@@ -1,126 +1,126 @@
-@ ProgramNode (location: (0...139))
+@ ProgramNode (location: (1,0)-(19,16))
├── locals: [:c, :d, :b, :a]
└── statements:
- @ StatementsNode (location: (0...139))
+ @ StatementsNode (location: (1,0)-(19,16))
└── body: (length: 10)
- ├── @ MultiWriteNode (location: (0...7))
+ ├── @ MultiWriteNode (location: (1,0)-(1,7))
│ ├── targets: (length: 1)
- │ │ └── @ SplatNode (location: (0...1))
- │ │ ├── operator_loc: (0...1) = "*"
+ │ │ └── @ SplatNode (location: (1,0)-(1,1))
+ │ │ ├── operator_loc: (1,0)-(1,1) = "*"
│ │ └── expression: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (2...3) = "="
+ │ ├── operator_loc: (1,2)-(1,3) = "="
│ └── value:
- │ @ CallNode (location: (4...7))
+ │ @ CallNode (location: (1,4)-(1,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...7) = "bar"
+ │ ├── message_loc: (1,4)-(1,7) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (9...22))
+ ├── @ MultiWriteNode (location: (3,0)-(3,13))
│ ├── targets: (length: 3)
- │ │ ├── @ MultiTargetNode (location: (9...10))
+ │ │ ├── @ MultiTargetNode (location: (3,0)-(3,1))
│ │ │ ├── targets: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (9...10))
- │ │ │ │ ├── operator_loc: (9...10) = "*"
+ │ │ │ │ └── @ SplatNode (location: (3,0)-(3,1))
+ │ │ │ │ ├── operator_loc: (3,0)-(3,1) = "*"
│ │ │ │ └── expression: ∅
│ │ │ ├── lparen_loc: ∅
│ │ │ └── rparen_loc: ∅
- │ │ ├── @ LocalVariableTargetNode (location: (12...13))
+ │ │ ├── @ LocalVariableTargetNode (location: (3,3)-(3,4))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (15...16))
+ │ │ └── @ LocalVariableTargetNode (location: (3,6)-(3,7))
│ │ ├── name: :d
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (17...18) = "="
+ │ ├── operator_loc: (3,8)-(3,9) = "="
│ └── value:
- │ @ CallNode (location: (19...22))
+ │ @ CallNode (location: (3,10)-(3,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (19...22) = "bar"
+ │ ├── message_loc: (3,10)-(3,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (24...32))
+ ├── @ MultiWriteNode (location: (5,0)-(5,8))
│ ├── targets: (length: 1)
- │ │ └── @ SplatNode (location: (24...26))
- │ │ ├── operator_loc: (24...25) = "*"
+ │ │ └── @ SplatNode (location: (5,0)-(5,2))
+ │ │ ├── operator_loc: (5,0)-(5,1) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (25...26))
+ │ │ @ LocalVariableTargetNode (location: (5,1)-(5,2))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (27...28) = "="
+ │ ├── operator_loc: (5,3)-(5,4) = "="
│ └── value:
- │ @ CallNode (location: (29...32))
+ │ @ CallNode (location: (5,5)-(5,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...32) = "bar"
+ │ ├── message_loc: (5,5)-(5,8) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (34...45))
+ ├── @ MultiWriteNode (location: (7,0)-(7,11))
│ ├── targets: (length: 2)
- │ │ ├── @ MultiTargetNode (location: (34...36))
+ │ │ ├── @ MultiTargetNode (location: (7,0)-(7,2))
│ │ │ ├── targets: (length: 1)
- │ │ │ │ └── @ SplatNode (location: (34...36))
- │ │ │ │ ├── operator_loc: (34...35) = "*"
+ │ │ │ │ └── @ SplatNode (location: (7,0)-(7,2))
+ │ │ │ │ ├── operator_loc: (7,0)-(7,1) = "*"
│ │ │ │ └── expression:
- │ │ │ │ @ LocalVariableTargetNode (location: (35...36))
+ │ │ │ │ @ LocalVariableTargetNode (location: (7,1)-(7,2))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── lparen_loc: ∅
│ │ │ └── rparen_loc: ∅
- │ │ └── @ LocalVariableTargetNode (location: (38...39))
+ │ │ └── @ LocalVariableTargetNode (location: (7,4)-(7,5))
│ │ ├── name: :c
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (40...41) = "="
+ │ ├── operator_loc: (7,6)-(7,7) = "="
│ └── value:
- │ @ CallNode (location: (42...45))
+ │ @ CallNode (location: (7,8)-(7,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (42...45) = "bar"
+ │ ├── message_loc: (7,8)-(7,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (47...65))
+ ├── @ MultiWriteNode (location: (9,0)-(9,18))
│ ├── targets: (length: 2)
- │ │ ├── @ InstanceVariableTargetNode (location: (47...51))
+ │ │ ├── @ InstanceVariableTargetNode (location: (9,0)-(9,4))
│ │ │ └── name: :@foo
- │ │ └── @ ClassVariableTargetNode (location: (53...58))
+ │ │ └── @ ClassVariableTargetNode (location: (9,6)-(9,11))
│ │ └── name: :@@bar
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (59...60) = "="
+ │ ├── operator_loc: (9,12)-(9,13) = "="
│ └── value:
- │ @ ArrayNode (location: (61...65))
+ │ @ ArrayNode (location: (9,14)-(9,18))
│ ├── elements: (length: 1)
- │ │ └── @ SplatNode (location: (61...65))
- │ │ ├── operator_loc: (61...62) = "*"
+ │ │ └── @ SplatNode (location: (9,14)-(9,18))
+ │ │ ├── operator_loc: (9,14)-(9,15) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (62...65))
+ │ │ @ CallNode (location: (9,15)-(9,18))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (62...65) = "foo"
+ │ │ ├── message_loc: (9,15)-(9,18) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -129,137 +129,137 @@
│ │ └── name: "foo"
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- ├── @ MultiWriteNode (location: (67...77))
+ ├── @ MultiWriteNode (location: (11,0)-(11,10))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (67...68))
+ │ │ ├── @ LocalVariableTargetNode (location: (11,0)-(11,1))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (70...71))
- │ │ ├── operator_loc: (70...71) = "*"
+ │ │ └── @ SplatNode (location: (11,3)-(11,4))
+ │ │ ├── operator_loc: (11,3)-(11,4) = "*"
│ │ └── expression: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (72...73) = "="
+ │ ├── operator_loc: (11,5)-(11,6) = "="
│ └── value:
- │ @ CallNode (location: (74...77))
+ │ @ CallNode (location: (11,7)-(11,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (74...77) = "bar"
+ │ ├── message_loc: (11,7)-(11,10) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (79...92))
+ ├── @ MultiWriteNode (location: (13,0)-(13,13))
│ ├── targets: (length: 3)
- │ │ ├── @ LocalVariableTargetNode (location: (79...80))
+ │ │ ├── @ LocalVariableTargetNode (location: (13,0)-(13,1))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── @ SplatNode (location: (82...83))
- │ │ │ ├── operator_loc: (82...83) = "*"
+ │ │ ├── @ SplatNode (location: (13,3)-(13,4))
+ │ │ │ ├── operator_loc: (13,3)-(13,4) = "*"
│ │ │ └── expression: ∅
- │ │ └── @ LocalVariableTargetNode (location: (85...86))
+ │ │ └── @ LocalVariableTargetNode (location: (13,6)-(13,7))
│ │ ├── name: :c
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (87...88) = "="
+ │ ├── operator_loc: (13,8)-(13,9) = "="
│ └── value:
- │ @ CallNode (location: (89...92))
+ │ @ CallNode (location: (13,10)-(13,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (89...92) = "bar"
+ │ ├── message_loc: (13,10)-(13,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (94...105))
+ ├── @ MultiWriteNode (location: (15,0)-(15,11))
│ ├── targets: (length: 2)
- │ │ ├── @ LocalVariableTargetNode (location: (94...95))
+ │ │ ├── @ LocalVariableTargetNode (location: (15,0)-(15,1))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ └── @ SplatNode (location: (97...99))
- │ │ ├── operator_loc: (97...98) = "*"
+ │ │ └── @ SplatNode (location: (15,3)-(15,5))
+ │ │ ├── operator_loc: (15,3)-(15,4) = "*"
│ │ └── expression:
- │ │ @ LocalVariableTargetNode (location: (98...99))
+ │ │ @ LocalVariableTargetNode (location: (15,4)-(15,5))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (100...101) = "="
+ │ ├── operator_loc: (15,6)-(15,7) = "="
│ └── value:
- │ @ CallNode (location: (102...105))
+ │ @ CallNode (location: (15,8)-(15,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (102...105) = "bar"
+ │ ├── message_loc: (15,8)-(15,11) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── @ MultiWriteNode (location: (107...121))
+ ├── @ MultiWriteNode (location: (17,0)-(17,14))
│ ├── targets: (length: 3)
- │ │ ├── @ LocalVariableTargetNode (location: (107...108))
+ │ │ ├── @ LocalVariableTargetNode (location: (17,0)-(17,1))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── @ SplatNode (location: (110...112))
- │ │ │ ├── operator_loc: (110...111) = "*"
+ │ │ ├── @ SplatNode (location: (17,3)-(17,5))
+ │ │ │ ├── operator_loc: (17,3)-(17,4) = "*"
│ │ │ └── expression:
- │ │ │ @ LocalVariableTargetNode (location: (111...112))
+ │ │ │ @ LocalVariableTargetNode (location: (17,4)-(17,5))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
- │ │ └── @ LocalVariableTargetNode (location: (114...115))
+ │ │ └── @ LocalVariableTargetNode (location: (17,7)-(17,8))
│ │ ├── name: :c
│ │ └── depth: 0
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
- │ ├── operator_loc: (116...117) = "="
+ │ ├── operator_loc: (17,9)-(17,10) = "="
│ └── value:
- │ @ CallNode (location: (118...121))
+ │ @ CallNode (location: (17,11)-(17,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (118...121) = "bar"
+ │ ├── message_loc: (17,11)-(17,14) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── @ MultiWriteNode (location: (123...139))
+ └── @ MultiWriteNode (location: (19,0)-(19,16))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (123...124))
+ │ ├── @ LocalVariableTargetNode (location: (19,0)-(19,1))
│ │ ├── name: :a
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (126...127))
+ │ └── @ LocalVariableTargetNode (location: (19,3)-(19,4))
│ ├── name: :b
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (128...129) = "="
+ ├── operator_loc: (19,5)-(19,6) = "="
└── value:
- @ ArrayNode (location: (130...139))
+ @ ArrayNode (location: (19,7)-(19,16))
├── elements: (length: 2)
- │ ├── @ SplatNode (location: (130...134))
- │ │ ├── operator_loc: (130...131) = "*"
+ │ ├── @ SplatNode (location: (19,7)-(19,11))
+ │ │ ├── operator_loc: (19,7)-(19,8) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (131...134))
+ │ │ @ CallNode (location: (19,8)-(19,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (131...134) = "foo"
+ │ │ ├── message_loc: (19,8)-(19,11) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── @ CallNode (location: (136...139))
+ │ └── @ CallNode (location: (19,13)-(19,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (136...139) = "bar"
+ │ ├── message_loc: (19,13)-(19,16) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/method_definition_in_while_cond.txt b/test/yarp/snapshots/whitequark/method_definition_in_while_cond.txt
index 6c0e1250b0..2ecf554690 100644
--- a/test/yarp/snapshots/whitequark/method_definition_in_while_cond.txt
+++ b/test/yarp/snapshots/whitequark/method_definition_in_while_cond.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...190))
+@ ProgramNode (location: (1,0)-(7,47))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...190))
+ @ StatementsNode (location: (1,0)-(7,47))
└── body: (length: 4)
- ├── @ WhileNode (location: (0...45))
- │ ├── keyword_loc: (0...5) = "while"
- │ ├── closing_loc: (42...45) = "end"
+ ├── @ WhileNode (location: (1,0)-(1,45))
+ │ ├── keyword_loc: (1,0)-(1,5) = "while"
+ │ ├── closing_loc: (1,42)-(1,45) = "end"
│ ├── predicate:
- │ │ @ DefNode (location: (6...33))
+ │ │ @ DefNode (location: (1,6)-(1,33))
│ │ ├── name: :foo
- │ │ ├── name_loc: (10...13) = "foo"
+ │ │ ├── name_loc: (1,10)-(1,13) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (14...28))
+ │ │ │ @ ParametersNode (location: (1,14)-(1,28))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (14...28))
+ │ │ │ │ └── @ OptionalParameterNode (location: (1,14)-(1,28))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (14...15) = "a"
- │ │ │ │ ├── operator_loc: (16...17) = "="
+ │ │ │ │ ├── name_loc: (1,14)-(1,15) = "a"
+ │ │ │ │ ├── operator_loc: (1,16)-(1,17) = "="
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (18...28))
+ │ │ │ │ @ CallNode (location: (1,18)-(1,28))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (18...21) = "tap"
+ │ │ │ │ ├── message_loc: (1,18)-(1,21) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (22...28))
+ │ │ │ │ │ @ BlockNode (location: (1,22)-(1,28))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (22...24) = "do"
- │ │ │ │ │ └── closing_loc: (25...28) = "end"
+ │ │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do"
+ │ │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
│ │ │ ├── rest: ∅
@@ -43,93 +43,93 @@
│ │ │ └── block: ∅
│ │ ├── body: ∅
│ │ ├── locals: [:a]
- │ │ ├── def_keyword_loc: (6...9) = "def"
+ │ │ ├── def_keyword_loc: (1,6)-(1,9) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (30...33) = "end"
+ │ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (35...40))
+ │ │ @ StatementsNode (location: (1,35)-(1,40))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (35...40))
+ │ │ └── @ BreakNode (location: (1,35)-(1,40))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (35...40) = "break"
+ │ │ └── keyword_loc: (1,35)-(1,40) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (47...89))
- │ ├── keyword_loc: (47...52) = "while"
- │ ├── closing_loc: (86...89) = "end"
+ ├── @ WhileNode (location: (3,0)-(3,42))
+ │ ├── keyword_loc: (3,0)-(3,5) = "while"
+ │ ├── closing_loc: (3,39)-(3,42) = "end"
│ ├── predicate:
- │ │ @ DefNode (location: (53...77))
+ │ │ @ DefNode (location: (3,6)-(3,30))
│ │ ├── name: :foo
- │ │ ├── name_loc: (57...60) = "foo"
+ │ │ ├── name_loc: (3,10)-(3,13) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (62...72))
+ │ │ │ @ StatementsNode (location: (3,15)-(3,25))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (62...72))
+ │ │ │ └── @ CallNode (location: (3,15)-(3,25))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (62...65) = "tap"
+ │ │ │ ├── message_loc: (3,15)-(3,18) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (66...72))
+ │ │ │ │ @ BlockNode (location: (3,19)-(3,25))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (66...68) = "do"
- │ │ │ │ └── closing_loc: (69...72) = "end"
+ │ │ │ │ ├── opening_loc: (3,19)-(3,21) = "do"
+ │ │ │ │ └── closing_loc: (3,22)-(3,25) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
│ │ ├── locals: []
- │ │ ├── def_keyword_loc: (53...56) = "def"
+ │ │ ├── def_keyword_loc: (3,6)-(3,9) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (74...77) = "end"
+ │ │ └── end_keyword_loc: (3,27)-(3,30) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (79...84))
+ │ │ @ StatementsNode (location: (3,32)-(3,37))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (79...84))
+ │ │ └── @ BreakNode (location: (3,32)-(3,37))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (79...84) = "break"
+ │ │ └── keyword_loc: (3,32)-(3,37) = "break"
│ └── flags: ∅
- ├── @ WhileNode (location: (91...141))
- │ ├── keyword_loc: (91...96) = "while"
- │ ├── closing_loc: (138...141) = "end"
+ ├── @ WhileNode (location: (5,0)-(5,50))
+ │ ├── keyword_loc: (5,0)-(5,5) = "while"
+ │ ├── closing_loc: (5,47)-(5,50) = "end"
│ ├── predicate:
- │ │ @ DefNode (location: (97...129))
+ │ │ @ DefNode (location: (5,6)-(5,38))
│ │ ├── name: :foo
- │ │ ├── name_loc: (106...109) = "foo"
+ │ │ ├── name_loc: (5,15)-(5,18) = "foo"
│ │ ├── receiver:
- │ │ │ @ SelfNode (location: (101...105))
+ │ │ │ @ SelfNode (location: (5,10)-(5,14))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (110...124))
+ │ │ │ @ ParametersNode (location: (5,19)-(5,33))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
- │ │ │ │ └── @ OptionalParameterNode (location: (110...124))
+ │ │ │ │ └── @ OptionalParameterNode (location: (5,19)-(5,33))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (110...111) = "a"
- │ │ │ │ ├── operator_loc: (112...113) = "="
+ │ │ │ │ ├── name_loc: (5,19)-(5,20) = "a"
+ │ │ │ │ ├── operator_loc: (5,21)-(5,22) = "="
│ │ │ │ └── value:
- │ │ │ │ @ CallNode (location: (114...124))
+ │ │ │ │ @ CallNode (location: (5,23)-(5,33))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (114...117) = "tap"
+ │ │ │ │ ├── message_loc: (5,23)-(5,26) = "tap"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
- │ │ │ │ │ @ BlockNode (location: (118...124))
+ │ │ │ │ │ @ BlockNode (location: (5,27)-(5,33))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
- │ │ │ │ │ ├── opening_loc: (118...120) = "do"
- │ │ │ │ │ └── closing_loc: (121...124) = "end"
+ │ │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do"
+ │ │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end"
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "tap"
│ │ │ ├── rest: ∅
@@ -139,59 +139,59 @@
│ │ │ └── block: ∅
│ │ ├── body: ∅
│ │ ├── locals: [:a]
- │ │ ├── def_keyword_loc: (97...100) = "def"
- │ │ ├── operator_loc: (105...106) = "."
+ │ │ ├── def_keyword_loc: (5,6)-(5,9) = "def"
+ │ │ ├── operator_loc: (5,14)-(5,15) = "."
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
- │ │ └── end_keyword_loc: (126...129) = "end"
+ │ │ └── end_keyword_loc: (5,35)-(5,38) = "end"
│ ├── statements:
- │ │ @ StatementsNode (location: (131...136))
+ │ │ @ StatementsNode (location: (5,40)-(5,45))
│ │ └── body: (length: 1)
- │ │ └── @ BreakNode (location: (131...136))
+ │ │ └── @ BreakNode (location: (5,40)-(5,45))
│ │ ├── arguments: ∅
- │ │ └── keyword_loc: (131...136) = "break"
+ │ │ └── keyword_loc: (5,40)-(5,45) = "break"
│ └── flags: ∅
- └── @ WhileNode (location: (143...190))
- ├── keyword_loc: (143...148) = "while"
- ├── closing_loc: (187...190) = "end"
+ └── @ WhileNode (location: (7,0)-(7,47))
+ ├── keyword_loc: (7,0)-(7,5) = "while"
+ ├── closing_loc: (7,44)-(7,47) = "end"
├── predicate:
- │ @ DefNode (location: (149...178))
+ │ @ DefNode (location: (7,6)-(7,35))
│ ├── name: :foo
- │ ├── name_loc: (158...161) = "foo"
+ │ ├── name_loc: (7,15)-(7,18) = "foo"
│ ├── receiver:
- │ │ @ SelfNode (location: (153...157))
+ │ │ @ SelfNode (location: (7,10)-(7,14))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (163...173))
+ │ │ @ StatementsNode (location: (7,20)-(7,30))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (163...173))
+ │ │ └── @ CallNode (location: (7,20)-(7,30))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (163...166) = "tap"
+ │ │ ├── message_loc: (7,20)-(7,23) = "tap"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (167...173))
+ │ │ │ @ BlockNode (location: (7,24)-(7,30))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (167...169) = "do"
- │ │ │ └── closing_loc: (170...173) = "end"
+ │ │ │ ├── opening_loc: (7,24)-(7,26) = "do"
+ │ │ │ └── closing_loc: (7,27)-(7,30) = "end"
│ │ ├── flags: ∅
│ │ └── name: "tap"
│ ├── locals: []
- │ ├── def_keyword_loc: (149...152) = "def"
- │ ├── operator_loc: (157...158) = "."
+ │ ├── def_keyword_loc: (7,6)-(7,9) = "def"
+ │ ├── operator_loc: (7,14)-(7,15) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (175...178) = "end"
+ │ └── end_keyword_loc: (7,32)-(7,35) = "end"
├── statements:
- │ @ StatementsNode (location: (180...185))
+ │ @ StatementsNode (location: (7,37)-(7,42))
│ └── body: (length: 1)
- │ └── @ BreakNode (location: (180...185))
+ │ └── @ BreakNode (location: (7,37)-(7,42))
│ ├── arguments: ∅
- │ └── keyword_loc: (180...185) = "break"
+ │ └── keyword_loc: (7,37)-(7,42) = "break"
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/module.txt b/test/yarp/snapshots/whitequark/module.txt
index 739fea688b..87348c4ec9 100644
--- a/test/yarp/snapshots/whitequark/module.txt
+++ b/test/yarp/snapshots/whitequark/module.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ ModuleNode (location: (0...15))
+ └── @ ModuleNode (location: (1,0)-(1,15))
├── locals: []
- ├── module_keyword_loc: (0...6) = "module"
+ ├── module_keyword_loc: (1,0)-(1,6) = "module"
├── constant_path:
- │ @ ConstantReadNode (location: (7...10))
+ │ @ ConstantReadNode (location: (1,7)-(1,10))
│ └── name: :Foo
├── body: ∅
- ├── end_keyword_loc: (12...15) = "end"
+ ├── end_keyword_loc: (1,12)-(1,15) = "end"
└── name: :Foo
diff --git a/test/yarp/snapshots/whitequark/multiple_pattern_matches.txt b/test/yarp/snapshots/whitequark/multiple_pattern_matches.txt
index 39424a9eb0..ee1cbd3838 100644
--- a/test/yarp/snapshots/whitequark/multiple_pattern_matches.txt
+++ b/test/yarp/snapshots/whitequark/multiple_pattern_matches.txt
@@ -1,141 +1,141 @@
-@ ProgramNode (location: (0...52))
+@ ProgramNode (location: (1,0)-(5,12))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...52))
+ @ StatementsNode (location: (1,0)-(5,12))
└── body: (length: 4)
- ├── @ MatchRequiredNode (location: (0...12))
+ ├── @ MatchRequiredNode (location: (1,0)-(1,12))
│ ├── value:
- │ │ @ HashNode (location: (0...6))
- │ │ ├── opening_loc: (0...1) = "{"
+ │ │ @ HashNode (location: (1,0)-(1,6))
+ │ │ ├── opening_loc: (1,0)-(1,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (1...5))
+ │ │ │ └── @ AssocNode (location: (1,1)-(1,5))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (1...3))
+ │ │ │ │ @ SymbolNode (location: (1,1)-(1,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (1...2) = "a"
- │ │ │ │ ├── closing_loc: (2...3) = ":"
+ │ │ │ │ ├── value_loc: (1,1)-(1,2) = "a"
+ │ │ │ │ ├── closing_loc: (1,2)-(1,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (4...5))
+ │ │ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (5...6) = "}"
+ │ │ └── closing_loc: (1,5)-(1,6) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (10...12))
+ │ │ @ HashPatternNode (location: (1,10)-(1,12))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (10...12))
+ │ │ │ └── @ AssocNode (location: (1,10)-(1,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (10...12))
+ │ │ │ │ @ SymbolNode (location: (1,10)-(1,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (10...11) = "a"
- │ │ │ │ ├── closing_loc: (11...12) = ":"
+ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a"
+ │ │ │ │ ├── closing_loc: (1,11)-(1,12) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (7...9) = "=>"
- ├── @ MatchRequiredNode (location: (13...25))
+ │ └── operator_loc: (1,7)-(1,9) = "=>"
+ ├── @ MatchRequiredNode (location: (2,0)-(2,12))
│ ├── value:
- │ │ @ HashNode (location: (13...19))
- │ │ ├── opening_loc: (13...14) = "{"
+ │ │ @ HashNode (location: (2,0)-(2,6))
+ │ │ ├── opening_loc: (2,0)-(2,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (14...18))
+ │ │ │ └── @ AssocNode (location: (2,1)-(2,5))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (14...16))
+ │ │ │ │ @ SymbolNode (location: (2,1)-(2,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (14...15) = "a"
- │ │ │ │ ├── closing_loc: (15...16) = ":"
+ │ │ │ │ ├── value_loc: (2,1)-(2,2) = "a"
+ │ │ │ │ ├── closing_loc: (2,2)-(2,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (17...18))
+ │ │ │ │ @ IntegerNode (location: (2,4)-(2,5))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (18...19) = "}"
+ │ │ └── closing_loc: (2,5)-(2,6) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (23...25))
+ │ │ @ HashPatternNode (location: (2,10)-(2,12))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (23...25))
+ │ │ │ └── @ AssocNode (location: (2,10)-(2,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (23...25))
+ │ │ │ │ @ SymbolNode (location: (2,10)-(2,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (23...24) = "a"
- │ │ │ │ ├── closing_loc: (24...25) = ":"
+ │ │ │ │ ├── value_loc: (2,10)-(2,11) = "a"
+ │ │ │ │ ├── closing_loc: (2,11)-(2,12) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (20...22) = "=>"
- ├── @ MatchPredicateNode (location: (27...39))
+ │ └── operator_loc: (2,7)-(2,9) = "=>"
+ ├── @ MatchPredicateNode (location: (4,0)-(4,12))
│ ├── value:
- │ │ @ HashNode (location: (27...33))
- │ │ ├── opening_loc: (27...28) = "{"
+ │ │ @ HashNode (location: (4,0)-(4,6))
+ │ │ ├── opening_loc: (4,0)-(4,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (28...32))
+ │ │ │ └── @ AssocNode (location: (4,1)-(4,5))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (28...30))
+ │ │ │ │ @ SymbolNode (location: (4,1)-(4,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (28...29) = "a"
- │ │ │ │ ├── closing_loc: (29...30) = ":"
+ │ │ │ │ ├── value_loc: (4,1)-(4,2) = "a"
+ │ │ │ │ ├── closing_loc: (4,2)-(4,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (31...32))
+ │ │ │ │ @ IntegerNode (location: (4,4)-(4,5))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (32...33) = "}"
+ │ │ └── closing_loc: (4,5)-(4,6) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (37...39))
+ │ │ @ HashPatternNode (location: (4,10)-(4,12))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (37...39))
+ │ │ │ └── @ AssocNode (location: (4,10)-(4,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (37...39))
+ │ │ │ │ @ SymbolNode (location: (4,10)-(4,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (37...38) = "a"
- │ │ │ │ ├── closing_loc: (38...39) = ":"
+ │ │ │ │ ├── value_loc: (4,10)-(4,11) = "a"
+ │ │ │ │ ├── closing_loc: (4,11)-(4,12) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (34...36) = "in"
- └── @ MatchPredicateNode (location: (40...52))
+ │ └── operator_loc: (4,7)-(4,9) = "in"
+ └── @ MatchPredicateNode (location: (5,0)-(5,12))
├── value:
- │ @ HashNode (location: (40...46))
- │ ├── opening_loc: (40...41) = "{"
+ │ @ HashNode (location: (5,0)-(5,6))
+ │ ├── opening_loc: (5,0)-(5,1) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (41...45))
+ │ │ └── @ AssocNode (location: (5,1)-(5,5))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (41...43))
+ │ │ │ @ SymbolNode (location: (5,1)-(5,3))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (41...42) = "a"
- │ │ │ ├── closing_loc: (42...43) = ":"
+ │ │ │ ├── value_loc: (5,1)-(5,2) = "a"
+ │ │ │ ├── closing_loc: (5,2)-(5,3) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (44...45))
+ │ │ │ @ IntegerNode (location: (5,4)-(5,5))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (45...46) = "}"
+ │ └── closing_loc: (5,5)-(5,6) = "}"
├── pattern:
- │ @ HashPatternNode (location: (50...52))
+ │ @ HashPatternNode (location: (5,10)-(5,12))
│ ├── constant: ∅
│ ├── assocs: (length: 1)
- │ │ └── @ AssocNode (location: (50...52))
+ │ │ └── @ AssocNode (location: (5,10)-(5,12))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (50...52))
+ │ │ │ @ SymbolNode (location: (5,10)-(5,12))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (50...51) = "a"
- │ │ │ ├── closing_loc: (51...52) = ":"
+ │ │ │ ├── value_loc: (5,10)-(5,11) = "a"
+ │ │ │ ├── closing_loc: (5,11)-(5,12) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value: ∅
│ │ └── operator_loc: ∅
│ ├── kwrest: ∅
│ ├── opening_loc: ∅
│ └── closing_loc: ∅
- └── operator_loc: (47...49) = "in"
+ └── operator_loc: (5,7)-(5,9) = "in"
diff --git a/test/yarp/snapshots/whitequark/newline_in_hash_argument.txt b/test/yarp/snapshots/whitequark/newline_in_hash_argument.txt
index 5e294850bd..6c91492ca8 100644
--- a/test/yarp/snapshots/whitequark/newline_in_hash_argument.txt
+++ b/test/yarp/snapshots/whitequark/newline_in_hash_argument.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...74))
+@ ProgramNode (location: (1,0)-(14,1))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...74))
+ @ StatementsNode (location: (1,0)-(14,1))
└── body: (length: 3)
- ├── @ CaseNode (location: (0...40))
+ ├── @ CaseNode (location: (1,0)-(8,3))
│ ├── predicate:
- │ │ @ CallNode (location: (5...8))
+ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...8) = "foo"
+ │ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,17 +16,17 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── conditions: (length: 2)
- │ │ ├── @ InNode (location: (9...21))
+ │ │ ├── @ InNode (location: (2,0)-(4,4))
│ │ │ ├── pattern:
- │ │ │ │ @ HashPatternNode (location: (12...14))
+ │ │ │ │ @ HashPatternNode (location: (2,3)-(2,5))
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── assocs: (length: 1)
- │ │ │ │ │ └── @ AssocNode (location: (12...14))
+ │ │ │ │ │ └── @ AssocNode (location: (2,3)-(2,5))
│ │ │ │ │ ├── key:
- │ │ │ │ │ │ @ SymbolNode (location: (12...14))
+ │ │ │ │ │ │ @ SymbolNode (location: (2,3)-(2,5))
│ │ │ │ │ │ ├── opening_loc: ∅
- │ │ │ │ │ │ ├── value_loc: (12...13) = "a"
- │ │ │ │ │ │ ├── closing_loc: (13...14) = ":"
+ │ │ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "a"
+ │ │ │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":"
│ │ │ │ │ │ └── unescaped: "a"
│ │ │ │ │ ├── value: ∅
│ │ │ │ │ └── operator_loc: ∅
@@ -34,24 +34,24 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ └── closing_loc: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (15...21))
+ │ │ │ │ @ StatementsNode (location: (3,0)-(4,4))
│ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ IntegerNode (location: (15...16))
+ │ │ │ │ ├── @ IntegerNode (location: (3,0)-(3,1))
│ │ │ │ │ └── flags: decimal
- │ │ │ │ └── @ TrueNode (location: (17...21))
- │ │ │ ├── in_loc: (9...11) = "in"
+ │ │ │ │ └── @ TrueNode (location: (4,0)-(4,4))
+ │ │ │ ├── in_loc: (2,0)-(2,2) = "in"
│ │ │ └── then_loc: ∅
- │ │ └── @ InNode (location: (22...36))
+ │ │ └── @ InNode (location: (5,0)-(7,4))
│ │ ├── pattern:
- │ │ │ @ HashPatternNode (location: (25...29))
+ │ │ │ @ HashPatternNode (location: (5,3)-(5,7))
│ │ │ ├── constant: ∅
│ │ │ ├── assocs: (length: 1)
- │ │ │ │ └── @ AssocNode (location: (25...29))
+ │ │ │ │ └── @ AssocNode (location: (5,3)-(5,7))
│ │ │ │ ├── key:
- │ │ │ │ │ @ SymbolNode (location: (25...29))
- │ │ │ │ │ ├── opening_loc: (25...26) = "\""
- │ │ │ │ │ ├── value_loc: (26...27) = "b"
- │ │ │ │ │ ├── closing_loc: (27...29) = "\":"
+ │ │ │ │ │ @ SymbolNode (location: (5,3)-(5,7))
+ │ │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "\""
+ │ │ │ │ │ ├── value_loc: (5,4)-(5,5) = "b"
+ │ │ │ │ │ ├── closing_loc: (5,5)-(5,7) = "\":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value: ∅
│ │ │ │ └── operator_loc: ∅
@@ -59,80 +59,80 @@
│ │ │ ├── opening_loc: ∅
│ │ │ └── closing_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (30...36))
+ │ │ │ @ StatementsNode (location: (6,0)-(7,4))
│ │ │ └── body: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (30...31))
+ │ │ │ ├── @ IntegerNode (location: (6,0)-(6,1))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ TrueNode (location: (32...36))
- │ │ ├── in_loc: (22...24) = "in"
+ │ │ │ └── @ TrueNode (location: (7,0)-(7,4))
+ │ │ ├── in_loc: (5,0)-(5,2) = "in"
│ │ └── then_loc: ∅
│ ├── consequent: ∅
- │ ├── case_keyword_loc: (0...4) = "case"
- │ └── end_keyword_loc: (37...40) = "end"
- ├── @ CallNode (location: (42...58))
+ │ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ │ └── end_keyword_loc: (8,0)-(8,3) = "end"
+ ├── @ CallNode (location: (10,0)-(11,1))
│ ├── receiver:
- │ │ @ CallNode (location: (42...45))
+ │ │ @ CallNode (location: (10,0)-(10,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...45) = "obj"
+ │ │ ├── message_loc: (10,0)-(10,3) = "obj"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "obj"
- │ ├── call_operator_loc: (45...46) = "."
- │ ├── message_loc: (46...49) = "set"
+ │ ├── call_operator_loc: (10,3)-(10,4) = "."
+ │ ├── message_loc: (10,4)-(10,7) = "set"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (50...58))
+ │ │ @ ArgumentsNode (location: (10,8)-(11,1))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (50...58))
+ │ │ └── @ KeywordHashNode (location: (10,8)-(11,1))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (50...58))
+ │ │ └── @ AssocNode (location: (10,8)-(11,1))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (50...56))
- │ │ │ ├── opening_loc: (50...51) = "\""
- │ │ │ ├── value_loc: (51...54) = "foo"
- │ │ │ ├── closing_loc: (54...56) = "\":"
+ │ │ │ @ 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: (57...58))
+ │ │ │ @ IntegerNode (location: (11,0)-(11,1))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "set"
- └── @ CallNode (location: (60...74))
+ └── @ CallNode (location: (13,0)-(14,1))
├── receiver:
- │ @ CallNode (location: (60...63))
+ │ @ CallNode (location: (13,0)-(13,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (60...63) = "obj"
+ │ ├── message_loc: (13,0)-(13,3) = "obj"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "obj"
- ├── call_operator_loc: (63...64) = "."
- ├── message_loc: (64...67) = "set"
+ ├── call_operator_loc: (13,3)-(13,4) = "."
+ ├── message_loc: (13,4)-(13,7) = "set"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (68...74))
+ │ @ ArgumentsNode (location: (13,8)-(14,1))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (68...74))
+ │ └── @ KeywordHashNode (location: (13,8)-(14,1))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (68...74))
+ │ └── @ AssocNode (location: (13,8)-(14,1))
│ ├── key:
- │ │ @ SymbolNode (location: (68...72))
+ │ │ @ SymbolNode (location: (13,8)-(13,12))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (68...71) = "foo"
- │ │ ├── closing_loc: (71...72) = ":"
+ │ │ ├── value_loc: (13,8)-(13,11) = "foo"
+ │ │ ├── closing_loc: (13,11)-(13,12) = ":"
│ │ └── unescaped: "foo"
│ ├── value:
- │ │ @ IntegerNode (location: (73...74))
+ │ │ @ IntegerNode (location: (14,0)-(14,1))
│ │ └── flags: decimal
│ └── operator_loc: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/next.txt b/test/yarp/snapshots/whitequark/next.txt
index 277d3e81bb..b7d05ff9aa 100644
--- a/test/yarp/snapshots/whitequark/next.txt
+++ b/test/yarp/snapshots/whitequark/next.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(7,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(7,9))
└── body: (length: 4)
- ├── @ NextNode (location: (0...4))
+ ├── @ NextNode (location: (1,0)-(1,4))
│ ├── arguments: ∅
- │ └── keyword_loc: (0...4) = "next"
- ├── @ NextNode (location: (6...14))
+ │ └── keyword_loc: (1,0)-(1,4) = "next"
+ ├── @ NextNode (location: (3,0)-(3,8))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (11...14))
+ │ │ @ ArgumentsNode (location: (3,5)-(3,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (11...14))
+ │ │ └── @ CallNode (location: (3,5)-(3,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (3,5)-(3,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── keyword_loc: (6...10) = "next"
- ├── @ NextNode (location: (16...22))
+ │ └── keyword_loc: (3,0)-(3,4) = "next"
+ ├── @ NextNode (location: (5,0)-(5,6))
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (20...22))
+ │ │ @ ArgumentsNode (location: (5,4)-(5,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (20...22))
+ │ │ └── @ ParenthesesNode (location: (5,4)-(5,6))
│ │ ├── body: ∅
- │ │ ├── opening_loc: (20...21) = "("
- │ │ └── closing_loc: (21...22) = ")"
- │ └── keyword_loc: (16...20) = "next"
- └── @ NextNode (location: (24...33))
+ │ │ ├── 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: (28...33))
+ │ @ ArgumentsNode (location: (7,4)-(7,9))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (28...33))
+ │ └── @ ParenthesesNode (location: (7,4)-(7,9))
│ ├── body:
- │ │ @ StatementsNode (location: (29...32))
+ │ │ @ StatementsNode (location: (7,5)-(7,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (29...32))
+ │ │ └── @ CallNode (location: (7,5)-(7,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (29...32) = "foo"
+ │ │ ├── message_loc: (7,5)-(7,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (28...29) = "("
- │ └── closing_loc: (32...33) = ")"
- └── keyword_loc: (24...28) = "next"
+ │ ├── opening_loc: (7,4)-(7,5) = "("
+ │ └── closing_loc: (7,8)-(7,9) = ")"
+ └── keyword_loc: (7,0)-(7,4) = "next"
diff --git a/test/yarp/snapshots/whitequark/next_block.txt b/test/yarp/snapshots/whitequark/next_block.txt
index 37400d267d..59cb11ac87 100644
--- a/test/yarp/snapshots/whitequark/next_block.txt
+++ b/test/yarp/snapshots/whitequark/next_block.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ NextNode (location: (0...19))
+ └── @ NextNode (location: (1,0)-(1,19))
├── arguments:
- │ @ ArgumentsNode (location: (5...19))
+ │ @ ArgumentsNode (location: (1,5)-(1,19))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (5...19))
+ │ └── @ CallNode (location: (1,5)-(1,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "fun"
+ │ ├── message_loc: (1,5)-(1,8) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (9...12))
+ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (9...12))
+ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "foo"
+ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -27,12 +27,12 @@
│ │ └── name: "foo"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (13...19))
+ │ │ @ BlockNode (location: (1,13)-(1,19))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (13...15) = "do"
- │ │ └── closing_loc: (16...19) = "end"
+ │ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ │ └── closing_loc: (1,16)-(1,19) = "end"
│ ├── flags: ∅
│ └── name: "fun"
- └── keyword_loc: (0...4) = "next"
+ └── keyword_loc: (1,0)-(1,4) = "next"
diff --git a/test/yarp/snapshots/whitequark/nil.txt b/test/yarp/snapshots/whitequark/nil.txt
index b60212bd94..15774c02fd 100644
--- a/test/yarp/snapshots/whitequark/nil.txt
+++ b/test/yarp/snapshots/whitequark/nil.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ NilNode (location: (0...3))
+ └── @ NilNode (location: (1,0)-(1,3))
diff --git a/test/yarp/snapshots/whitequark/nil_expression.txt b/test/yarp/snapshots/whitequark/nil_expression.txt
index d20c80ce4c..7421115611 100644
--- a/test/yarp/snapshots/whitequark/nil_expression.txt
+++ b/test/yarp/snapshots/whitequark/nil_expression.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(3,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(3,9))
└── body: (length: 2)
- ├── @ ParenthesesNode (location: (0...2))
+ ├── @ ParenthesesNode (location: (1,0)-(1,2))
│ ├── body: ∅
- │ ├── opening_loc: (0...1) = "("
- │ └── closing_loc: (1...2) = ")"
- └── @ BeginNode (location: (4...13))
- ├── begin_keyword_loc: (4...9) = "begin"
+ │ ├── opening_loc: (1,0)-(1,1) = "("
+ │ └── closing_loc: (1,1)-(1,2) = ")"
+ └── @ BeginNode (location: (3,0)-(3,9))
+ ├── begin_keyword_loc: (3,0)-(3,5) = "begin"
├── statements: ∅
├── rescue_clause: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (10...13) = "end"
+ └── end_keyword_loc: (3,6)-(3,9) = "end"
diff --git a/test/yarp/snapshots/whitequark/non_lvar_injecting_match.txt b/test/yarp/snapshots/whitequark/non_lvar_injecting_match.txt
index 6faa54a54d..d31b67c689 100644
--- a/test/yarp/snapshots/whitequark/non_lvar_injecting_match.txt
+++ b/test/yarp/snapshots/whitequark/non_lvar_injecting_match.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ CallNode (location: (0...28))
+ └── @ CallNode (location: (1,0)-(1,28))
├── receiver:
- │ @ InterpolatedRegularExpressionNode (location: (0...19))
- │ ├── opening_loc: (0...1) = "/"
+ │ @ InterpolatedRegularExpressionNode (location: (1,0)-(1,19))
+ │ ├── opening_loc: (1,0)-(1,1) = "/"
│ ├── parts: (length: 2)
- │ │ ├── @ EmbeddedStatementsNode (location: (1...5))
- │ │ │ ├── opening_loc: (1...3) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5))
+ │ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (3...4))
+ │ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (3...4))
+ │ │ │ │ └── @ IntegerNode (location: (1,3)-(1,4))
│ │ │ │ └── flags: decimal
- │ │ │ └── closing_loc: (4...5) = "}"
- │ │ └── @ StringNode (location: (5...18))
+ │ │ │ └── closing_loc: (1,4)-(1,5) = "}"
+ │ │ └── @ StringNode (location: (1,5)-(1,18))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (5...18) = "(?<match>bar)"
+ │ │ ├── content_loc: (1,5)-(1,18) = "(?<match>bar)"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "(?<match>bar)"
- │ ├── closing_loc: (18...19) = "/"
+ │ ├── closing_loc: (1,18)-(1,19) = "/"
│ └── flags: ∅
├── call_operator_loc: ∅
- ├── message_loc: (20...22) = "=~"
+ ├── message_loc: (1,20)-(1,22) = "=~"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (23...28))
+ │ @ ArgumentsNode (location: (1,23)-(1,28))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (23...28))
+ │ └── @ StringNode (location: (1,23)-(1,28))
│ ├── flags: ∅
- │ ├── opening_loc: (23...24) = "'"
- │ ├── content_loc: (24...27) = "bar"
- │ ├── closing_loc: (27...28) = "'"
+ │ ├── opening_loc: (1,23)-(1,24) = "'"
+ │ ├── content_loc: (1,24)-(1,27) = "bar"
+ │ ├── closing_loc: (1,27)-(1,28) = "'"
│ └── unescaped: "bar"
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/not.txt b/test/yarp/snapshots/whitequark/not.txt
index 2aeaccc2d8..c7706f13ba 100644
--- a/test/yarp/snapshots/whitequark/not.txt
+++ b/test/yarp/snapshots/whitequark/not.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(5,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (4...7))
+ │ │ @ CallNode (location: (1,4)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (4...7) = "foo"
+ │ │ ├── message_loc: (1,4)-(1,7) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,29 +16,29 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "not"
+ │ ├── message_loc: (1,0)-(1,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- ├── @ CallNode (location: (9...14))
+ ├── @ CallNode (location: (3,0)-(3,5))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...12) = "not"
- │ ├── opening_loc: (12...13) = "("
+ │ ├── message_loc: (3,0)-(3,3) = "not"
+ │ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (13...14) = ")"
+ │ ├── closing_loc: (3,4)-(3,5) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!"
- └── @ CallNode (location: (16...24))
+ └── @ CallNode (location: (5,0)-(5,8))
├── receiver:
- │ @ CallNode (location: (20...23))
+ │ @ CallNode (location: (5,4)-(5,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...23) = "foo"
+ │ ├── message_loc: (5,4)-(5,7) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -46,10 +46,10 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (16...19) = "not"
- ├── opening_loc: (19...20) = "("
+ ├── message_loc: (5,0)-(5,3) = "not"
+ ├── opening_loc: (5,3)-(5,4) = "("
├── arguments: ∅
- ├── closing_loc: (23...24) = ")"
+ ├── closing_loc: (5,7)-(5,8) = ")"
├── block: ∅
├── flags: ∅
└── name: "!"
diff --git a/test/yarp/snapshots/whitequark/not_cmd.txt b/test/yarp/snapshots/whitequark/not_cmd.txt
index 296a087ba5..c31c06dc6b 100644
--- a/test/yarp/snapshots/whitequark/not_cmd.txt
+++ b/test/yarp/snapshots/whitequark/not_cmd.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (4...9))
+ │ @ CallNode (location: (1,4)-(1,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "m"
+ │ ├── message_loc: (1,4)-(1,5) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...9))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6...9))
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "foo"
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -28,7 +28,7 @@
│ ├── flags: ∅
│ └── name: "m"
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "not"
+ ├── message_loc: (1,0)-(1,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/not_masgn__24.txt b/test/yarp/snapshots/whitequark/not_masgn__24.txt
index 296cddf9c1..971d985d11 100644
--- a/test/yarp/snapshots/whitequark/not_masgn__24.txt
+++ b/test/yarp/snapshots/whitequark/not_masgn__24.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver:
- │ @ ParenthesesNode (location: (1...13))
+ │ @ ParenthesesNode (location: (1,1)-(1,13))
│ ├── body:
- │ │ @ StatementsNode (location: (2...12))
+ │ │ @ StatementsNode (location: (1,2)-(1,12))
│ │ └── body: (length: 1)
- │ │ └── @ MultiWriteNode (location: (2...12))
+ │ │ └── @ MultiWriteNode (location: (1,2)-(1,12))
│ │ ├── targets: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (2...3))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (1,2)-(1,3))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (5...6))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,6))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
- │ │ ├── operator_loc: (7...8) = "="
+ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ └── value:
- │ │ @ CallNode (location: (9...12))
+ │ │ @ CallNode (location: (1,9)-(1,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "foo"
+ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (1...2) = "("
- │ └── closing_loc: (12...13) = ")"
+ │ ├── opening_loc: (1,1)-(1,2) = "("
+ │ └── closing_loc: (1,12)-(1,13) = ")"
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "!"
+ ├── message_loc: (1,0)-(1,1) = "!"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/nth_ref.txt b/test/yarp/snapshots/whitequark/nth_ref.txt
index 56f5aabea9..1d386d518b 100644
--- a/test/yarp/snapshots/whitequark/nth_ref.txt
+++ b/test/yarp/snapshots/whitequark/nth_ref.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...3))
+@ ProgramNode (location: (1,0)-(1,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...3))
+ @ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
- └── @ NumberedReferenceReadNode (location: (0...3))
+ └── @ NumberedReferenceReadNode (location: (1,0)-(1,3))
└── number: 10
diff --git a/test/yarp/snapshots/whitequark/numbered_args_after_27.txt b/test/yarp/snapshots/whitequark/numbered_args_after_27.txt
index 97e39435d3..d6dfd5e1b5 100644
--- a/test/yarp/snapshots/whitequark/numbered_args_after_27.txt
+++ b/test/yarp/snapshots/whitequark/numbered_args_after_27.txt
@@ -1,131 +1,131 @@
-@ ProgramNode (location: (0...65))
+@ ProgramNode (location: (1,0)-(7,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...65))
+ @ StatementsNode (location: (1,0)-(7,13))
└── body: (length: 4)
- ├── @ LambdaNode (location: (0...17))
+ ├── @ LambdaNode (location: (1,0)-(1,17))
│ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (3...5) = "do"
- │ ├── closing_loc: (14...17) = "end"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,3)-(1,5) = "do"
+ │ ├── closing_loc: (1,14)-(1,17) = "end"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (6...13))
+ │ @ StatementsNode (location: (1,6)-(1,13))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (6...13))
+ │ └── @ CallNode (location: (1,6)-(1,13))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (6...8))
+ │ │ @ LocalVariableReadNode (location: (1,6)-(1,8))
│ │ ├── name: :_1
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...10) = "+"
+ │ ├── message_loc: (1,9)-(1,10) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (11...13))
+ │ │ @ ArgumentsNode (location: (1,11)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (11...13))
+ │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13))
│ │ ├── name: :_9
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ LambdaNode (location: (19...32))
+ ├── @ LambdaNode (location: (3,0)-(3,13))
│ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
- │ ├── operator_loc: (19...21) = "->"
- │ ├── opening_loc: (22...23) = "{"
- │ ├── closing_loc: (31...32) = "}"
+ │ ├── operator_loc: (3,0)-(3,2) = "->"
+ │ ├── opening_loc: (3,3)-(3,4) = "{"
+ │ ├── closing_loc: (3,12)-(3,13) = "}"
│ ├── parameters: ∅
│ └── body:
- │ @ StatementsNode (location: (24...31))
+ │ @ StatementsNode (location: (3,5)-(3,12))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (24...31))
+ │ └── @ CallNode (location: (3,5)-(3,12))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (24...26))
+ │ │ @ LocalVariableReadNode (location: (3,5)-(3,7))
│ │ ├── name: :_1
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (27...28) = "+"
+ │ ├── message_loc: (3,8)-(3,9) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (29...31))
+ │ │ @ ArgumentsNode (location: (3,10)-(3,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (29...31))
+ │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12))
│ │ ├── name: :_9
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (34...50))
+ ├── @ CallNode (location: (5,0)-(5,16))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (34...35) = "m"
+ │ ├── message_loc: (5,0)-(5,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (36...50))
+ │ │ @ BlockNode (location: (5,2)-(5,16))
│ │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
│ │ ├── parameters: ∅
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (39...46))
+ │ │ │ @ StatementsNode (location: (5,5)-(5,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (39...46))
+ │ │ │ └── @ CallNode (location: (5,5)-(5,12))
│ │ │ ├── receiver:
- │ │ │ │ @ LocalVariableReadNode (location: (39...41))
+ │ │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7))
│ │ │ │ ├── name: :_1
│ │ │ │ └── depth: 0
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (42...43) = "+"
+ │ │ │ ├── message_loc: (5,8)-(5,9) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (44...46))
+ │ │ │ │ @ ArgumentsNode (location: (5,10)-(5,12))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (44...46))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12))
│ │ │ │ ├── name: :_9
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
- │ │ ├── opening_loc: (36...38) = "do"
- │ │ └── closing_loc: (47...50) = "end"
+ │ │ ├── opening_loc: (5,2)-(5,4) = "do"
+ │ │ └── closing_loc: (5,13)-(5,16) = "end"
│ ├── flags: ∅
│ └── name: "m"
- └── @ CallNode (location: (52...65))
+ └── @ CallNode (location: (7,0)-(7,13))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (52...53) = "m"
+ ├── message_loc: (7,0)-(7,1) = "m"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (54...65))
+ │ @ BlockNode (location: (7,2)-(7,13))
│ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9]
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (56...63))
+ │ │ @ StatementsNode (location: (7,4)-(7,11))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (56...63))
+ │ │ └── @ CallNode (location: (7,4)-(7,11))
│ │ ├── receiver:
- │ │ │ @ LocalVariableReadNode (location: (56...58))
+ │ │ │ @ LocalVariableReadNode (location: (7,4)-(7,6))
│ │ │ ├── name: :_1
│ │ │ └── depth: 0
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (59...60) = "+"
+ │ │ ├── message_loc: (7,7)-(7,8) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (61...63))
+ │ │ │ @ ArgumentsNode (location: (7,9)-(7,11))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ LocalVariableReadNode (location: (61...63))
+ │ │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11))
│ │ │ ├── name: :_9
│ │ │ └── depth: 0
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "+"
- │ ├── opening_loc: (54...55) = "{"
- │ └── closing_loc: (64...65) = "}"
+ │ ├── opening_loc: (7,2)-(7,3) = "{"
+ │ └── closing_loc: (7,12)-(7,13) = "}"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/whitequark/numparam_outside_block.txt b/test/yarp/snapshots/whitequark/numparam_outside_block.txt
index 6d20126a21..544d9c2744 100644
--- a/test/yarp/snapshots/whitequark/numparam_outside_block.txt
+++ b/test/yarp/snapshots/whitequark/numparam_outside_block.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...83))
+@ ProgramNode (location: (1,0)-(9,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...83))
+ @ StatementsNode (location: (1,0)-(9,17))
└── body: (length: 5)
- ├── @ CallNode (location: (0...2))
+ ├── @ CallNode (location: (1,0)-(1,2))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...2) = "_1"
+ │ ├── message_loc: (1,0)-(1,2) = "_1"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "_1"
- ├── @ SingletonClassNode (location: (4...25))
+ ├── @ SingletonClassNode (location: (3,0)-(3,21))
│ ├── locals: []
- │ ├── class_keyword_loc: (4...9) = "class"
- │ ├── operator_loc: (10...12) = "<<"
+ │ ├── class_keyword_loc: (3,0)-(3,5) = "class"
+ │ ├── operator_loc: (3,6)-(3,8) = "<<"
│ ├── expression:
- │ │ @ CallNode (location: (13...16))
+ │ │ @ CallNode (location: (3,9)-(3,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...16) = "foo"
+ │ │ ├── message_loc: (3,9)-(3,12) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -29,55 +29,55 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── body:
- │ │ @ StatementsNode (location: (18...20))
+ │ │ @ StatementsNode (location: (3,14)-(3,16))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (18...20))
+ │ │ └── @ CallNode (location: (3,14)-(3,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (18...20) = "_1"
+ │ │ ├── message_loc: (3,14)-(3,16) = "_1"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "_1"
- │ └── end_keyword_loc: (22...25) = "end"
- ├── @ ClassNode (location: (27...43))
+ │ └── end_keyword_loc: (3,18)-(3,21) = "end"
+ ├── @ ClassNode (location: (5,0)-(5,16))
│ ├── locals: []
- │ ├── class_keyword_loc: (27...32) = "class"
+ │ ├── class_keyword_loc: (5,0)-(5,5) = "class"
│ ├── constant_path:
- │ │ @ ConstantReadNode (location: (33...34))
+ │ │ @ ConstantReadNode (location: (5,6)-(5,7))
│ │ └── name: :A
│ ├── inheritance_operator_loc: ∅
│ ├── superclass: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (36...38))
+ │ │ @ StatementsNode (location: (5,9)-(5,11))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (36...38))
+ │ │ └── @ CallNode (location: (5,9)-(5,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (36...38) = "_1"
+ │ │ ├── message_loc: (5,9)-(5,11) = "_1"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "_1"
- │ ├── end_keyword_loc: (40...43) = "end"
+ │ ├── end_keyword_loc: (5,13)-(5,16) = "end"
│ └── name: :A
- ├── @ DefNode (location: (45...64))
+ ├── @ DefNode (location: (7,0)-(7,19))
│ ├── name: :m
- │ ├── name_loc: (54...55) = "m"
+ │ ├── name_loc: (7,9)-(7,10) = "m"
│ ├── receiver:
- │ │ @ SelfNode (location: (49...53))
+ │ │ @ SelfNode (location: (7,4)-(7,8))
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (57...59))
+ │ │ @ StatementsNode (location: (7,12)-(7,14))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (57...59))
+ │ │ └── @ CallNode (location: (7,12)-(7,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (57...59) = "_1"
+ │ │ ├── message_loc: (7,12)-(7,14) = "_1"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -85,30 +85,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "_1"
│ ├── locals: []
- │ ├── def_keyword_loc: (45...48) = "def"
- │ ├── operator_loc: (53...54) = "."
+ │ ├── def_keyword_loc: (7,0)-(7,3) = "def"
+ │ ├── operator_loc: (7,8)-(7,9) = "."
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (61...64) = "end"
- └── @ ModuleNode (location: (66...83))
+ │ └── end_keyword_loc: (7,16)-(7,19) = "end"
+ └── @ ModuleNode (location: (9,0)-(9,17))
├── locals: []
- ├── module_keyword_loc: (66...72) = "module"
+ ├── module_keyword_loc: (9,0)-(9,6) = "module"
├── constant_path:
- │ @ ConstantReadNode (location: (73...74))
+ │ @ ConstantReadNode (location: (9,7)-(9,8))
│ └── name: :A
├── body:
- │ @ StatementsNode (location: (76...78))
+ │ @ StatementsNode (location: (9,10)-(9,12))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (76...78))
+ │ └── @ CallNode (location: (9,10)-(9,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (76...78) = "_1"
+ │ ├── message_loc: (9,10)-(9,12) = "_1"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "_1"
- ├── end_keyword_loc: (80...83) = "end"
+ ├── end_keyword_loc: (9,14)-(9,17) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/whitequark/op_asgn.txt b/test/yarp/snapshots/whitequark/op_asgn.txt
index 0b99b36409..4594c1006e 100644
--- a/test/yarp/snapshots/whitequark/op_asgn.txt
+++ b/test/yarp/snapshots/whitequark/op_asgn.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(5,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(5,11))
└── body: (length: 3)
- ├── @ CallOperatorWriteNode (location: (0...10))
+ ├── @ CallOperatorWriteNode (location: (1,0)-(1,10))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "A"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "A"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -24,24 +24,24 @@
│ ├── read_name: "A"
│ ├── write_name: "A="
│ ├── operator: :+
- │ ├── operator_loc: (6...8) = "+="
+ │ ├── operator_loc: (1,6)-(1,8) = "+="
│ └── value:
- │ @ IntegerNode (location: (9...10))
+ │ @ IntegerNode (location: (1,9)-(1,10))
│ └── flags: decimal
- ├── @ CallOperatorWriteNode (location: (12...22))
+ ├── @ CallOperatorWriteNode (location: (3,0)-(3,10))
│ ├── receiver:
- │ │ @ CallNode (location: (12...15))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (12...15) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (15...16) = "."
- │ ├── message_loc: (16...17) = "a"
+ │ ├── call_operator_loc: (3,3)-(3,4) = "."
+ │ ├── message_loc: (3,4)-(3,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -49,24 +49,24 @@
│ ├── read_name: "a"
│ ├── write_name: "a="
│ ├── operator: :+
- │ ├── operator_loc: (18...20) = "+="
+ │ ├── operator_loc: (3,6)-(3,8) = "+="
│ └── value:
- │ @ IntegerNode (location: (21...22))
+ │ @ IntegerNode (location: (3,9)-(3,10))
│ └── flags: decimal
- └── @ CallOperatorWriteNode (location: (24...35))
+ └── @ CallOperatorWriteNode (location: (5,0)-(5,11))
├── receiver:
- │ @ CallNode (location: (24...27))
+ │ @ CallNode (location: (5,0)-(5,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (24...27) = "foo"
+ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (27...29) = "::"
- ├── message_loc: (29...30) = "a"
+ ├── call_operator_loc: (5,3)-(5,5) = "::"
+ ├── message_loc: (5,5)-(5,6) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -74,7 +74,7 @@
├── read_name: "a"
├── write_name: "a="
├── operator: :+
- ├── operator_loc: (31...33) = "+="
+ ├── operator_loc: (5,7)-(5,9) = "+="
└── value:
- @ IntegerNode (location: (34...35))
+ @ IntegerNode (location: (5,10)-(5,11))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/op_asgn_cmd.txt b/test/yarp/snapshots/whitequark/op_asgn_cmd.txt
index 0eb79d224b..c2af985002 100644
--- a/test/yarp/snapshots/whitequark/op_asgn_cmd.txt
+++ b/test/yarp/snapshots/whitequark/op_asgn_cmd.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...64))
+@ ProgramNode (location: (1,0)-(7,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...64))
+ @ StatementsNode (location: (1,0)-(7,15))
└── body: (length: 4)
- ├── @ CallOperatorWriteNode (location: (0...14))
+ ├── @ CallOperatorWriteNode (location: (1,0)-(1,14))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "A"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "A"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -24,20 +24,20 @@
│ ├── read_name: "A"
│ ├── write_name: "A="
│ ├── operator: :+
- │ ├── operator_loc: (6...8) = "+="
+ │ ├── operator_loc: (1,6)-(1,8) = "+="
│ └── value:
- │ @ CallNode (location: (9...14))
+ │ @ CallNode (location: (1,9)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...10) = "m"
+ │ ├── message_loc: (1,9)-(1,10) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (11...14))
+ │ │ @ ArgumentsNode (location: (1,11)-(1,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (11...14))
+ │ │ └── @ CallNode (location: (1,11)-(1,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -48,20 +48,20 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- ├── @ CallOperatorWriteNode (location: (16...30))
+ ├── @ CallOperatorWriteNode (location: (3,0)-(3,14))
│ ├── receiver:
- │ │ @ CallNode (location: (16...19))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (19...20) = "."
- │ ├── message_loc: (20...21) = "a"
+ │ ├── call_operator_loc: (3,3)-(3,4) = "."
+ │ ├── message_loc: (3,4)-(3,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -69,20 +69,20 @@
│ ├── read_name: "a"
│ ├── write_name: "a="
│ ├── operator: :+
- │ ├── operator_loc: (22...24) = "+="
+ │ ├── operator_loc: (3,6)-(3,8) = "+="
│ └── value:
- │ @ CallNode (location: (25...30))
+ │ @ CallNode (location: (3,9)-(3,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...26) = "m"
+ │ ├── message_loc: (3,9)-(3,10) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (27...30))
+ │ │ @ ArgumentsNode (location: (3,11)-(3,14))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (27...30))
+ │ │ └── @ CallNode (location: (3,11)-(3,14))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (27...30) = "foo"
+ │ │ ├── message_loc: (3,11)-(3,14) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -93,14 +93,14 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- ├── @ ConstantPathOperatorWriteNode (location: (32...47))
+ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,15))
│ ├── target:
- │ │ @ ConstantPathNode (location: (32...38))
+ │ │ @ ConstantPathNode (location: (5,0)-(5,6))
│ │ ├── parent:
- │ │ │ @ CallNode (location: (32...35))
+ │ │ │ @ CallNode (location: (5,0)-(5,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (32...35) = "foo"
+ │ │ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -108,23 +108,23 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (37...38))
+ │ │ │ @ ConstantReadNode (location: (5,5)-(5,6))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (35...37) = "::"
- │ ├── operator_loc: (39...41) = "+="
+ │ │ └── delimiter_loc: (5,3)-(5,5) = "::"
+ │ ├── operator_loc: (5,7)-(5,9) = "+="
│ ├── value:
- │ │ @ CallNode (location: (42...47))
+ │ │ @ CallNode (location: (5,10)-(5,15))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (42...43) = "m"
+ │ │ ├── message_loc: (5,10)-(5,11) = "m"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (44...47))
+ │ │ │ @ ArgumentsNode (location: (5,12)-(5,15))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (44...47))
+ │ │ │ └── @ CallNode (location: (5,12)-(5,15))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (44...47) = "foo"
+ │ │ │ ├── message_loc: (5,12)-(5,15) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -136,20 +136,20 @@
│ │ ├── flags: ∅
│ │ └── name: "m"
│ └── operator: :+
- └── @ CallOperatorWriteNode (location: (49...64))
+ └── @ CallOperatorWriteNode (location: (7,0)-(7,15))
├── receiver:
- │ @ CallNode (location: (49...52))
+ │ @ CallNode (location: (7,0)-(7,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (49...52) = "foo"
+ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (52...54) = "::"
- ├── message_loc: (54...55) = "a"
+ ├── call_operator_loc: (7,3)-(7,5) = "::"
+ ├── message_loc: (7,5)-(7,6) = "a"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
@@ -157,20 +157,20 @@
├── read_name: "a"
├── write_name: "a="
├── operator: :+
- ├── operator_loc: (56...58) = "+="
+ ├── operator_loc: (7,7)-(7,9) = "+="
└── value:
- @ CallNode (location: (59...64))
+ @ CallNode (location: (7,10)-(7,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (59...60) = "m"
+ ├── message_loc: (7,10)-(7,11) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (61...64))
+ │ @ ArgumentsNode (location: (7,12)-(7,15))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (61...64))
+ │ └── @ CallNode (location: (7,12)-(7,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (61...64) = "foo"
+ │ ├── message_loc: (7,12)-(7,15) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/op_asgn_index.txt b/test/yarp/snapshots/whitequark/op_asgn_index.txt
index 588ea23944..f44bd7a4c4 100644
--- a/test/yarp/snapshots/whitequark/op_asgn_index.txt
+++ b/test/yarp/snapshots/whitequark/op_asgn_index.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...14))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,14))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,21 +16,21 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[0, 1]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[0, 1]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
├── operator: :+
- ├── operator_loc: (10...12) = "+="
+ ├── operator_loc: (1,10)-(1,12) = "+="
└── value:
- @ IntegerNode (location: (13...14))
+ @ IntegerNode (location: (1,13)-(1,14))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/op_asgn_index_cmd.txt b/test/yarp/snapshots/whitequark/op_asgn_index_cmd.txt
index bc0794516a..dac4a7970e 100644
--- a/test/yarp/snapshots/whitequark/op_asgn_index_cmd.txt
+++ b/test/yarp/snapshots/whitequark/op_asgn_index_cmd.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...18))
+@ ProgramNode (location: (1,0)-(1,18))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...18))
+ @ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
- └── @ CallOperatorWriteNode (location: (0...18))
+ └── @ CallOperatorWriteNode (location: (1,0)-(1,18))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,34 +16,34 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[0, 1]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[0, 1]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
├── operator: :+
- ├── operator_loc: (10...12) = "+="
+ ├── operator_loc: (1,10)-(1,12) = "+="
└── value:
- @ CallNode (location: (13...18))
+ @ CallNode (location: (1,13)-(1,18))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (13...14) = "m"
+ ├── message_loc: (1,13)-(1,14) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (15...18))
+ │ @ ArgumentsNode (location: (1,15)-(1,18))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (15...18))
+ │ └── @ CallNode (location: (1,15)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (15...18) = "foo"
+ │ ├── message_loc: (1,15)-(1,18) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/optarg.txt b/test/yarp/snapshots/whitequark/optarg.txt
index d7cb107efc..d0bacfdfee 100644
--- a/test/yarp/snapshots/whitequark/optarg.txt
+++ b/test/yarp/snapshots/whitequark/optarg.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...44))
+@ ProgramNode (location: (1,0)-(3,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...44))
+ @ StatementsNode (location: (1,0)-(3,24))
└── body: (length: 2)
- ├── @ DefNode (location: (0...18))
+ ├── @ DefNode (location: (1,0)-(1,18))
│ ├── name: :f
- │ ├── name_loc: (4...5) = "f"
+ │ ├── name_loc: (1,4)-(1,5) = "f"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (6...13))
+ │ │ @ ParametersNode (location: (1,6)-(1,13))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (6...13))
+ │ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,13))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (6...9) = "foo"
- │ │ │ ├── operator_loc: (10...11) = "="
+ │ │ │ ├── name_loc: (1,6)-(1,9) = "foo"
+ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
@@ -25,33 +25,33 @@
│ │ └── block: ∅
│ ├── body: ∅
│ ├── locals: [:foo]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (15...18) = "end"
- └── @ DefNode (location: (20...44))
+ │ └── end_keyword_loc: (1,15)-(1,18) = "end"
+ └── @ DefNode (location: (3,0)-(3,24))
├── name: :f
- ├── name_loc: (24...25) = "f"
+ ├── name_loc: (3,4)-(3,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (26...38))
+ │ @ ParametersNode (location: (3,6)-(3,18))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 2)
- │ │ ├── @ OptionalParameterNode (location: (26...31))
+ │ │ ├── @ OptionalParameterNode (location: (3,6)-(3,11))
│ │ │ ├── name: :foo
- │ │ │ ├── name_loc: (26...29) = "foo"
- │ │ │ ├── operator_loc: (29...30) = "="
+ │ │ │ ├── name_loc: (3,6)-(3,9) = "foo"
+ │ │ │ ├── operator_loc: (3,9)-(3,10) = "="
│ │ │ └── value:
- │ │ │ @ IntegerNode (location: (30...31))
+ │ │ │ @ IntegerNode (location: (3,10)-(3,11))
│ │ │ └── flags: decimal
- │ │ └── @ OptionalParameterNode (location: (33...38))
+ │ │ └── @ OptionalParameterNode (location: (3,13)-(3,18))
│ │ ├── name: :bar
- │ │ ├── name_loc: (33...36) = "bar"
- │ │ ├── operator_loc: (36...37) = "="
+ │ │ ├── name_loc: (3,13)-(3,16) = "bar"
+ │ │ ├── operator_loc: (3,16)-(3,17) = "="
│ │ └── value:
- │ │ @ IntegerNode (location: (37...38))
+ │ │ @ IntegerNode (location: (3,17)-(3,18))
│ │ └── flags: decimal
│ ├── rest: ∅
│ ├── posts: (length: 0)
@@ -60,9 +60,9 @@
│ └── block: ∅
├── body: ∅
├── locals: [:foo, :bar]
- ├── def_keyword_loc: (20...23) = "def"
+ ├── def_keyword_loc: (3,0)-(3,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (25...26) = "("
- ├── rparen_loc: (38...39) = ")"
+ ├── lparen_loc: (3,5)-(3,6) = "("
+ ├── rparen_loc: (3,18)-(3,19) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (41...44) = "end"
+ └── end_keyword_loc: (3,21)-(3,24) = "end"
diff --git a/test/yarp/snapshots/whitequark/or.txt b/test/yarp/snapshots/whitequark/or.txt
index c86cd9a95a..713ca53ad7 100644
--- a/test/yarp/snapshots/whitequark/or.txt
+++ b/test/yarp/snapshots/whitequark/or.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(3,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(3,10))
└── body: (length: 2)
- ├── @ OrNode (location: (0...10))
+ ├── @ OrNode (location: (1,0)-(1,10))
│ ├── left:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,23 +16,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── right:
- │ │ @ CallNode (location: (7...10))
+ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...10) = "bar"
+ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── operator_loc: (4...6) = "or"
- └── @ OrNode (location: (12...22))
+ │ └── operator_loc: (1,4)-(1,6) = "or"
+ └── @ OrNode (location: (3,0)-(3,10))
├── left:
- │ @ CallNode (location: (12...15))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -40,14 +40,14 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── right:
- │ @ CallNode (location: (19...22))
+ │ @ CallNode (location: (3,7)-(3,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (19...22) = "bar"
+ │ ├── message_loc: (3,7)-(3,10) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── operator_loc: (16...18) = "||"
+ └── operator_loc: (3,4)-(3,6) = "||"
diff --git a/test/yarp/snapshots/whitequark/or_asgn.txt b/test/yarp/snapshots/whitequark/or_asgn.txt
index 0b752638e2..db0b4a5adc 100644
--- a/test/yarp/snapshots/whitequark/or_asgn.txt
+++ b/test/yarp/snapshots/whitequark/or_asgn.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(3,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(3,15))
└── body: (length: 2)
- ├── @ CallOrWriteNode (location: (0...11))
+ ├── @ CallOrWriteNode (location: (1,0)-(1,11))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "a"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── flags: ∅
│ ├── read_name: "a"
│ ├── write_name: "a="
- │ ├── operator_loc: (6...9) = "||="
+ │ ├── operator_loc: (1,6)-(1,9) = "||="
│ └── value:
- │ @ IntegerNode (location: (10...11))
+ │ @ IntegerNode (location: (1,10)-(1,11))
│ └── flags: decimal
- └── @ CallOrWriteNode (location: (13...28))
+ └── @ CallOrWriteNode (location: (3,0)-(3,15))
├── receiver:
- │ @ CallNode (location: (13...16))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...16) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -40,20 +40,20 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (16...22) = "[0, 1]"
- ├── opening_loc: (16...17) = "["
+ ├── message_loc: (3,3)-(3,9) = "[0, 1]"
+ ├── opening_loc: (3,3)-(3,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (17...21))
+ │ @ ArgumentsNode (location: (3,4)-(3,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (17...18))
+ │ ├── @ IntegerNode (location: (3,4)-(3,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (20...21))
+ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ └── flags: decimal
- ├── closing_loc: (21...22) = "]"
+ ├── closing_loc: (3,8)-(3,9) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
- ├── operator_loc: (23...26) = "||="
+ ├── operator_loc: (3,10)-(3,13) = "||="
└── value:
- @ IntegerNode (location: (27...28))
+ @ IntegerNode (location: (3,14)-(3,15))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/parser_bug_272.txt b/test/yarp/snapshots/whitequark/parser_bug_272.txt
index 2766990546..e60da94c2a 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_272.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_272.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ CallNode (location: (0...15))
+ └── @ CallNode (location: (1,0)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "a"
+ ├── message_loc: (1,0)-(1,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...4))
+ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ └── arguments: (length: 1)
- │ └── @ InstanceVariableReadNode (location: (2...4))
+ │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4))
│ └── name: :@b
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...15))
+ │ @ BlockNode (location: (1,5)-(1,15))
│ ├── locals: [:c]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (8...11))
+ │ │ @ BlockParametersNode (location: (1,8)-(1,11))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (9...10))
+ │ │ │ @ ParametersNode (location: (1,9)-(1,10))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (9...10))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :c
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -31,10 +31,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (8...9) = "|"
- │ │ └── closing_loc: (10...11) = "|"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "|"
+ │ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (5...7) = "do"
- │ └── closing_loc: (12...15) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,12)-(1,15) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/whitequark/parser_bug_490.txt b/test/yarp/snapshots/whitequark/parser_bug_490.txt
index e9f66337cb..9e4cd2bd15 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_490.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_490.txt
@@ -1,106 +1,106 @@
-@ ProgramNode (location: (0...132))
+@ ProgramNode (location: (1,0)-(5,45))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...132))
+ @ StatementsNode (location: (1,0)-(5,45))
└── body: (length: 3)
- ├── @ DefNode (location: (0...39))
+ ├── @ DefNode (location: (1,0)-(1,39))
│ ├── name: :m
- │ ├── name_loc: (4...5) = "m"
+ │ ├── name_loc: (1,4)-(1,5) = "m"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (7...34))
+ │ │ @ StatementsNode (location: (1,7)-(1,34))
│ │ └── body: (length: 1)
- │ │ └── @ SingletonClassNode (location: (7...34))
+ │ │ └── @ SingletonClassNode (location: (1,7)-(1,34))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (7...12) = "class"
- │ │ ├── operator_loc: (13...15) = "<<"
+ │ │ ├── class_keyword_loc: (1,7)-(1,12) = "class"
+ │ │ ├── operator_loc: (1,13)-(1,15) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (16...20))
+ │ │ │ @ SelfNode (location: (1,16)-(1,20))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (22...29))
+ │ │ │ @ StatementsNode (location: (1,22)-(1,29))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ConstantWriteNode (location: (22...29))
+ │ │ │ └── @ ConstantWriteNode (location: (1,22)-(1,29))
│ │ │ ├── name: :A
- │ │ │ ├── name_loc: (22...23) = "A"
+ │ │ │ ├── name_loc: (1,22)-(1,23) = "A"
│ │ │ ├── value:
- │ │ │ │ @ NilNode (location: (26...29))
- │ │ │ └── operator_loc: (24...25) = "="
- │ │ └── end_keyword_loc: (31...34) = "end"
+ │ │ │ │ @ NilNode (location: (1,26)-(1,29))
+ │ │ │ └── operator_loc: (1,24)-(1,25) = "="
+ │ │ └── end_keyword_loc: (1,31)-(1,34) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (36...39) = "end"
- ├── @ DefNode (location: (41...85))
+ │ └── end_keyword_loc: (1,36)-(1,39) = "end"
+ ├── @ DefNode (location: (3,0)-(3,44))
│ ├── name: :m
- │ ├── name_loc: (45...46) = "m"
+ │ ├── name_loc: (3,4)-(3,5) = "m"
│ ├── receiver: ∅
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (48...80))
+ │ │ @ StatementsNode (location: (3,7)-(3,39))
│ │ └── body: (length: 1)
- │ │ └── @ SingletonClassNode (location: (48...80))
+ │ │ └── @ SingletonClassNode (location: (3,7)-(3,39))
│ │ ├── locals: []
- │ │ ├── class_keyword_loc: (48...53) = "class"
- │ │ ├── operator_loc: (54...56) = "<<"
+ │ │ ├── class_keyword_loc: (3,7)-(3,12) = "class"
+ │ │ ├── operator_loc: (3,13)-(3,15) = "<<"
│ │ ├── expression:
- │ │ │ @ SelfNode (location: (57...61))
+ │ │ │ @ SelfNode (location: (3,16)-(3,20))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (63...75))
+ │ │ │ @ StatementsNode (location: (3,22)-(3,34))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ ClassNode (location: (63...75))
+ │ │ │ └── @ ClassNode (location: (3,22)-(3,34))
│ │ │ ├── locals: []
- │ │ │ ├── class_keyword_loc: (63...68) = "class"
+ │ │ │ ├── class_keyword_loc: (3,22)-(3,27) = "class"
│ │ │ ├── constant_path:
- │ │ │ │ @ ConstantReadNode (location: (69...70))
+ │ │ │ │ @ ConstantReadNode (location: (3,28)-(3,29))
│ │ │ │ └── name: :C
│ │ │ ├── inheritance_operator_loc: ∅
│ │ │ ├── superclass: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── end_keyword_loc: (72...75) = "end"
+ │ │ │ ├── end_keyword_loc: (3,31)-(3,34) = "end"
│ │ │ └── name: :C
- │ │ └── end_keyword_loc: (77...80) = "end"
+ │ │ └── end_keyword_loc: (3,36)-(3,39) = "end"
│ ├── locals: []
- │ ├── def_keyword_loc: (41...44) = "def"
+ │ ├── def_keyword_loc: (3,0)-(3,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (82...85) = "end"
- └── @ DefNode (location: (87...132))
+ │ └── end_keyword_loc: (3,41)-(3,44) = "end"
+ └── @ DefNode (location: (5,0)-(5,45))
├── name: :m
- ├── name_loc: (91...92) = "m"
+ ├── name_loc: (5,4)-(5,5) = "m"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (94...127))
+ │ @ StatementsNode (location: (5,7)-(5,40))
│ └── body: (length: 1)
- │ └── @ SingletonClassNode (location: (94...127))
+ │ └── @ SingletonClassNode (location: (5,7)-(5,40))
│ ├── locals: []
- │ ├── class_keyword_loc: (94...99) = "class"
- │ ├── operator_loc: (100...102) = "<<"
+ │ ├── class_keyword_loc: (5,7)-(5,12) = "class"
+ │ ├── operator_loc: (5,13)-(5,15) = "<<"
│ ├── expression:
- │ │ @ SelfNode (location: (103...107))
+ │ │ @ SelfNode (location: (5,16)-(5,20))
│ ├── body:
- │ │ @ StatementsNode (location: (109...122))
+ │ │ @ StatementsNode (location: (5,22)-(5,35))
│ │ └── body: (length: 1)
- │ │ └── @ ModuleNode (location: (109...122))
+ │ │ └── @ ModuleNode (location: (5,22)-(5,35))
│ │ ├── locals: []
- │ │ ├── module_keyword_loc: (109...115) = "module"
+ │ │ ├── module_keyword_loc: (5,22)-(5,28) = "module"
│ │ ├── constant_path:
- │ │ │ @ ConstantReadNode (location: (116...117))
+ │ │ │ @ ConstantReadNode (location: (5,29)-(5,30))
│ │ │ └── name: :M
│ │ ├── body: ∅
- │ │ ├── end_keyword_loc: (119...122) = "end"
+ │ │ ├── end_keyword_loc: (5,32)-(5,35) = "end"
│ │ └── name: :M
- │ └── end_keyword_loc: (124...127) = "end"
+ │ └── end_keyword_loc: (5,37)-(5,40) = "end"
├── locals: []
- ├── def_keyword_loc: (87...90) = "def"
+ ├── def_keyword_loc: (5,0)-(5,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (129...132) = "end"
+ └── end_keyword_loc: (5,42)-(5,45) = "end"
diff --git a/test/yarp/snapshots/whitequark/parser_bug_507.txt b/test/yarp/snapshots/whitequark/parser_bug_507.txt
index 5f14766032..d2a3d3cba8 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_507.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_507.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: [:m]
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...19))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,19))
├── name: :m
├── depth: 0
- ├── name_loc: (0...1) = "m"
+ ├── name_loc: (1,0)-(1,1) = "m"
├── value:
- │ @ LambdaNode (location: (4...19))
+ │ @ LambdaNode (location: (1,4)-(1,19))
│ ├── locals: [:args]
- │ ├── operator_loc: (4...6) = "->"
- │ ├── opening_loc: (13...15) = "do"
- │ ├── closing_loc: (16...19) = "end"
+ │ ├── operator_loc: (1,4)-(1,6) = "->"
+ │ ├── opening_loc: (1,13)-(1,15) = "do"
+ │ ├── closing_loc: (1,16)-(1,19) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (7...12))
+ │ │ @ BlockParametersNode (location: (1,7)-(1,12))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (7...12))
+ │ │ │ @ ParametersNode (location: (1,7)-(1,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (7...12))
+ │ │ │ │ @ RestParameterNode (location: (1,7)-(1,12))
│ │ │ │ ├── name: :args
- │ │ │ │ ├── name_loc: (8...12) = "args"
- │ │ │ │ └── operator_loc: (7...8) = "*"
+ │ │ │ │ ├── name_loc: (1,8)-(1,12) = "args"
+ │ │ │ │ └── operator_loc: (1,7)-(1,8) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
@@ -32,4 +32,4 @@
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body: ∅
- └── operator_loc: (2...3) = "="
+ └── operator_loc: (1,2)-(1,3) = "="
diff --git a/test/yarp/snapshots/whitequark/parser_bug_518.txt b/test/yarp/snapshots/whitequark/parser_bug_518.txt
index 841045e342..b63fbb8284 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_518.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_518.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(2,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(2,3))
└── body: (length: 1)
- └── @ ClassNode (location: (0...15))
+ └── @ ClassNode (location: (1,0)-(2,3))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
├── constant_path:
- │ @ ConstantReadNode (location: (6...7))
+ │ @ ConstantReadNode (location: (1,6)-(1,7))
│ └── name: :A
- ├── inheritance_operator_loc: (8...9) = "<"
+ ├── inheritance_operator_loc: (1,8)-(1,9) = "<"
├── superclass:
- │ @ ConstantReadNode (location: (10...11))
+ │ @ ConstantReadNode (location: (1,10)-(1,11))
│ └── name: :B
├── body: ∅
- ├── end_keyword_loc: (12...15) = "end"
+ ├── end_keyword_loc: (2,0)-(2,3) = "end"
└── name: :A
diff --git a/test/yarp/snapshots/whitequark/parser_bug_525.txt b/test/yarp/snapshots/whitequark/parser_bug_525.txt
index 84afeb1cff..9b85fcb785 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_525.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_525.txt
@@ -1,62 +1,62 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(1,32))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(1,32))
└── body: (length: 1)
- └── @ CallNode (location: (0...32))
+ └── @ CallNode (location: (1,0)-(1,32))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...2) = "m1"
+ ├── message_loc: (1,0)-(1,2) = "m1"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (3...11))
+ │ @ ArgumentsNode (location: (1,3)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ KeywordHashNode (location: (3...11))
+ │ └── @ KeywordHashNode (location: (1,3)-(1,11))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (3...11))
+ │ └── @ AssocNode (location: (1,3)-(1,11))
│ ├── key:
- │ │ @ SymbolNode (location: (3...5))
- │ │ ├── opening_loc: (3...4) = ":"
- │ │ ├── value_loc: (4...5) = "k"
+ │ │ @ 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: (9...11))
+ │ │ @ CallNode (location: (1,9)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...11) = "m2"
+ │ │ ├── message_loc: (1,9)-(1,11) = "m2"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "m2"
- │ └── operator_loc: (6...8) = "=>"
+ │ └── operator_loc: (1,6)-(1,8) = "=>"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (12...32))
+ │ @ BlockNode (location: (1,12)-(1,32))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (16...27))
+ │ │ @ StatementsNode (location: (1,16)-(1,27))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...27))
+ │ │ └── @ CallNode (location: (1,16)-(1,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...18) = "m3"
- │ │ ├── opening_loc: (18...19) = "("
+ │ │ ├── message_loc: (1,16)-(1,18) = "m3"
+ │ │ ├── opening_loc: (1,18)-(1,19) = "("
│ │ ├── arguments: ∅
- │ │ ├── closing_loc: (19...20) = ")"
+ │ │ ├── closing_loc: (1,19)-(1,20) = ")"
│ │ ├── block:
- │ │ │ @ BlockNode (location: (21...27))
+ │ │ │ @ BlockNode (location: (1,21)-(1,27))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (21...23) = "do"
- │ │ │ └── closing_loc: (24...27) = "end"
+ │ │ │ ├── opening_loc: (1,21)-(1,23) = "do"
+ │ │ │ └── closing_loc: (1,24)-(1,27) = "end"
│ │ ├── flags: ∅
│ │ └── name: "m3"
- │ ├── opening_loc: (12...14) = "do"
- │ └── closing_loc: (29...32) = "end"
+ │ ├── opening_loc: (1,12)-(1,14) = "do"
+ │ └── closing_loc: (1,29)-(1,32) = "end"
├── flags: ∅
└── name: "m1"
diff --git a/test/yarp/snapshots/whitequark/parser_bug_604.txt b/test/yarp/snapshots/whitequark/parser_bug_604.txt
index 50e5b00c0a..3e03983f6e 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_604.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_604.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ CallNode (location: (0...14))
+ └── @ CallNode (location: (1,0)-(1,14))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "m"
+ ├── message_loc: (1,0)-(1,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...7))
+ │ @ ArgumentsNode (location: (1,2)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (2...7))
+ │ └── @ CallNode (location: (1,2)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (2...3))
+ │ │ @ CallNode (location: (1,2)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "a"
+ │ │ ├── message_loc: (1,2)-(1,3) = "a"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -24,15 +24,15 @@
│ │ ├── flags: variable_call
│ │ └── name: "a"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "+"
+ │ ├── message_loc: (1,4)-(1,5) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...7))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6...7))
+ │ │ └── @ CallNode (location: (1,6)-(1,7))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...7) = "b"
+ │ │ ├── message_loc: (1,6)-(1,7) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -45,11 +45,11 @@
│ └── name: "+"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (8...14))
+ │ @ BlockNode (location: (1,8)-(1,14))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (8...10) = "do"
- │ └── closing_loc: (11...14) = "end"
+ │ ├── opening_loc: (1,8)-(1,10) = "do"
+ │ └── closing_loc: (1,11)-(1,14) = "end"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/whitequark/parser_bug_640.txt b/test/yarp/snapshots/whitequark/parser_bug_640.txt
index 7f12898b60..3ddfb52d98 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_640.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_640.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...6))
+@ ProgramNode (location: (1,0)-(1,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...6))
+ @ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
- └── @ StringNode (location: (0...6))
+ └── @ StringNode (location: (1,0)-(1,6))
├── flags: ∅
- ├── opening_loc: (0...6) = "<<~FOO"
- ├── content_loc: (7...20) = " baz\\\n qux\n"
- ├── closing_loc: (20...24) = "FOO\n"
+ ├── opening_loc: (1,0)-(1,6) = "<<~FOO"
+ ├── content_loc: (2,0)-(3,0) = " baz\\\n qux\n"
+ ├── closing_loc: (4,0)-(4,0) = "FOO\n"
└── unescaped: "bazqux\n"
diff --git a/test/yarp/snapshots/whitequark/parser_bug_645.txt b/test/yarp/snapshots/whitequark/parser_bug_645.txt
index d4e78a2c25..4eee6234c1 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_645.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_645.txt
@@ -1,34 +1,34 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...14))
+ └── @ LambdaNode (location: (1,0)-(1,14))
├── locals: [:arg]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (12...13) = "{"
- ├── closing_loc: (13...14) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,12)-(1,13) = "{"
+ ├── closing_loc: (1,13)-(1,14) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (3...11))
+ │ @ BlockParametersNode (location: (1,3)-(1,11))
│ ├── parameters:
- │ │ @ ParametersNode (location: (4...10))
+ │ │ @ ParametersNode (location: (1,4)-(1,10))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
- │ │ │ └── @ OptionalParameterNode (location: (4...10))
+ │ │ │ └── @ OptionalParameterNode (location: (1,4)-(1,10))
│ │ │ ├── name: :arg
- │ │ │ ├── name_loc: (4...7) = "arg"
- │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ ├── name_loc: (1,4)-(1,7) = "arg"
+ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
- │ │ │ @ HashNode (location: (8...10))
- │ │ │ ├── opening_loc: (8...9) = "{"
+ │ │ │ @ HashNode (location: (1,8)-(1,10))
+ │ │ │ ├── opening_loc: (1,8)-(1,9) = "{"
│ │ │ ├── elements: (length: 0)
- │ │ │ └── closing_loc: (9...10) = "}"
+ │ │ │ └── closing_loc: (1,9)-(1,10) = "}"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (3...4) = "("
- │ └── closing_loc: (10...11) = ")"
+ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ └── closing_loc: (1,10)-(1,11) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/whitequark/parser_bug_830.txt b/test/yarp/snapshots/whitequark/parser_bug_830.txt
index 4a3aadf57d..f19fffbba0 100644
--- a/test/yarp/snapshots/whitequark/parser_bug_830.txt
+++ b/test/yarp/snapshots/whitequark/parser_bug_830.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...4))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...3) = "\\("
- ├── closing_loc: (3...4) = "/"
+ └── @ RegularExpressionNode (location: (1,0)-(1,4))
+ ├── opening_loc: (1,0)-(1,1) = "/"
+ ├── content_loc: (1,1)-(1,3) = "\\("
+ ├── closing_loc: (1,3)-(1,4) = "/"
├── unescaped: "("
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt b/test/yarp/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt
index 67a19e2b70..8a041058b8 100644
--- a/test/yarp/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt
+++ b/test/yarp/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...7))
- ├── opening_loc: (0...7) = "<<~HERE"
+ └── @ InterpolatedStringNode (location: (1,0)-(1,7))
+ ├── opening_loc: (1,0)-(1,7) = "<<~HERE"
├── parts: (length: 2)
- │ ├── @ EmbeddedStatementsNode (location: (10...13))
- │ │ ├── opening_loc: (10...12) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (2,2)-(2,5))
+ │ │ ├── opening_loc: (2,2)-(2,4) = "\#{"
│ │ ├── statements: ∅
- │ │ └── closing_loc: (12...13) = "}"
- │ └── @ StringNode (location: (13...14))
+ │ │ └── closing_loc: (2,4)-(2,5) = "}"
+ │ └── @ StringNode (location: (2,5)-(2,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (13...14) = "\n"
+ │ ├── content_loc: (2,5)-(2,0) = "\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n"
- └── closing_loc: (14...19) = "HERE\n"
+ └── closing_loc: (3,0)-(3,0) = "HERE\n"
diff --git a/test/yarp/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/yarp/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
index ee11d2662c..a527c36f62 100644
--- a/test/yarp/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
+++ b/test/yarp/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt
@@ -1,127 +1,127 @@
-@ ProgramNode (location: (0...210))
+@ ProgramNode (location: (1,0)-(62,2))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...210))
+ @ StatementsNode (location: (1,0)-(62,2))
└── body: (length: 19)
- ├── @ StringNode (location: (0...6))
+ ├── @ StringNode (location: (1,0)-(2,2))
│ ├── flags: ∅
- │ ├── opening_loc: (0...1) = "\""
- │ ├── content_loc: (1...5) = "a\\\nb"
- │ ├── closing_loc: (5...6) = "\""
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
+ │ ├── content_loc: (1,1)-(2,1) = "a\\\nb"
+ │ ├── closing_loc: (2,1)-(2,2) = "\""
│ └── unescaped: "ab"
- ├── @ ArrayNode (location: (8...16))
+ ├── @ ArrayNode (location: (4,0)-(5,2))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (11...15))
+ │ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (11...15) = "a\\\nb"
+ │ │ ├── value_loc: (4,3)-(5,1) = "a\\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ab"
- │ ├── opening_loc: (8...11) = "%I{"
- │ └── closing_loc: (15...16) = "}"
- ├── @ StringNode (location: (18...26))
+ │ ├── opening_loc: (4,0)-(4,3) = "%I{"
+ │ └── closing_loc: (5,1)-(5,2) = "}"
+ ├── @ StringNode (location: (7,0)-(8,2))
│ ├── flags: ∅
- │ ├── opening_loc: (18...21) = "%Q{"
- │ ├── content_loc: (21...25) = "a\\\nb"
- │ ├── closing_loc: (25...26) = "}"
+ │ ├── opening_loc: (7,0)-(7,3) = "%Q{"
+ │ ├── content_loc: (7,3)-(8,1) = "a\\\nb"
+ │ ├── closing_loc: (8,1)-(8,2) = "}"
│ └── unescaped: "ab"
- ├── @ ArrayNode (location: (28...36))
+ ├── @ ArrayNode (location: (10,0)-(11,2))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (31...35))
+ │ │ └── @ StringNode (location: (10,3)-(11,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (31...35) = "a\\\nb"
+ │ │ ├── content_loc: (10,3)-(11,1) = "a\\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "ab"
- │ ├── opening_loc: (28...31) = "%W{"
- │ └── closing_loc: (35...36) = "}"
- ├── @ ArrayNode (location: (38...46))
+ │ ├── opening_loc: (10,0)-(10,3) = "%W{"
+ │ └── closing_loc: (11,1)-(11,2) = "}"
+ ├── @ ArrayNode (location: (13,0)-(14,2))
│ ├── elements: (length: 1)
- │ │ └── @ SymbolNode (location: (41...45))
+ │ │ └── @ SymbolNode (location: (13,3)-(14,1))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (41...45) = "a\\\nb"
+ │ │ ├── value_loc: (13,3)-(14,1) = "a\\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\\\nb"
- │ ├── opening_loc: (38...41) = "%i{"
- │ └── closing_loc: (45...46) = "}"
- ├── @ StringNode (location: (48...56))
+ │ ├── opening_loc: (13,0)-(13,3) = "%i{"
+ │ └── closing_loc: (14,1)-(14,2) = "}"
+ ├── @ StringNode (location: (16,0)-(17,2))
│ ├── flags: ∅
- │ ├── opening_loc: (48...51) = "%q{"
- │ ├── content_loc: (51...55) = "a\\\nb"
- │ ├── closing_loc: (55...56) = "}"
+ │ ├── opening_loc: (16,0)-(16,3) = "%q{"
+ │ ├── content_loc: (16,3)-(17,1) = "a\\\nb"
+ │ ├── closing_loc: (17,1)-(17,2) = "}"
│ └── unescaped: "a\\\nb"
- ├── @ RegularExpressionNode (location: (58...66))
- │ ├── opening_loc: (58...61) = "%r{"
- │ ├── content_loc: (61...65) = "a\\\nb"
- │ ├── closing_loc: (65...66) = "}"
+ ├── @ RegularExpressionNode (location: (19,0)-(20,2))
+ │ ├── opening_loc: (19,0)-(19,3) = "%r{"
+ │ ├── content_loc: (19,3)-(20,1) = "a\\\nb"
+ │ ├── closing_loc: (20,1)-(20,2) = "}"
│ ├── unescaped: "ab"
│ └── flags: ∅
- ├── @ SymbolNode (location: (68...76))
- │ ├── opening_loc: (68...71) = "%s{"
- │ ├── value_loc: (71...75) = "a\\\nb"
- │ ├── closing_loc: (75...76) = "}"
+ ├── @ 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: "ab"
- ├── @ ArrayNode (location: (78...86))
+ ├── @ ArrayNode (location: (25,0)-(26,2))
│ ├── elements: (length: 1)
- │ │ └── @ StringNode (location: (81...85))
+ │ │ └── @ StringNode (location: (25,3)-(26,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (81...85) = "a\\\nb"
+ │ │ ├── content_loc: (25,3)-(26,1) = "a\\\nb"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
- │ ├── opening_loc: (78...81) = "%w{"
- │ └── closing_loc: (85...86) = "}"
- ├── @ XStringNode (location: (88...96))
- │ ├── opening_loc: (88...91) = "%x{"
- │ ├── content_loc: (91...95) = "a\\\nb"
- │ ├── closing_loc: (95...96) = "}"
+ │ ├── opening_loc: (25,0)-(25,3) = "%w{"
+ │ └── closing_loc: (26,1)-(26,2) = "}"
+ ├── @ XStringNode (location: (28,0)-(29,2))
+ │ ├── opening_loc: (28,0)-(28,3) = "%x{"
+ │ ├── content_loc: (28,3)-(29,1) = "a\\\nb"
+ │ ├── closing_loc: (29,1)-(29,2) = "}"
│ └── unescaped: "ab"
- ├── @ StringNode (location: (98...105))
+ ├── @ StringNode (location: (31,0)-(32,2))
│ ├── flags: ∅
- │ ├── opening_loc: (98...100) = "%{"
- │ ├── content_loc: (100...104) = "a\\\nb"
- │ ├── closing_loc: (104...105) = "}"
+ │ ├── opening_loc: (31,0)-(31,2) = "%{"
+ │ ├── content_loc: (31,2)-(32,1) = "a\\\nb"
+ │ ├── closing_loc: (32,1)-(32,2) = "}"
│ └── unescaped: "ab"
- ├── @ StringNode (location: (107...113))
+ ├── @ StringNode (location: (34,0)-(35,2))
│ ├── flags: ∅
- │ ├── opening_loc: (107...108) = "'"
- │ ├── content_loc: (108...112) = "a\\\nb"
- │ ├── closing_loc: (112...113) = "'"
+ │ ├── opening_loc: (34,0)-(34,1) = "'"
+ │ ├── content_loc: (34,1)-(35,1) = "a\\\nb"
+ │ ├── closing_loc: (35,1)-(35,2) = "'"
│ └── unescaped: "a\\\nb"
- ├── @ RegularExpressionNode (location: (115...121))
- │ ├── opening_loc: (115...116) = "/"
- │ ├── content_loc: (116...120) = "a\\\nb"
- │ ├── closing_loc: (120...121) = "/"
+ ├── @ RegularExpressionNode (location: (37,0)-(38,2))
+ │ ├── opening_loc: (37,0)-(37,1) = "/"
+ │ ├── content_loc: (37,1)-(38,1) = "a\\\nb"
+ │ ├── closing_loc: (38,1)-(38,2) = "/"
│ ├── unescaped: "ab"
│ └── flags: ∅
- ├── @ SymbolNode (location: (123...130))
- │ ├── opening_loc: (123...125) = ":\""
- │ ├── value_loc: (125...129) = "a\\\nb"
- │ ├── closing_loc: (129...130) = "\""
+ ├── @ SymbolNode (location: (40,0)-(41,2))
+ │ ├── opening_loc: (40,0)-(40,2) = ":\""
+ │ ├── value_loc: (40,2)-(41,1) = "a\\\nb"
+ │ ├── closing_loc: (41,1)-(41,2) = "\""
│ └── unescaped: "ab"
- ├── @ SymbolNode (location: (132...139))
- │ ├── opening_loc: (132...134) = ":'"
- │ ├── value_loc: (134...138) = "a\\\nb"
- │ ├── closing_loc: (138...139) = "'"
+ ├── @ SymbolNode (location: (43,0)-(44,2))
+ │ ├── opening_loc: (43,0)-(43,2) = ":'"
+ │ ├── value_loc: (43,2)-(44,1) = "a\\\nb"
+ │ ├── closing_loc: (44,1)-(44,2) = "'"
│ └── unescaped: "ab"
- ├── @ StringNode (location: (141...150))
+ ├── @ StringNode (location: (46,0)-(46,9))
│ ├── flags: ∅
- │ ├── opening_loc: (141...150) = "<<-\"HERE\""
- │ ├── content_loc: (151...156) = "a\\\nb\n"
- │ ├── closing_loc: (156...161) = "HERE\n"
+ │ ├── opening_loc: (46,0)-(46,9) = "<<-\"HERE\""
+ │ ├── content_loc: (47,0)-(48,0) = "a\\\nb\n"
+ │ ├── closing_loc: (49,0)-(49,0) = "HERE\n"
│ └── unescaped: "ab\n"
- ├── @ StringNode (location: (162...171))
+ ├── @ StringNode (location: (51,0)-(51,9))
│ ├── flags: ∅
- │ ├── opening_loc: (162...171) = "<<-'HERE'"
- │ ├── content_loc: (172...177) = "a\\\nb\n"
- │ ├── closing_loc: (177...182) = "HERE\n"
+ │ ├── opening_loc: (51,0)-(51,9) = "<<-'HERE'"
+ │ ├── content_loc: (52,0)-(53,0) = "a\\\nb\n"
+ │ ├── closing_loc: (54,0)-(54,0) = "HERE\n"
│ └── unescaped: "a\\\nb\n"
- ├── @ XStringNode (location: (183...192))
- │ ├── opening_loc: (183...192) = "<<-`HERE`"
- │ ├── content_loc: (193...198) = "a\\\nb\n"
- │ ├── closing_loc: (198...203) = "HERE\n"
+ ├── @ XStringNode (location: (56,0)-(56,9))
+ │ ├── opening_loc: (56,0)-(56,9) = "<<-`HERE`"
+ │ ├── content_loc: (57,0)-(58,0) = "a\\\nb\n"
+ │ ├── closing_loc: (59,0)-(59,0) = "HERE\n"
│ └── unescaped: "ab\n"
- └── @ XStringNode (location: (204...210))
- ├── opening_loc: (204...205) = "`"
- ├── content_loc: (205...209) = "a\\\nb"
- ├── closing_loc: (209...210) = "`"
+ └── @ XStringNode (location: (61,0)-(62,2))
+ ├── opening_loc: (61,0)-(61,1) = "`"
+ ├── content_loc: (61,1)-(62,1) = "a\\\nb"
+ ├── closing_loc: (62,1)-(62,2) = "`"
└── unescaped: "ab"
diff --git a/test/yarp/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/yarp/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
index b36942b341..1fc938e1ed 100644
--- a/test/yarp/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
+++ b/test/yarp/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (8...111))
+@ ProgramNode (location: (1,8)-(3,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (8...111))
+ @ StatementsNode (location: (1,8)-(3,11))
└── body: (length: 1)
- └── @ CaseNode (location: (8...111))
+ └── @ CaseNode (location: (1,8)-(3,11))
├── predicate:
- │ @ ArrayNode (location: (13...51))
+ │ @ ArrayNode (location: (1,13)-(1,51))
│ ├── elements: (length: 3)
- │ │ ├── @ SourceFileNode (location: (14...22))
+ │ │ ├── @ SourceFileNode (location: (1,14)-(1,22))
│ │ │ └── filepath: "whitequark/pattern_matching__FILE__LINE_literals.txt"
- │ │ ├── @ CallNode (location: (24...36))
+ │ │ ├── @ CallNode (location: (1,24)-(1,36))
│ │ │ ├── receiver:
- │ │ │ │ @ SourceLineNode (location: (24...32))
+ │ │ │ │ @ SourceLineNode (location: (1,24)-(1,32))
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (33...34) = "+"
+ │ │ │ ├── message_loc: (1,33)-(1,34) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (35...36))
+ │ │ │ │ @ ArgumentsNode (location: (1,35)-(1,36))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ IntegerNode (location: (35...36))
+ │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "+"
- │ │ └── @ SourceEncodingNode (location: (38...50))
- │ ├── opening_loc: (13...14) = "["
- │ └── closing_loc: (50...51) = "]"
+ │ │ └── @ SourceEncodingNode (location: (1,38)-(1,50))
+ │ ├── opening_loc: (1,13)-(1,14) = "["
+ │ └── closing_loc: (1,50)-(1,51) = "]"
├── conditions: (length: 1)
- │ └── @ InNode (location: (62...99))
+ │ └── @ InNode (location: (2,10)-(2,47))
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (65...99))
+ │ │ @ ArrayPatternNode (location: (2,13)-(2,47))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 3)
- │ │ │ ├── @ SourceFileNode (location: (66...74))
+ │ │ │ ├── @ SourceFileNode (location: (2,14)-(2,22))
│ │ │ │ └── filepath: "whitequark/pattern_matching__FILE__LINE_literals.txt"
- │ │ │ ├── @ SourceLineNode (location: (76...84))
- │ │ │ └── @ SourceEncodingNode (location: (86...98))
+ │ │ │ ├── @ SourceLineNode (location: (2,24)-(2,32))
+ │ │ │ └── @ SourceEncodingNode (location: (2,34)-(2,46))
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (65...66) = "["
- │ │ └── closing_loc: (98...99) = "]"
+ │ │ ├── opening_loc: (2,13)-(2,14) = "["
+ │ │ └── closing_loc: (2,46)-(2,47) = "]"
│ ├── statements: ∅
- │ ├── in_loc: (62...64) = "in"
+ │ ├── in_loc: (2,10)-(2,12) = "in"
│ └── then_loc: ∅
├── consequent: ∅
- ├── case_keyword_loc: (8...12) = "case"
- └── end_keyword_loc: (108...111) = "end"
+ ├── case_keyword_loc: (1,8)-(1,12) = "case"
+ └── end_keyword_loc: (3,8)-(3,11) = "end"
diff --git a/test/yarp/snapshots/whitequark/pattern_matching_blank_else.txt b/test/yarp/snapshots/whitequark/pattern_matching_blank_else.txt
index 9f05329cc2..f6b212c8b2 100644
--- a/test/yarp/snapshots/whitequark/pattern_matching_blank_else.txt
+++ b/test/yarp/snapshots/whitequark/pattern_matching_blank_else.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(1,26))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(1,26))
└── body: (length: 1)
- └── @ CaseNode (location: (0...26))
+ └── @ CaseNode (location: (1,0)-(1,26))
├── predicate:
- │ @ IntegerNode (location: (5...6))
+ │ @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...15))
+ │ └── @ InNode (location: (1,8)-(1,15))
│ ├── pattern:
- │ │ @ IntegerNode (location: (11...12))
+ │ │ @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (14...15))
+ │ │ @ StatementsNode (location: (1,14)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (14...15))
+ │ │ └── @ IntegerNode (location: (1,14)-(1,15))
│ │ └── flags: decimal
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (1,8)-(1,10) = "in"
│ └── then_loc: ∅
├── consequent:
- │ @ ElseNode (location: (17...26))
- │ ├── else_keyword_loc: (17...21) = "else"
+ │ @ ElseNode (location: (1,17)-(1,26))
+ │ ├── else_keyword_loc: (1,17)-(1,21) = "else"
│ ├── statements: ∅
- │ └── end_keyword_loc: (23...26) = "end"
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (23...26) = "end"
+ │ └── end_keyword_loc: (1,23)-(1,26) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,23)-(1,26) = "end"
diff --git a/test/yarp/snapshots/whitequark/pattern_matching_else.txt b/test/yarp/snapshots/whitequark/pattern_matching_else.txt
index c66ae602eb..358a556947 100644
--- a/test/yarp/snapshots/whitequark/pattern_matching_else.txt
+++ b/test/yarp/snapshots/whitequark/pattern_matching_else.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ CaseNode (location: (0...29))
+ └── @ CaseNode (location: (1,0)-(1,29))
├── predicate:
- │ @ IntegerNode (location: (5...6))
+ │ @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
├── conditions: (length: 1)
- │ └── @ InNode (location: (8...15))
+ │ └── @ InNode (location: (1,8)-(1,15))
│ ├── pattern:
- │ │ @ IntegerNode (location: (11...12))
+ │ │ @ IntegerNode (location: (1,11)-(1,12))
│ │ └── flags: decimal
│ ├── statements:
- │ │ @ StatementsNode (location: (14...15))
+ │ │ @ StatementsNode (location: (1,14)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (14...15))
+ │ │ └── @ IntegerNode (location: (1,14)-(1,15))
│ │ └── flags: decimal
- │ ├── in_loc: (8...10) = "in"
+ │ ├── in_loc: (1,8)-(1,10) = "in"
│ └── then_loc: ∅
├── consequent:
- │ @ ElseNode (location: (17...29))
- │ ├── else_keyword_loc: (17...21) = "else"
+ │ @ ElseNode (location: (1,17)-(1,29))
+ │ ├── else_keyword_loc: (1,17)-(1,21) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (23...24))
+ │ │ @ StatementsNode (location: (1,23)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (23...24))
+ │ │ └── @ IntegerNode (location: (1,23)-(1,24))
│ │ └── flags: decimal
- │ └── end_keyword_loc: (26...29) = "end"
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (26...29) = "end"
+ │ └── end_keyword_loc: (1,26)-(1,29) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/yarp/snapshots/whitequark/pattern_matching_single_line.txt b/test/yarp/snapshots/whitequark/pattern_matching_single_line.txt
index c80c965025..4cda50acb1 100644
--- a/test/yarp/snapshots/whitequark/pattern_matching_single_line.txt
+++ b/test/yarp/snapshots/whitequark/pattern_matching_single_line.txt
@@ -1,43 +1,43 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 4)
- ├── @ MatchRequiredNode (location: (0...8))
+ ├── @ MatchRequiredNode (location: (1,0)-(1,8))
│ ├── value:
- │ │ @ IntegerNode (location: (0...1))
+ │ │ @ IntegerNode (location: (1,0)-(1,1))
│ │ └── flags: decimal
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (5...8))
+ │ │ @ ArrayPatternNode (location: (1,5)-(1,8))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (6...7))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (5...6) = "["
- │ │ └── closing_loc: (7...8) = "]"
- │ └── operator_loc: (2...4) = "=>"
- ├── @ LocalVariableReadNode (location: (10...11))
+ │ │ ├── opening_loc: (1,5)-(1,6) = "["
+ │ │ └── closing_loc: (1,7)-(1,8) = "]"
+ │ └── operator_loc: (1,2)-(1,4) = "=>"
+ ├── @ LocalVariableReadNode (location: (1,10)-(1,11))
│ ├── name: :a
│ └── depth: 0
- ├── @ MatchPredicateNode (location: (13...21))
+ ├── @ MatchPredicateNode (location: (3,0)-(3,8))
│ ├── value:
- │ │ @ IntegerNode (location: (13...14))
+ │ │ @ IntegerNode (location: (3,0)-(3,1))
│ │ └── flags: decimal
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (18...21))
+ │ │ @ ArrayPatternNode (location: (3,5)-(3,8))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ LocalVariableTargetNode (location: (19...20))
+ │ │ │ └── @ LocalVariableTargetNode (location: (3,6)-(3,7))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
- │ │ ├── opening_loc: (18...19) = "["
- │ │ └── closing_loc: (20...21) = "]"
- │ └── operator_loc: (15...17) = "in"
- └── @ LocalVariableReadNode (location: (23...24))
+ │ │ ├── opening_loc: (3,5)-(3,6) = "["
+ │ │ └── closing_loc: (3,7)-(3,8) = "]"
+ │ └── operator_loc: (3,2)-(3,4) = "in"
+ └── @ LocalVariableReadNode (location: (3,10)-(3,11))
├── name: :a
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/yarp/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
index 90afc2c947..faf1c957ea 100644
--- a/test/yarp/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
+++ b/test/yarp/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt
@@ -1,221 +1,221 @@
-@ ProgramNode (location: (0...142))
+@ ProgramNode (location: (1,0)-(11,34))
├── locals: [:a, :b, :value]
└── statements:
- @ StatementsNode (location: (0...142))
+ @ StatementsNode (location: (1,0)-(11,34))
└── body: (length: 12)
- ├── @ MatchRequiredNode (location: (0...14))
+ ├── @ MatchRequiredNode (location: (1,0)-(1,14))
│ ├── value:
- │ │ @ ArrayNode (location: (0...6))
+ │ │ @ ArrayNode (location: (1,0)-(1,6))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (1...2))
+ │ │ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (4...5))
+ │ │ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (0...1) = "["
- │ │ └── closing_loc: (5...6) = "]"
+ │ │ ├── opening_loc: (1,0)-(1,1) = "["
+ │ │ └── closing_loc: (1,5)-(1,6) = "]"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (10...14))
+ │ │ @ ArrayPatternNode (location: (1,10)-(1,14))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (10...11))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (1,10)-(1,11))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (13...14))
+ │ │ │ └── @ LocalVariableTargetNode (location: (1,13)-(1,14))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (7...9) = "=>"
- ├── @ LocalVariableReadNode (location: (16...17))
+ │ └── operator_loc: (1,7)-(1,9) = "=>"
+ ├── @ LocalVariableReadNode (location: (1,16)-(1,17))
│ ├── name: :a
│ └── depth: 0
- ├── @ MatchPredicateNode (location: (19...33))
+ ├── @ MatchPredicateNode (location: (3,0)-(3,14))
│ ├── value:
- │ │ @ ArrayNode (location: (19...25))
+ │ │ @ ArrayNode (location: (3,0)-(3,6))
│ │ ├── elements: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (20...21))
+ │ │ │ ├── @ IntegerNode (location: (3,1)-(3,2))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ IntegerNode (location: (23...24))
+ │ │ │ └── @ IntegerNode (location: (3,4)-(3,5))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (19...20) = "["
- │ │ └── closing_loc: (24...25) = "]"
+ │ │ ├── opening_loc: (3,0)-(3,1) = "["
+ │ │ └── closing_loc: (3,5)-(3,6) = "]"
│ ├── pattern:
- │ │ @ ArrayPatternNode (location: (29...33))
+ │ │ @ ArrayPatternNode (location: (3,10)-(3,14))
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 2)
- │ │ │ ├── @ LocalVariableTargetNode (location: (29...30))
+ │ │ │ ├── @ LocalVariableTargetNode (location: (3,10)-(3,11))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
- │ │ │ └── @ LocalVariableTargetNode (location: (32...33))
+ │ │ │ └── @ LocalVariableTargetNode (location: (3,13)-(3,14))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (26...28) = "in"
- ├── @ LocalVariableReadNode (location: (35...36))
+ │ └── operator_loc: (3,7)-(3,9) = "in"
+ ├── @ LocalVariableReadNode (location: (3,16)-(3,17))
│ ├── name: :a
│ └── depth: 0
- ├── @ MatchRequiredNode (location: (38...50))
+ ├── @ MatchRequiredNode (location: (5,0)-(5,12))
│ ├── value:
- │ │ @ HashNode (location: (38...44))
- │ │ ├── opening_loc: (38...39) = "{"
+ │ │ @ HashNode (location: (5,0)-(5,6))
+ │ │ ├── opening_loc: (5,0)-(5,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (39...43))
+ │ │ │ └── @ AssocNode (location: (5,1)-(5,5))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (39...41))
+ │ │ │ │ @ SymbolNode (location: (5,1)-(5,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (39...40) = "a"
- │ │ │ │ ├── closing_loc: (40...41) = ":"
+ │ │ │ │ ├── value_loc: (5,1)-(5,2) = "a"
+ │ │ │ │ ├── closing_loc: (5,2)-(5,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (42...43))
+ │ │ │ │ @ IntegerNode (location: (5,4)-(5,5))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (43...44) = "}"
+ │ │ └── closing_loc: (5,5)-(5,6) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (48...50))
+ │ │ @ HashPatternNode (location: (5,10)-(5,12))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (48...50))
+ │ │ │ └── @ AssocNode (location: (5,10)-(5,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (48...50))
+ │ │ │ │ @ SymbolNode (location: (5,10)-(5,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (48...49) = "a"
- │ │ │ │ ├── closing_loc: (49...50) = ":"
+ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a"
+ │ │ │ │ ├── closing_loc: (5,11)-(5,12) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (45...47) = "=>"
- ├── @ LocalVariableReadNode (location: (52...53))
+ │ └── operator_loc: (5,7)-(5,9) = "=>"
+ ├── @ LocalVariableReadNode (location: (5,14)-(5,15))
│ ├── name: :a
│ └── depth: 0
- ├── @ MatchPredicateNode (location: (55...67))
+ ├── @ MatchPredicateNode (location: (7,0)-(7,12))
│ ├── value:
- │ │ @ HashNode (location: (55...61))
- │ │ ├── opening_loc: (55...56) = "{"
+ │ │ @ HashNode (location: (7,0)-(7,6))
+ │ │ ├── opening_loc: (7,0)-(7,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (56...60))
+ │ │ │ └── @ AssocNode (location: (7,1)-(7,5))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (56...58))
+ │ │ │ │ @ SymbolNode (location: (7,1)-(7,3))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (56...57) = "a"
- │ │ │ │ ├── closing_loc: (57...58) = ":"
+ │ │ │ │ ├── value_loc: (7,1)-(7,2) = "a"
+ │ │ │ │ ├── closing_loc: (7,2)-(7,3) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
- │ │ │ │ @ IntegerNode (location: (59...60))
+ │ │ │ │ @ IntegerNode (location: (7,4)-(7,5))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (60...61) = "}"
+ │ │ └── closing_loc: (7,5)-(7,6) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (65...67))
+ │ │ @ HashPatternNode (location: (7,10)-(7,12))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (65...67))
+ │ │ │ └── @ AssocNode (location: (7,10)-(7,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (65...67))
+ │ │ │ │ @ SymbolNode (location: (7,10)-(7,12))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (65...66) = "a"
- │ │ │ │ ├── closing_loc: (66...67) = ":"
+ │ │ │ │ ├── value_loc: (7,10)-(7,11) = "a"
+ │ │ │ │ ├── closing_loc: (7,11)-(7,12) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (62...64) = "in"
- ├── @ LocalVariableReadNode (location: (69...70))
+ │ └── operator_loc: (7,7)-(7,9) = "in"
+ ├── @ LocalVariableReadNode (location: (7,14)-(7,15))
│ ├── name: :a
│ └── depth: 0
- ├── @ MatchRequiredNode (location: (72...99))
+ ├── @ MatchRequiredNode (location: (9,0)-(9,27))
│ ├── value:
- │ │ @ HashNode (location: (72...85))
- │ │ ├── opening_loc: (72...73) = "{"
+ │ │ @ HashNode (location: (9,0)-(9,13))
+ │ │ ├── opening_loc: (9,0)-(9,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (73...84))
+ │ │ │ └── @ AssocNode (location: (9,1)-(9,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (73...77))
+ │ │ │ │ @ SymbolNode (location: (9,1)-(9,5))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (73...76) = "key"
- │ │ │ │ ├── closing_loc: (76...77) = ":"
+ │ │ │ │ ├── value_loc: (9,1)-(9,4) = "key"
+ │ │ │ │ ├── closing_loc: (9,4)-(9,5) = ":"
│ │ │ │ └── unescaped: "key"
│ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (78...84))
- │ │ │ │ ├── opening_loc: (78...79) = ":"
- │ │ │ │ ├── value_loc: (79...84) = "value"
+ │ │ │ │ @ SymbolNode (location: (9,6)-(9,12))
+ │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":"
+ │ │ │ │ ├── value_loc: (9,7)-(9,12) = "value"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "value"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (84...85) = "}"
+ │ │ └── closing_loc: (9,12)-(9,13) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (89...99))
+ │ │ @ HashPatternNode (location: (9,17)-(9,27))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (89...99))
+ │ │ │ └── @ AssocNode (location: (9,17)-(9,27))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (89...93))
+ │ │ │ │ @ SymbolNode (location: (9,17)-(9,21))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (89...92) = "key"
- │ │ │ │ ├── closing_loc: (92...93) = ":"
+ │ │ │ │ ├── value_loc: (9,17)-(9,20) = "key"
+ │ │ │ │ ├── closing_loc: (9,20)-(9,21) = ":"
│ │ │ │ └── unescaped: "key"
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableTargetNode (location: (94...99))
+ │ │ │ │ @ LocalVariableTargetNode (location: (9,22)-(9,27))
│ │ │ │ ├── name: :value
│ │ │ │ └── depth: 0
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (86...88) = "=>"
- ├── @ LocalVariableReadNode (location: (101...106))
+ │ └── operator_loc: (9,14)-(9,16) = "=>"
+ ├── @ LocalVariableReadNode (location: (9,29)-(9,34))
│ ├── name: :value
│ └── depth: 0
- ├── @ MatchPredicateNode (location: (108...135))
+ ├── @ MatchPredicateNode (location: (11,0)-(11,27))
│ ├── value:
- │ │ @ HashNode (location: (108...121))
- │ │ ├── opening_loc: (108...109) = "{"
+ │ │ @ HashNode (location: (11,0)-(11,13))
+ │ │ ├── opening_loc: (11,0)-(11,1) = "{"
│ │ ├── elements: (length: 1)
- │ │ │ └── @ AssocNode (location: (109...120))
+ │ │ │ └── @ AssocNode (location: (11,1)-(11,12))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (109...113))
+ │ │ │ │ @ SymbolNode (location: (11,1)-(11,5))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (109...112) = "key"
- │ │ │ │ ├── closing_loc: (112...113) = ":"
+ │ │ │ │ ├── value_loc: (11,1)-(11,4) = "key"
+ │ │ │ │ ├── closing_loc: (11,4)-(11,5) = ":"
│ │ │ │ └── unescaped: "key"
│ │ │ ├── value:
- │ │ │ │ @ SymbolNode (location: (114...120))
- │ │ │ │ ├── opening_loc: (114...115) = ":"
- │ │ │ │ ├── value_loc: (115...120) = "value"
+ │ │ │ │ @ SymbolNode (location: (11,6)-(11,12))
+ │ │ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
+ │ │ │ │ ├── value_loc: (11,7)-(11,12) = "value"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "value"
│ │ │ └── operator_loc: ∅
- │ │ └── closing_loc: (120...121) = "}"
+ │ │ └── closing_loc: (11,12)-(11,13) = "}"
│ ├── pattern:
- │ │ @ HashPatternNode (location: (125...135))
+ │ │ @ HashPatternNode (location: (11,17)-(11,27))
│ │ ├── constant: ∅
│ │ ├── assocs: (length: 1)
- │ │ │ └── @ AssocNode (location: (125...135))
+ │ │ │ └── @ AssocNode (location: (11,17)-(11,27))
│ │ │ ├── key:
- │ │ │ │ @ SymbolNode (location: (125...129))
+ │ │ │ │ @ SymbolNode (location: (11,17)-(11,21))
│ │ │ │ ├── opening_loc: ∅
- │ │ │ │ ├── value_loc: (125...128) = "key"
- │ │ │ │ ├── closing_loc: (128...129) = ":"
+ │ │ │ │ ├── value_loc: (11,17)-(11,20) = "key"
+ │ │ │ │ ├── closing_loc: (11,20)-(11,21) = ":"
│ │ │ │ └── unescaped: "key"
│ │ │ ├── value:
- │ │ │ │ @ LocalVariableTargetNode (location: (130...135))
+ │ │ │ │ @ LocalVariableTargetNode (location: (11,22)-(11,27))
│ │ │ │ ├── name: :value
│ │ │ │ └── depth: 0
│ │ │ └── operator_loc: ∅
│ │ ├── kwrest: ∅
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
- │ └── operator_loc: (122...124) = "in"
- └── @ LocalVariableReadNode (location: (137...142))
+ │ └── operator_loc: (11,14)-(11,16) = "in"
+ └── @ LocalVariableReadNode (location: (11,29)-(11,34))
├── name: :value
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/postexe.txt b/test/yarp/snapshots/whitequark/postexe.txt
index a879a0ec4a..1c833ffaa4 100644
--- a/test/yarp/snapshots/whitequark/postexe.txt
+++ b/test/yarp/snapshots/whitequark/postexe.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ PostExecutionNode (location: (0...9))
+ └── @ PostExecutionNode (location: (1,0)-(1,9))
├── statements:
- │ @ StatementsNode (location: (6...7))
+ │ @ StatementsNode (location: (1,6)-(1,7))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (6...7))
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
- ├── keyword_loc: (0...3) = "END"
- ├── opening_loc: (4...5) = "{"
- └── closing_loc: (8...9) = "}"
+ ├── keyword_loc: (1,0)-(1,3) = "END"
+ ├── opening_loc: (1,4)-(1,5) = "{"
+ └── closing_loc: (1,8)-(1,9) = "}"
diff --git a/test/yarp/snapshots/whitequark/preexe.txt b/test/yarp/snapshots/whitequark/preexe.txt
index 1eeecf45ca..955ba6d444 100644
--- a/test/yarp/snapshots/whitequark/preexe.txt
+++ b/test/yarp/snapshots/whitequark/preexe.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ PreExecutionNode (location: (0...11))
+ └── @ PreExecutionNode (location: (1,0)-(1,11))
├── statements:
- │ @ StatementsNode (location: (8...9))
+ │ @ StatementsNode (location: (1,8)-(1,9))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (8...9))
+ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ └── flags: decimal
- ├── keyword_loc: (0...5) = "BEGIN"
- ├── opening_loc: (6...7) = "{"
- └── closing_loc: (10...11) = "}"
+ ├── keyword_loc: (1,0)-(1,5) = "BEGIN"
+ ├── opening_loc: (1,6)-(1,7) = "{"
+ └── closing_loc: (1,10)-(1,11) = "}"
diff --git a/test/yarp/snapshots/whitequark/procarg0.txt b/test/yarp/snapshots/whitequark/procarg0.txt
index ca5faaeded..8518cbf811 100644
--- a/test/yarp/snapshots/whitequark/procarg0.txt
+++ b/test/yarp/snapshots/whitequark/procarg0.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(3,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(3,11))
└── body: (length: 2)
- ├── @ CallNode (location: (0...18))
+ ├── @ CallNode (location: (1,0)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "m"
+ │ ├── message_loc: (1,0)-(1,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (2...18))
+ │ │ @ BlockNode (location: (1,2)-(1,18))
│ │ ├── locals: [:foo, :bar]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (4...16))
+ │ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (5...15))
+ │ │ │ │ │ └── @ RequiredDestructuredParameterNode (location: (1,5)-(1,15))
│ │ │ │ │ ├── parameters: (length: 2)
- │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (6...9))
+ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9))
│ │ │ │ │ │ │ └── name: :foo
- │ │ │ │ │ │ └── @ RequiredParameterNode (location: (11...14))
+ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,14))
│ │ │ │ │ │ └── name: :bar
- │ │ │ │ │ ├── opening_loc: (5...6) = "("
- │ │ │ │ │ └── closing_loc: (14...15) = ")"
+ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
+ │ │ │ │ │ └── closing_loc: (1,14)-(1,15) = ")"
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
@@ -33,29 +33,29 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (4...5) = "|"
- │ │ │ └── closing_loc: (15...16) = "|"
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = "|"
+ │ │ │ └── closing_loc: (1,15)-(1,16) = "|"
│ │ ├── body: ∅
- │ │ ├── opening_loc: (2...3) = "{"
- │ │ └── closing_loc: (17...18) = "}"
+ │ │ ├── opening_loc: (1,2)-(1,3) = "{"
+ │ │ └── closing_loc: (1,17)-(1,18) = "}"
│ ├── flags: ∅
│ └── name: "m"
- └── @ CallNode (location: (21...32))
+ └── @ CallNode (location: (3,0)-(3,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (21...22) = "m"
+ ├── message_loc: (3,0)-(3,1) = "m"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (23...32))
+ │ @ BlockNode (location: (3,2)-(3,11))
│ ├── locals: [:foo]
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (25...30))
+ │ │ @ BlockParametersNode (location: (3,4)-(3,9))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (26...29))
+ │ │ │ @ ParametersNode (location: (3,5)-(3,8))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (26...29))
+ │ │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8))
│ │ │ │ └── name: :foo
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -64,10 +64,10 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (25...26) = "|"
- │ │ └── closing_loc: (29...30) = "|"
+ │ │ ├── opening_loc: (3,4)-(3,5) = "|"
+ │ │ └── closing_loc: (3,8)-(3,9) = "|"
│ ├── body: ∅
- │ ├── opening_loc: (23...24) = "{"
- │ └── closing_loc: (31...32) = "}"
+ │ ├── opening_loc: (3,2)-(3,3) = "{"
+ │ └── closing_loc: (3,10)-(3,11) = "}"
├── flags: ∅
└── name: "m"
diff --git a/test/yarp/snapshots/whitequark/range_exclusive.txt b/test/yarp/snapshots/whitequark/range_exclusive.txt
index 5236911e58..7e134a3004 100644
--- a/test/yarp/snapshots/whitequark/range_exclusive.txt
+++ b/test/yarp/snapshots/whitequark/range_exclusive.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ RangeNode (location: (0...5))
+ └── @ RangeNode (location: (1,0)-(1,5))
├── left:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right:
- │ @ IntegerNode (location: (4...5))
+ │ @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
- ├── operator_loc: (1...4) = "..."
+ ├── operator_loc: (1,1)-(1,4) = "..."
└── flags: exclude_end
diff --git a/test/yarp/snapshots/whitequark/range_inclusive.txt b/test/yarp/snapshots/whitequark/range_inclusive.txt
index 8d60ec4e5a..b6fe045834 100644
--- a/test/yarp/snapshots/whitequark/range_inclusive.txt
+++ b/test/yarp/snapshots/whitequark/range_inclusive.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RangeNode (location: (0...4))
+ └── @ RangeNode (location: (1,0)-(1,4))
├── left:
- │ @ IntegerNode (location: (0...1))
+ │ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right:
- │ @ IntegerNode (location: (3...4))
+ │ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
- ├── operator_loc: (1...3) = ".."
+ ├── operator_loc: (1,1)-(1,3) = ".."
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/rational.txt b/test/yarp/snapshots/whitequark/rational.txt
index 50fd5f2bb5..260a5d2efc 100644
--- a/test/yarp/snapshots/whitequark/rational.txt
+++ b/test/yarp/snapshots/whitequark/rational.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(3,3))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 2)
- ├── @ RationalNode (location: (0...5))
+ ├── @ RationalNode (location: (1,0)-(1,5))
│ └── numeric:
- │ @ FloatNode (location: (0...4))
- └── @ RationalNode (location: (7...10))
+ │ @ FloatNode (location: (1,0)-(1,4))
+ └── @ RationalNode (location: (3,0)-(3,3))
└── numeric:
- @ IntegerNode (location: (7...9))
+ @ IntegerNode (location: (3,0)-(3,2))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/redo.txt b/test/yarp/snapshots/whitequark/redo.txt
index 181cddb6b5..48d3da9d52 100644
--- a/test/yarp/snapshots/whitequark/redo.txt
+++ b/test/yarp/snapshots/whitequark/redo.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ RedoNode (location: (0...4))
+ └── @ RedoNode (location: (1,0)-(1,4))
diff --git a/test/yarp/snapshots/whitequark/regex_interp.txt b/test/yarp/snapshots/whitequark/regex_interp.txt
index 520be625ad..71d88cae70 100644
--- a/test/yarp/snapshots/whitequark/regex_interp.txt
+++ b/test/yarp/snapshots/whitequark/regex_interp.txt
@@ -1,38 +1,38 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ InterpolatedRegularExpressionNode (location: (0...14))
- ├── opening_loc: (0...1) = "/"
+ └── @ InterpolatedRegularExpressionNode (location: (1,0)-(1,14))
+ ├── opening_loc: (1,0)-(1,1) = "/"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (1...4))
+ │ ├── @ StringNode (location: (1,1)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...4) = "foo"
+ │ │ ├── content_loc: (1,1)-(1,4) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ ├── @ EmbeddedStatementsNode (location: (4...10))
- │ │ ├── opening_loc: (4...6) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10))
+ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (6...9))
+ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (6...9))
+ │ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (6...9) = "bar"
+ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── closing_loc: (9...10) = "}"
- │ └── @ StringNode (location: (10...13))
+ │ │ └── closing_loc: (1,9)-(1,10) = "}"
+ │ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (10...13) = "baz"
+ │ ├── content_loc: (1,10)-(1,13) = "baz"
│ ├── closing_loc: ∅
│ └── unescaped: "baz"
- ├── closing_loc: (13...14) = "/"
+ ├── closing_loc: (1,13)-(1,14) = "/"
└── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/regex_plain.txt b/test/yarp/snapshots/whitequark/regex_plain.txt
index 8f6633b947..e4c80c53ea 100644
--- a/test/yarp/snapshots/whitequark/regex_plain.txt
+++ b/test/yarp/snapshots/whitequark/regex_plain.txt
@@ -1,11 +1,11 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ RegularExpressionNode (location: (0...10))
- ├── opening_loc: (0...1) = "/"
- ├── content_loc: (1...7) = "source"
- ├── closing_loc: (7...10) = "/im"
+ └── @ RegularExpressionNode (location: (1,0)-(1,10))
+ ├── 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
diff --git a/test/yarp/snapshots/whitequark/resbody_list.txt b/test/yarp/snapshots/whitequark/resbody_list.txt
index 1b37edf833..2611c028cb 100644
--- a/test/yarp/snapshots/whitequark/resbody_list.txt
+++ b/test/yarp/snapshots/whitequark/resbody_list.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(1,39))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(1,39))
└── body: (length: 1)
- └── @ BeginNode (location: (0...39))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,39))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,20 +19,20 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...34))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,34))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ ConstantReadNode (location: (20...29))
+ │ │ └── @ ConstantReadNode (location: (1,20)-(1,29))
│ │ └── name: :Exception
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (31...34))
+ │ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (31...34))
+ │ │ └── @ CallNode (location: (1,31)-(1,34))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "bar"
+ │ │ ├── message_loc: (1,31)-(1,34) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -42,4 +42,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (36...39) = "end"
+ └── end_keyword_loc: (1,36)-(1,39) = "end"
diff --git a/test/yarp/snapshots/whitequark/resbody_list_mrhs.txt b/test/yarp/snapshots/whitequark/resbody_list_mrhs.txt
index 08e5d0f884..72758b6c97 100644
--- a/test/yarp/snapshots/whitequark/resbody_list_mrhs.txt
+++ b/test/yarp/snapshots/whitequark/resbody_list_mrhs.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...44))
+@ ProgramNode (location: (1,0)-(1,44))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...44))
+ @ StatementsNode (location: (1,0)-(1,44))
└── body: (length: 1)
- └── @ BeginNode (location: (0...44))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,44))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,15 +19,15 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...39))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,39))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 2)
- │ │ ├── @ ConstantReadNode (location: (20...29))
+ │ │ ├── @ ConstantReadNode (location: (1,20)-(1,29))
│ │ │ └── name: :Exception
- │ │ └── @ CallNode (location: (31...34))
+ │ │ └── @ CallNode (location: (1,31)-(1,34))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "foo"
+ │ │ ├── message_loc: (1,31)-(1,34) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -37,12 +37,12 @@
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (36...39))
+ │ │ @ StatementsNode (location: (1,36)-(1,39))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (36...39))
+ │ │ └── @ CallNode (location: (1,36)-(1,39))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (36...39) = "bar"
+ │ │ ├── message_loc: (1,36)-(1,39) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -52,4 +52,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (41...44) = "end"
+ └── end_keyword_loc: (1,41)-(1,44) = "end"
diff --git a/test/yarp/snapshots/whitequark/resbody_list_var.txt b/test/yarp/snapshots/whitequark/resbody_list_var.txt
index b96efda258..27798cd610 100644
--- a/test/yarp/snapshots/whitequark/resbody_list_var.txt
+++ b/test/yarp/snapshots/whitequark/resbody_list_var.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(1,39))
├── locals: [:ex]
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(1,39))
└── body: (length: 1)
- └── @ BeginNode (location: (0...39))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,39))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,31 +19,31 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...34))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,34))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 1)
- │ │ └── @ CallNode (location: (20...23))
+ │ │ └── @ CallNode (location: (1,20)-(1,23))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...23) = "foo"
+ │ │ ├── message_loc: (1,20)-(1,23) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── operator_loc: (24...26) = "=>"
+ │ ├── operator_loc: (1,24)-(1,26) = "=>"
│ ├── reference:
- │ │ @ LocalVariableTargetNode (location: (27...29))
+ │ │ @ LocalVariableTargetNode (location: (1,27)-(1,29))
│ │ ├── name: :ex
│ │ └── depth: 0
│ ├── statements:
- │ │ @ StatementsNode (location: (31...34))
+ │ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (31...34))
+ │ │ └── @ CallNode (location: (1,31)-(1,34))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "bar"
+ │ │ ├── message_loc: (1,31)-(1,34) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -53,4 +53,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (36...39) = "end"
+ └── end_keyword_loc: (1,36)-(1,39) = "end"
diff --git a/test/yarp/snapshots/whitequark/resbody_var.txt b/test/yarp/snapshots/whitequark/resbody_var.txt
index 2e92335925..1428a7e6c3 100644
--- a/test/yarp/snapshots/whitequark/resbody_var.txt
+++ b/test/yarp/snapshots/whitequark/resbody_var.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...73))
+@ ProgramNode (location: (1,0)-(3,35))
├── locals: [:ex]
└── statements:
- @ StatementsNode (location: (0...73))
+ @ StatementsNode (location: (1,0)-(3,35))
└── body: (length: 2)
- ├── @ BeginNode (location: (0...36))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ ├── @ BeginNode (location: (1,0)-(1,36))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (7...11))
+ │ │ @ StatementsNode (location: (1,7)-(1,11))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (7...11))
+ │ │ └── @ CallNode (location: (1,7)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...11) = "meth"
+ │ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -19,20 +19,20 @@
│ │ ├── flags: variable_call
│ │ └── name: "meth"
│ ├── rescue_clause:
- │ │ @ RescueNode (location: (13...31))
- │ │ ├── keyword_loc: (13...19) = "rescue"
+ │ │ @ RescueNode (location: (1,13)-(1,31))
+ │ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ │ ├── exceptions: (length: 0)
- │ │ ├── operator_loc: (20...22) = "=>"
+ │ │ ├── operator_loc: (1,20)-(1,22) = "=>"
│ │ ├── reference:
- │ │ │ @ InstanceVariableTargetNode (location: (23...26))
+ │ │ │ @ InstanceVariableTargetNode (location: (1,23)-(1,26))
│ │ │ └── name: :@ex
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (28...31))
+ │ │ │ @ StatementsNode (location: (1,28)-(1,31))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (28...31))
+ │ │ │ └── @ CallNode (location: (1,28)-(1,31))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (28...31) = "bar"
+ │ │ │ ├── message_loc: (1,28)-(1,31) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -42,16 +42,16 @@
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (33...36) = "end"
- └── @ BeginNode (location: (38...73))
- ├── begin_keyword_loc: (38...43) = "begin"
+ │ └── end_keyword_loc: (1,33)-(1,36) = "end"
+ └── @ BeginNode (location: (3,0)-(3,35))
+ ├── begin_keyword_loc: (3,0)-(3,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (45...49))
+ │ @ StatementsNode (location: (3,7)-(3,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (45...49))
+ │ └── @ CallNode (location: (3,7)-(3,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (45...49) = "meth"
+ │ ├── message_loc: (3,7)-(3,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -59,21 +59,21 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (51...68))
- │ ├── keyword_loc: (51...57) = "rescue"
+ │ @ RescueNode (location: (3,13)-(3,30))
+ │ ├── keyword_loc: (3,13)-(3,19) = "rescue"
│ ├── exceptions: (length: 0)
- │ ├── operator_loc: (58...60) = "=>"
+ │ ├── operator_loc: (3,20)-(3,22) = "=>"
│ ├── reference:
- │ │ @ LocalVariableTargetNode (location: (61...63))
+ │ │ @ LocalVariableTargetNode (location: (3,23)-(3,25))
│ │ ├── name: :ex
│ │ └── depth: 0
│ ├── statements:
- │ │ @ StatementsNode (location: (65...68))
+ │ │ @ StatementsNode (location: (3,27)-(3,30))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (65...68))
+ │ │ └── @ CallNode (location: (3,27)-(3,30))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (65...68) = "bar"
+ │ │ ├── message_loc: (3,27)-(3,30) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -83,4 +83,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (70...73) = "end"
+ └── end_keyword_loc: (3,32)-(3,35) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue.txt b/test/yarp/snapshots/whitequark/rescue.txt
index a4ccd9bed2..8bf45b892e 100644
--- a/test/yarp/snapshots/whitequark/rescue.txt
+++ b/test/yarp/snapshots/whitequark/rescue.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ BeginNode (location: (0...29))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,29))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...24))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,24))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (21...24))
+ │ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (21...24))
+ │ │ └── @ CallNode (location: (1,21)-(1,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "foo"
+ │ │ ├── message_loc: (1,21)-(1,24) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -40,4 +40,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (26...29) = "end"
+ └── end_keyword_loc: (1,26)-(1,29) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue_else.txt b/test/yarp/snapshots/whitequark/rescue_else.txt
index 3ede36e138..9d39f38aef 100644
--- a/test/yarp/snapshots/whitequark/rescue_else.txt
+++ b/test/yarp/snapshots/whitequark/rescue_else.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(1,40))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(1,40))
└── body: (length: 1)
- └── @ BeginNode (location: (0...40))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,40))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...24))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,24))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (21...24))
+ │ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (21...24))
+ │ │ └── @ CallNode (location: (1,21)-(1,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "foo"
+ │ │ ├── message_loc: (1,21)-(1,24) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -39,21 +39,21 @@
│ │ └── name: "foo"
│ └── consequent: ∅
├── else_clause:
- │ @ ElseNode (location: (26...40))
- │ ├── else_keyword_loc: (26...30) = "else"
+ │ @ ElseNode (location: (1,26)-(1,40))
+ │ ├── else_keyword_loc: (1,26)-(1,30) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (32...35))
+ │ │ @ StatementsNode (location: (1,32)-(1,35))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (32...35))
+ │ │ └── @ CallNode (location: (1,32)-(1,35))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (32...35) = "bar"
+ │ │ ├── message_loc: (1,32)-(1,35) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── end_keyword_loc: (37...40) = "end"
+ │ └── end_keyword_loc: (1,37)-(1,40) = "end"
├── ensure_clause: ∅
- └── end_keyword_loc: (37...40) = "end"
+ └── end_keyword_loc: (1,37)-(1,40) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue_else_ensure.txt b/test/yarp/snapshots/whitequark/rescue_else_ensure.txt
index c6415dd3fd..f3d59057e7 100644
--- a/test/yarp/snapshots/whitequark/rescue_else_ensure.txt
+++ b/test/yarp/snapshots/whitequark/rescue_else_ensure.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...51))
+@ ProgramNode (location: (1,0)-(1,51))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...51))
+ @ StatementsNode (location: (1,0)-(1,51))
└── body: (length: 1)
- └── @ BeginNode (location: (0...51))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,51))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...24))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,24))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (21...24))
+ │ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (21...24))
+ │ │ └── @ CallNode (location: (1,21)-(1,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "baz"
+ │ │ ├── message_loc: (1,21)-(1,24) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -39,37 +39,37 @@
│ │ └── name: "baz"
│ └── consequent: ∅
├── else_clause:
- │ @ ElseNode (location: (26...42))
- │ ├── else_keyword_loc: (26...30) = "else"
+ │ @ ElseNode (location: (1,26)-(1,42))
+ │ ├── else_keyword_loc: (1,26)-(1,30) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (31...34))
+ │ │ @ StatementsNode (location: (1,31)-(1,34))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (31...34))
+ │ │ └── @ CallNode (location: (1,31)-(1,34))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (31...34) = "foo"
+ │ │ ├── message_loc: (1,31)-(1,34) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── end_keyword_loc: (36...42) = "ensure"
+ │ └── end_keyword_loc: (1,36)-(1,42) = "ensure"
├── ensure_clause:
- │ @ EnsureNode (location: (36...51))
- │ ├── ensure_keyword_loc: (36...42) = "ensure"
+ │ @ EnsureNode (location: (1,36)-(1,51))
+ │ ├── ensure_keyword_loc: (1,36)-(1,42) = "ensure"
│ ├── statements:
- │ │ @ StatementsNode (location: (44...47))
+ │ │ @ StatementsNode (location: (1,44)-(1,47))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (44...47))
+ │ │ └── @ CallNode (location: (1,44)-(1,47))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (44...47) = "bar"
+ │ │ ├── message_loc: (1,44)-(1,47) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── end_keyword_loc: (48...51) = "end"
- └── end_keyword_loc: (48...51) = "end"
+ │ └── end_keyword_loc: (1,48)-(1,51) = "end"
+ └── end_keyword_loc: (1,48)-(1,51) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue_ensure.txt b/test/yarp/snapshots/whitequark/rescue_ensure.txt
index 0600875da4..f709474a7c 100644
--- a/test/yarp/snapshots/whitequark/rescue_ensure.txt
+++ b/test/yarp/snapshots/whitequark/rescue_ensure.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(1,42))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
- └── @ BeginNode (location: (0...42))
- ├── begin_keyword_loc: (0...5) = "begin"
+ └── @ BeginNode (location: (1,0)-(1,42))
+ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
├── statements:
- │ @ StatementsNode (location: (7...11))
+ │ @ StatementsNode (location: (1,7)-(1,11))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (7...11))
+ │ └── @ CallNode (location: (1,7)-(1,11))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...11) = "meth"
+ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,18 +19,18 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── rescue_clause:
- │ @ RescueNode (location: (13...24))
- │ ├── keyword_loc: (13...19) = "rescue"
+ │ @ RescueNode (location: (1,13)-(1,24))
+ │ ├── keyword_loc: (1,13)-(1,19) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
│ ├── statements:
- │ │ @ StatementsNode (location: (21...24))
+ │ │ @ StatementsNode (location: (1,21)-(1,24))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (21...24))
+ │ │ └── @ CallNode (location: (1,21)-(1,24))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (21...24) = "baz"
+ │ │ ├── message_loc: (1,21)-(1,24) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -40,20 +40,20 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause:
- │ @ EnsureNode (location: (26...42))
- │ ├── ensure_keyword_loc: (26...32) = "ensure"
+ │ @ EnsureNode (location: (1,26)-(1,42))
+ │ ├── ensure_keyword_loc: (1,26)-(1,32) = "ensure"
│ ├── statements:
- │ │ @ StatementsNode (location: (34...37))
+ │ │ @ StatementsNode (location: (1,34)-(1,37))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (34...37))
+ │ │ └── @ CallNode (location: (1,34)-(1,37))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (34...37) = "bar"
+ │ │ ├── message_loc: (1,34)-(1,37) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── end_keyword_loc: (39...42) = "end"
- └── end_keyword_loc: (39...42) = "end"
+ │ └── end_keyword_loc: (1,39)-(1,42) = "end"
+ └── end_keyword_loc: (1,39)-(1,42) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue_in_lambda_block.txt b/test/yarp/snapshots/whitequark/rescue_in_lambda_block.txt
index 990ce225f4..72b6842f42 100644
--- a/test/yarp/snapshots/whitequark/rescue_in_lambda_block.txt
+++ b/test/yarp/snapshots/whitequark/rescue_in_lambda_block.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(1,17))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...17))
+ └── @ LambdaNode (location: (1,0)-(1,17))
├── locals: []
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (3...5) = "do"
- ├── closing_loc: (14...17) = "end"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,3)-(1,5) = "do"
+ ├── closing_loc: (1,14)-(1,17) = "end"
├── parameters: ∅
└── body:
- @ BeginNode (location: (6...17))
+ @ BeginNode (location: (1,6)-(1,17))
├── begin_keyword_loc: ∅
├── statements: ∅
├── rescue_clause:
- │ @ RescueNode (location: (6...12))
- │ ├── keyword_loc: (6...12) = "rescue"
+ │ @ RescueNode (location: (1,6)-(1,12))
+ │ ├── keyword_loc: (1,6)-(1,12) = "rescue"
│ ├── exceptions: (length: 0)
│ ├── operator_loc: ∅
│ ├── reference: ∅
@@ -23,4 +23,4 @@
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅
- └── end_keyword_loc: (14...17) = "end"
+ └── end_keyword_loc: (1,14)-(1,17) = "end"
diff --git a/test/yarp/snapshots/whitequark/rescue_mod.txt b/test/yarp/snapshots/whitequark/rescue_mod.txt
index 90980579c4..a0d9cc6ceb 100644
--- a/test/yarp/snapshots/whitequark/rescue_mod.txt
+++ b/test/yarp/snapshots/whitequark/rescue_mod.txt
@@ -1,26 +1,26 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ RescueModifierNode (location: (0...15))
+ └── @ RescueModifierNode (location: (1,0)-(1,15))
├── expression:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "meth"
+ │ ├── message_loc: (1,0)-(1,4) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "meth"
- ├── keyword_loc: (5...11) = "rescue"
+ ├── keyword_loc: (1,5)-(1,11) = "rescue"
└── rescue_expression:
- @ CallNode (location: (12...15))
+ @ CallNode (location: (1,12)-(1,15))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (12...15) = "bar"
+ ├── message_loc: (1,12)-(1,15) = "bar"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/rescue_mod_asgn.txt b/test/yarp/snapshots/whitequark/rescue_mod_asgn.txt
index 263cf29a11..85c68e719b 100644
--- a/test/yarp/snapshots/whitequark/rescue_mod_asgn.txt
+++ b/test/yarp/snapshots/whitequark/rescue_mod_asgn.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ LocalVariableWriteNode (location: (0...21))
+ └── @ LocalVariableWriteNode (location: (1,0)-(1,21))
├── name: :foo
├── depth: 0
- ├── name_loc: (0...3) = "foo"
+ ├── name_loc: (1,0)-(1,3) = "foo"
├── value:
- │ @ RescueModifierNode (location: (6...21))
+ │ @ RescueModifierNode (location: (1,6)-(1,21))
│ ├── expression:
- │ │ @ CallNode (location: (6...10))
+ │ │ @ CallNode (location: (1,6)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...10) = "meth"
+ │ │ ├── message_loc: (1,6)-(1,10) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "meth"
- │ ├── keyword_loc: (11...17) = "rescue"
+ │ ├── keyword_loc: (1,11)-(1,17) = "rescue"
│ └── rescue_expression:
- │ @ CallNode (location: (18...21))
+ │ @ CallNode (location: (1,18)-(1,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (18...21) = "bar"
+ │ ├── message_loc: (1,18)-(1,21) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- └── operator_loc: (4...5) = "="
+ └── operator_loc: (1,4)-(1,5) = "="
diff --git a/test/yarp/snapshots/whitequark/rescue_mod_masgn.txt b/test/yarp/snapshots/whitequark/rescue_mod_masgn.txt
index 853f0dfdb3..bf2db50258 100644
--- a/test/yarp/snapshots/whitequark/rescue_mod_masgn.txt
+++ b/test/yarp/snapshots/whitequark/rescue_mod_masgn.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(1,29))
├── locals: [:foo, :bar]
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(1,29))
└── body: (length: 1)
- └── @ MultiWriteNode (location: (0...29))
+ └── @ MultiWriteNode (location: (1,0)-(1,29))
├── targets: (length: 2)
- │ ├── @ LocalVariableTargetNode (location: (0...3))
+ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ └── @ LocalVariableTargetNode (location: (5...8))
+ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8))
│ ├── name: :bar
│ └── depth: 0
├── lparen_loc: ∅
├── rparen_loc: ∅
- ├── operator_loc: (9...10) = "="
+ ├── operator_loc: (1,9)-(1,10) = "="
└── value:
- @ RescueModifierNode (location: (11...29))
+ @ RescueModifierNode (location: (1,11)-(1,29))
├── expression:
- │ @ CallNode (location: (11...15))
+ │ @ CallNode (location: (1,11)-(1,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...15) = "meth"
+ │ ├── message_loc: (1,11)-(1,15) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "meth"
- ├── keyword_loc: (16...22) = "rescue"
+ ├── keyword_loc: (1,16)-(1,22) = "rescue"
└── rescue_expression:
- @ ArrayNode (location: (23...29))
+ @ ArrayNode (location: (1,23)-(1,29))
├── elements: (length: 2)
- │ ├── @ IntegerNode (location: (24...25))
+ │ ├── @ IntegerNode (location: (1,24)-(1,25))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (27...28))
+ │ └── @ IntegerNode (location: (1,27)-(1,28))
│ └── flags: decimal
- ├── opening_loc: (23...24) = "["
- └── closing_loc: (28...29) = "]"
+ ├── opening_loc: (1,23)-(1,24) = "["
+ └── closing_loc: (1,28)-(1,29) = "]"
diff --git a/test/yarp/snapshots/whitequark/rescue_mod_op_assign.txt b/test/yarp/snapshots/whitequark/rescue_mod_op_assign.txt
index eb08d94dae..32aa9d3880 100644
--- a/test/yarp/snapshots/whitequark/rescue_mod_op_assign.txt
+++ b/test/yarp/snapshots/whitequark/rescue_mod_op_assign.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ LocalVariableOperatorWriteNode (location: (0...22))
- ├── name_loc: (0...3) = "foo"
- ├── operator_loc: (4...6) = "+="
+ └── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,22))
+ ├── name_loc: (1,0)-(1,3) = "foo"
+ ├── operator_loc: (1,4)-(1,6) = "+="
├── value:
- │ @ RescueModifierNode (location: (7...22))
+ │ @ RescueModifierNode (location: (1,7)-(1,22))
│ ├── expression:
- │ │ @ CallNode (location: (7...11))
+ │ │ @ CallNode (location: (1,7)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...11) = "meth"
+ │ │ ├── message_loc: (1,7)-(1,11) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "meth"
- │ ├── keyword_loc: (12...18) = "rescue"
+ │ ├── keyword_loc: (1,12)-(1,18) = "rescue"
│ └── rescue_expression:
- │ @ CallNode (location: (19...22))
+ │ @ CallNode (location: (1,19)-(1,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (19...22) = "bar"
+ │ ├── message_loc: (1,19)-(1,22) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/rescue_without_begin_end.txt b/test/yarp/snapshots/whitequark/rescue_without_begin_end.txt
index b5622e355b..250b63fdda 100644
--- a/test/yarp/snapshots/whitequark/rescue_without_begin_end.txt
+++ b/test/yarp/snapshots/whitequark/rescue_without_begin_end.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(1,30))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(1,30))
└── body: (length: 1)
- └── @ CallNode (location: (0...30))
+ └── @ CallNode (location: (1,0)-(1,30))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...4) = "meth"
+ ├── message_loc: (1,0)-(1,4) = "meth"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (5...30))
+ │ @ BlockNode (location: (1,5)-(1,30))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ BeginNode (location: (9...30))
+ │ │ @ BeginNode (location: (1,9)-(1,30))
│ │ ├── begin_keyword_loc: ∅
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (9...12))
+ │ │ │ @ StatementsNode (location: (1,9)-(1,12))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (9...12))
+ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (9...12) = "foo"
+ │ │ │ ├── message_loc: (1,9)-(1,12) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -31,18 +31,18 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── rescue_clause:
- │ │ │ @ RescueNode (location: (14...25))
- │ │ │ ├── keyword_loc: (14...20) = "rescue"
+ │ │ │ @ RescueNode (location: (1,14)-(1,25))
+ │ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue"
│ │ │ ├── exceptions: (length: 0)
│ │ │ ├── operator_loc: ∅
│ │ │ ├── reference: ∅
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (22...25))
+ │ │ │ │ @ StatementsNode (location: (1,22)-(1,25))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (22...25))
+ │ │ │ │ └── @ CallNode (location: (1,22)-(1,25))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (22...25) = "bar"
+ │ │ │ │ ├── message_loc: (1,22)-(1,25) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
@@ -52,8 +52,8 @@
│ │ │ └── consequent: ∅
│ │ ├── else_clause: ∅
│ │ ├── ensure_clause: ∅
- │ │ └── end_keyword_loc: (27...30) = "end"
- │ ├── opening_loc: (5...7) = "do"
- │ └── closing_loc: (27...30) = "end"
+ │ │ └── end_keyword_loc: (1,27)-(1,30) = "end"
+ │ ├── opening_loc: (1,5)-(1,7) = "do"
+ │ └── closing_loc: (1,27)-(1,30) = "end"
├── flags: ∅
└── name: "meth"
diff --git a/test/yarp/snapshots/whitequark/restarg_named.txt b/test/yarp/snapshots/whitequark/restarg_named.txt
index 501be27342..3255609cdd 100644
--- a/test/yarp/snapshots/whitequark/restarg_named.txt
+++ b/test/yarp/snapshots/whitequark/restarg_named.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ DefNode (location: (0...16))
+ └── @ DefNode (location: (1,0)-(1,16))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...10))
+ │ @ ParametersNode (location: (1,6)-(1,10))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (6...10))
+ │ │ @ RestParameterNode (location: (1,6)-(1,10))
│ │ ├── name: :foo
- │ │ ├── name_loc: (7...10) = "foo"
- │ │ └── operator_loc: (6...7) = "*"
+ │ │ ├── name_loc: (1,7)-(1,10) = "foo"
+ │ │ └── operator_loc: (1,6)-(1,7) = "*"
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:foo]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (10...11) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,10)-(1,11) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (13...16) = "end"
+ └── end_keyword_loc: (1,13)-(1,16) = "end"
diff --git a/test/yarp/snapshots/whitequark/restarg_unnamed.txt b/test/yarp/snapshots/whitequark/restarg_unnamed.txt
index b943286552..82e8f3f7ab 100644
--- a/test/yarp/snapshots/whitequark/restarg_unnamed.txt
+++ b/test/yarp/snapshots/whitequark/restarg_unnamed.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ DefNode (location: (0...13))
+ └── @ DefNode (location: (1,0)-(1,13))
├── name: :f
- ├── name_loc: (4...5) = "f"
+ ├── name_loc: (1,4)-(1,5) = "f"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (6...7))
+ │ @ ParametersNode (location: (1,6)-(1,7))
│ ├── requireds: (length: 0)
│ ├── optionals: (length: 0)
│ ├── rest:
- │ │ @ RestParameterNode (location: (6...7))
+ │ │ @ RestParameterNode (location: (1,6)-(1,7))
│ │ ├── name: nil
│ │ ├── name_loc: ∅
- │ │ └── operator_loc: (6...7) = "*"
+ │ │ └── operator_loc: (1,6)-(1,7) = "*"
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body: ∅
├── locals: [:*]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (5...6) = "("
- ├── rparen_loc: (7...8) = ")"
+ ├── lparen_loc: (1,5)-(1,6) = "("
+ ├── rparen_loc: (1,7)-(1,8) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (10...13) = "end"
+ └── end_keyword_loc: (1,10)-(1,13) = "end"
diff --git a/test/yarp/snapshots/whitequark/retry.txt b/test/yarp/snapshots/whitequark/retry.txt
index e324e95e85..671c369514 100644
--- a/test/yarp/snapshots/whitequark/retry.txt
+++ b/test/yarp/snapshots/whitequark/retry.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ RetryNode (location: (0...5))
+ └── @ RetryNode (location: (1,0)-(1,5))
diff --git a/test/yarp/snapshots/whitequark/return.txt b/test/yarp/snapshots/whitequark/return.txt
index 13afe5d1d9..5bf8d4ca10 100644
--- a/test/yarp/snapshots/whitequark/return.txt
+++ b/test/yarp/snapshots/whitequark/return.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(7,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(7,11))
└── body: (length: 4)
- ├── @ ReturnNode (location: (0...6))
- │ ├── keyword_loc: (0...6) = "return"
+ ├── @ ReturnNode (location: (1,0)-(1,6))
+ │ ├── keyword_loc: (1,0)-(1,6) = "return"
│ └── arguments: ∅
- ├── @ ReturnNode (location: (8...18))
- │ ├── keyword_loc: (8...14) = "return"
+ ├── @ ReturnNode (location: (3,0)-(3,10))
+ │ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (15...18))
+ │ @ ArgumentsNode (location: (3,7)-(3,10))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (15...18))
+ │ └── @ CallNode (location: (3,7)-(3,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (15...18) = "foo"
+ │ ├── message_loc: (3,7)-(3,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── @ ReturnNode (location: (20...28))
- │ ├── keyword_loc: (20...26) = "return"
+ ├── @ ReturnNode (location: (5,0)-(5,8))
+ │ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
- │ @ ArgumentsNode (location: (26...28))
+ │ @ ArgumentsNode (location: (5,6)-(5,8))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (26...28))
+ │ └── @ ParenthesesNode (location: (5,6)-(5,8))
│ ├── body: ∅
- │ ├── opening_loc: (26...27) = "("
- │ └── closing_loc: (27...28) = ")"
- └── @ ReturnNode (location: (30...41))
- ├── keyword_loc: (30...36) = "return"
+ │ ├── 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: (36...41))
+ @ ArgumentsNode (location: (7,6)-(7,11))
└── arguments: (length: 1)
- └── @ ParenthesesNode (location: (36...41))
+ └── @ ParenthesesNode (location: (7,6)-(7,11))
├── body:
- │ @ StatementsNode (location: (37...40))
+ │ @ StatementsNode (location: (7,7)-(7,10))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (37...40))
+ │ └── @ CallNode (location: (7,7)-(7,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (37...40) = "foo"
+ │ ├── message_loc: (7,7)-(7,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── opening_loc: (36...37) = "("
- └── closing_loc: (40...41) = ")"
+ ├── opening_loc: (7,6)-(7,7) = "("
+ └── closing_loc: (7,10)-(7,11) = ")"
diff --git a/test/yarp/snapshots/whitequark/return_block.txt b/test/yarp/snapshots/whitequark/return_block.txt
index 845e1fa1f6..91cd334f06 100644
--- a/test/yarp/snapshots/whitequark/return_block.txt
+++ b/test/yarp/snapshots/whitequark/return_block.txt
@@ -1,25 +1,25 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(1,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
- └── @ ReturnNode (location: (0...21))
- ├── keyword_loc: (0...6) = "return"
+ └── @ ReturnNode (location: (1,0)-(1,21))
+ ├── keyword_loc: (1,0)-(1,6) = "return"
└── arguments:
- @ ArgumentsNode (location: (7...21))
+ @ ArgumentsNode (location: (1,7)-(1,21))
└── arguments: (length: 1)
- └── @ CallNode (location: (7...21))
+ └── @ CallNode (location: (1,7)-(1,21))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (7...10) = "fun"
+ ├── message_loc: (1,7)-(1,10) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (11...14))
+ │ @ ArgumentsNode (location: (1,11)-(1,14))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (11...14))
+ │ └── @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "foo"
+ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -28,11 +28,11 @@
│ └── name: "foo"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (15...21))
+ │ @ BlockNode (location: (1,15)-(1,21))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (15...17) = "do"
- │ └── closing_loc: (18...21) = "end"
+ │ ├── opening_loc: (1,15)-(1,17) = "do"
+ │ └── closing_loc: (1,18)-(1,21) = "end"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_10279.txt b/test/yarp/snapshots/whitequark/ruby_bug_10279.txt
index b0cbc4b02d..be4105fff3 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_10279.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_10279.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ HashNode (location: (0...24))
- ├── opening_loc: (0...1) = "{"
+ └── @ HashNode (location: (1,0)-(1,24))
+ ├── opening_loc: (1,0)-(1,1) = "{"
├── elements: (length: 1)
- │ └── @ AssocNode (location: (1...23))
+ │ └── @ AssocNode (location: (1,1)-(1,23))
│ ├── key:
- │ │ @ SymbolNode (location: (1...3))
+ │ │ @ SymbolNode (location: (1,1)-(1,3))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (1...2) = "a"
- │ │ ├── closing_loc: (2...3) = ":"
+ │ │ ├── value_loc: (1,1)-(1,2) = "a"
+ │ │ ├── closing_loc: (1,2)-(1,3) = ":"
│ │ └── unescaped: "a"
│ ├── value:
- │ │ @ IfNode (location: (4...23))
- │ │ ├── if_keyword_loc: (4...6) = "if"
+ │ │ @ IfNode (location: (1,4)-(1,23))
+ │ │ ├── if_keyword_loc: (1,4)-(1,6) = "if"
│ │ ├── predicate:
- │ │ │ @ TrueNode (location: (7...11))
+ │ │ │ @ TrueNode (location: (1,7)-(1,11))
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (17...19))
+ │ │ │ @ StatementsNode (location: (1,17)-(1,19))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (17...19))
+ │ │ │ └── @ IntegerNode (location: (1,17)-(1,19))
│ │ │ └── flags: decimal
│ │ ├── consequent: ∅
- │ │ └── end_keyword_loc: (20...23) = "end"
+ │ │ └── end_keyword_loc: (1,20)-(1,23) = "end"
│ └── operator_loc: ∅
- └── closing_loc: (23...24) = "}"
+ └── closing_loc: (1,23)-(1,24) = "}"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_10653.txt b/test/yarp/snapshots/whitequark/ruby_bug_10653.txt
index 89dd71f362..edd3269804 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_10653.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_10653.txt
@@ -1,127 +1,127 @@
-@ ProgramNode (location: (0...93))
+@ ProgramNode (location: (1,0)-(5,31))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...93))
+ @ StatementsNode (location: (1,0)-(5,31))
└── body: (length: 3)
- ├── @ IfNode (location: (0...33))
+ ├── @ IfNode (location: (1,0)-(1,33))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ FalseNode (location: (0...5))
+ │ │ @ FalseNode (location: (1,0)-(1,5))
│ ├── statements:
- │ │ @ StatementsNode (location: (8...20))
+ │ │ @ StatementsNode (location: (1,8)-(1,20))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (8...20))
+ │ │ └── @ CallNode (location: (1,8)-(1,20))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...13) = "raise"
+ │ │ ├── message_loc: (1,8)-(1,13) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (14...20))
+ │ │ │ @ BlockNode (location: (1,14)-(1,20))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (14...16) = "do"
- │ │ │ └── closing_loc: (17...20) = "end"
+ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ │ ├── flags: ∅
│ │ └── name: "raise"
│ ├── consequent:
- │ │ @ ElseNode (location: (21...33))
- │ │ ├── else_keyword_loc: (21...22) = ":"
+ │ │ @ ElseNode (location: (1,21)-(1,33))
+ │ │ ├── else_keyword_loc: (1,21)-(1,22) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (23...33))
+ │ │ │ @ StatementsNode (location: (1,23)-(1,33))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (23...33))
+ │ │ │ └── @ CallNode (location: (1,23)-(1,33))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (23...26) = "tap"
+ │ │ │ ├── message_loc: (1,23)-(1,26) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (27...33))
+ │ │ │ │ @ BlockNode (location: (1,27)-(1,33))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (27...29) = "do"
- │ │ │ │ └── closing_loc: (30...33) = "end"
+ │ │ │ │ ├── opening_loc: (1,27)-(1,29) = "do"
+ │ │ │ │ └── closing_loc: (1,30)-(1,33) = "end"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- ├── @ IfNode (location: (35...60))
+ ├── @ IfNode (location: (3,0)-(3,25))
│ ├── if_keyword_loc: ∅
│ ├── predicate:
- │ │ @ FalseNode (location: (35...40))
+ │ │ @ FalseNode (location: (3,0)-(3,5))
│ ├── statements:
- │ │ @ StatementsNode (location: (43...51))
+ │ │ @ StatementsNode (location: (3,8)-(3,16))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (43...51))
+ │ │ └── @ CallNode (location: (3,8)-(3,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (43...48) = "raise"
+ │ │ ├── message_loc: (3,8)-(3,13) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (49...51))
+ │ │ │ @ BlockNode (location: (3,14)-(3,16))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (49...50) = "{"
- │ │ │ └── closing_loc: (50...51) = "}"
+ │ │ │ ├── opening_loc: (3,14)-(3,15) = "{"
+ │ │ │ └── closing_loc: (3,15)-(3,16) = "}"
│ │ ├── flags: ∅
│ │ └── name: "raise"
│ ├── consequent:
- │ │ @ ElseNode (location: (52...60))
- │ │ ├── else_keyword_loc: (52...53) = ":"
+ │ │ @ ElseNode (location: (3,17)-(3,25))
+ │ │ ├── else_keyword_loc: (3,17)-(3,18) = ":"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (54...60))
+ │ │ │ @ StatementsNode (location: (3,19)-(3,25))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (54...60))
+ │ │ │ └── @ CallNode (location: (3,19)-(3,25))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (54...57) = "tap"
+ │ │ │ ├── message_loc: (3,19)-(3,22) = "tap"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (58...60))
+ │ │ │ │ @ BlockNode (location: (3,23)-(3,25))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body: ∅
- │ │ │ │ ├── opening_loc: (58...59) = "{"
- │ │ │ │ └── closing_loc: (59...60) = "}"
+ │ │ │ │ ├── opening_loc: (3,23)-(3,24) = "{"
+ │ │ │ │ └── closing_loc: (3,24)-(3,25) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "tap"
│ │ └── end_keyword_loc: ∅
│ └── end_keyword_loc: ∅
- └── @ IfNode (location: (62...93))
+ └── @ IfNode (location: (5,0)-(5,31))
├── if_keyword_loc: ∅
├── predicate:
- │ @ TrueNode (location: (62...66))
+ │ @ TrueNode (location: (5,0)-(5,4))
├── statements:
- │ @ StatementsNode (location: (69...89))
+ │ @ StatementsNode (location: (5,7)-(5,27))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (69...89))
+ │ └── @ CallNode (location: (5,7)-(5,27))
│ ├── receiver:
- │ │ @ IntegerNode (location: (69...70))
+ │ │ @ IntegerNode (location: (5,7)-(5,8))
│ │ └── flags: decimal
- │ ├── call_operator_loc: (70...71) = "."
- │ ├── message_loc: (71...74) = "tap"
+ │ ├── call_operator_loc: (5,8)-(5,9) = "."
+ │ ├── message_loc: (5,9)-(5,12) = "tap"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (75...89))
+ │ │ @ BlockNode (location: (5,13)-(5,27))
│ │ ├── locals: [:n]
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (78...81))
+ │ │ │ @ BlockParametersNode (location: (5,16)-(5,19))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (79...80))
+ │ │ │ │ @ ParametersNode (location: (5,17)-(5,18))
│ │ │ │ ├── requireds: (length: 1)
- │ │ │ │ │ └── @ RequiredParameterNode (location: (79...80))
+ │ │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18))
│ │ │ │ │ └── name: :n
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
@@ -130,37 +130,37 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (78...79) = "|"
- │ │ │ └── closing_loc: (80...81) = "|"
+ │ │ │ ├── opening_loc: (5,16)-(5,17) = "|"
+ │ │ │ └── closing_loc: (5,18)-(5,19) = "|"
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (82...85))
+ │ │ │ @ StatementsNode (location: (5,20)-(5,23))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (82...85))
+ │ │ │ └── @ CallNode (location: (5,20)-(5,23))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (82...83) = "p"
+ │ │ │ ├── message_loc: (5,20)-(5,21) = "p"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (84...85))
+ │ │ │ │ @ ArgumentsNode (location: (5,22)-(5,23))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (84...85))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23))
│ │ │ │ ├── name: :n
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "p"
- │ │ ├── opening_loc: (75...77) = "do"
- │ │ └── closing_loc: (86...89) = "end"
+ │ │ ├── opening_loc: (5,13)-(5,15) = "do"
+ │ │ └── closing_loc: (5,24)-(5,27) = "end"
│ ├── flags: ∅
│ └── name: "tap"
├── consequent:
- │ @ ElseNode (location: (90...93))
- │ ├── else_keyword_loc: (90...91) = ":"
+ │ @ ElseNode (location: (5,28)-(5,31))
+ │ ├── else_keyword_loc: (5,28)-(5,29) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (92...93))
+ │ │ @ StatementsNode (location: (5,30)-(5,31))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (92...93))
+ │ │ └── @ IntegerNode (location: (5,30)-(5,31))
│ │ └── flags: decimal
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11107.txt b/test/yarp/snapshots/whitequark/ruby_bug_11107.txt
index c7bb8cd3f8..28aa66ee5a 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11107.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11107.txt
@@ -1,44 +1,44 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ CallNode (location: (0...24))
+ └── @ CallNode (location: (1,0)-(1,24))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...24))
+ │ @ ArgumentsNode (location: (1,2)-(1,24))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (2...24))
+ │ └── @ LambdaNode (location: (1,2)-(1,24))
│ ├── locals: []
- │ ├── operator_loc: (2...4) = "->"
- │ ├── opening_loc: (7...9) = "do"
- │ ├── closing_loc: (21...24) = "end"
+ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ ├── opening_loc: (1,7)-(1,9) = "do"
+ │ ├── closing_loc: (1,21)-(1,24) = "end"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (4...6))
+ │ │ @ BlockParametersNode (location: (1,4)-(1,6))
│ │ ├── parameters: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (4...5) = "("
- │ │ └── closing_loc: (5...6) = ")"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,5)-(1,6) = ")"
│ └── body:
- │ @ StatementsNode (location: (10...20))
+ │ @ StatementsNode (location: (1,10)-(1,20))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (10...20))
+ │ └── @ CallNode (location: (1,10)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (10...11) = "a"
- │ ├── opening_loc: (11...12) = "("
+ │ ├── message_loc: (1,10)-(1,11) = "a"
+ │ ├── opening_loc: (1,11)-(1,12) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (12...13) = ")"
+ │ ├── closing_loc: (1,12)-(1,13) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (14...20))
+ │ │ @ BlockNode (location: (1,14)-(1,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (14...16) = "do"
- │ │ └── closing_loc: (17...20) = "end"
+ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11380.txt b/test/yarp/snapshots/whitequark/ruby_bug_11380.txt
index d911bcbd7c..4453caa63d 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11380.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11380.txt
@@ -1,50 +1,50 @@
-@ ProgramNode (location: (0...28))
+@ ProgramNode (location: (1,0)-(1,28))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...28))
+ @ StatementsNode (location: (1,0)-(1,28))
└── body: (length: 1)
- └── @ CallNode (location: (0...28))
+ └── @ CallNode (location: (1,0)-(1,28))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...21))
+ │ @ ArgumentsNode (location: (1,2)-(1,21))
│ └── arguments: (length: 2)
- │ ├── @ LambdaNode (location: (2...15))
+ │ ├── @ LambdaNode (location: (1,2)-(1,15))
│ │ ├── locals: []
- │ │ ├── operator_loc: (2...4) = "->"
- │ │ ├── opening_loc: (5...6) = "{"
- │ │ ├── closing_loc: (14...15) = "}"
+ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
│ │ ├── parameters: ∅
│ │ └── body:
- │ │ @ StatementsNode (location: (7...13))
+ │ │ @ StatementsNode (location: (1,7)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ SymbolNode (location: (7...13))
- │ │ ├── opening_loc: (7...8) = ":"
- │ │ ├── value_loc: (8...13) = "hello"
+ │ │ └── @ 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: (17...21))
+ │ └── @ KeywordHashNode (location: (1,17)-(1,21))
│ └── elements: (length: 1)
- │ └── @ AssocNode (location: (17...21))
+ │ └── @ AssocNode (location: (1,17)-(1,21))
│ ├── key:
- │ │ @ SymbolNode (location: (17...19))
+ │ │ @ SymbolNode (location: (1,17)-(1,19))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (17...18) = "a"
- │ │ ├── closing_loc: (18...19) = ":"
+ │ │ ├── value_loc: (1,17)-(1,18) = "a"
+ │ │ ├── closing_loc: (1,18)-(1,19) = ":"
│ │ └── unescaped: "a"
│ ├── value:
- │ │ @ IntegerNode (location: (20...21))
+ │ │ @ IntegerNode (location: (1,20)-(1,21))
│ │ └── flags: decimal
│ └── operator_loc: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (22...28))
+ │ @ BlockNode (location: (1,22)-(1,28))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (22...24) = "do"
- │ └── closing_loc: (25...28) = "end"
+ │ ├── opening_loc: (1,22)-(1,24) = "do"
+ │ └── closing_loc: (1,25)-(1,28) = "end"
├── flags: ∅
└── name: "p"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11873.txt b/test/yarp/snapshots/whitequark/ruby_bug_11873.txt
index 1068d7a11d..e7fdb64e9e 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11873.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11873.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...272))
+@ ProgramNode (location: (1,0)-(23,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...272))
+ @ StatementsNode (location: (1,0)-(23,22))
└── body: (length: 12)
- ├── @ CallNode (location: (0...20))
+ ├── @ CallNode (location: (1,0)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...13))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (2...8))
+ │ │ ├── @ CallNode (location: (1,2)-(1,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (2...3) = "b"
- │ │ │ ├── opening_loc: (3...4) = "("
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (4...7))
+ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (4...7))
+ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (4...5) = "c"
+ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (6...7))
+ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (6...7))
+ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (6...7) = "d"
+ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -41,54 +41,54 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (7...8) = ")"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ StringNode (location: (10...13))
+ │ │ └── @ StringNode (location: (1,10)-(1,13))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (10...11) = "\""
- │ │ ├── content_loc: (11...12) = "x"
- │ │ ├── closing_loc: (12...13) = "\""
+ │ │ ├── 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: (14...20))
+ │ │ @ BlockNode (location: (1,14)-(1,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (14...16) = "do"
- │ │ └── closing_loc: (17...20) = "end"
+ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ └── closing_loc: (1,17)-(1,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (22...42))
+ ├── @ CallNode (location: (3,0)-(3,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (22...23) = "a"
+ │ ├── message_loc: (3,0)-(3,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (24...35))
+ │ │ @ ArgumentsNode (location: (3,2)-(3,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (24...30))
+ │ │ ├── @ CallNode (location: (3,2)-(3,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (24...25) = "b"
- │ │ │ ├── opening_loc: (25...26) = "("
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
+ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (26...29))
+ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (26...29))
+ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (26...27) = "c"
+ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (28...29))
+ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (28...29))
+ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (28...29) = "d"
+ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -99,54 +99,54 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (29...30) = ")"
+ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (32...35))
- │ │ ├── opening_loc: (32...33) = "/"
- │ │ ├── content_loc: (33...34) = "x"
- │ │ ├── closing_loc: (34...35) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (36...42))
+ │ │ @ BlockNode (location: (3,14)-(3,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (36...38) = "do"
- │ │ └── closing_loc: (39...42) = "end"
+ │ │ ├── opening_loc: (3,14)-(3,16) = "do"
+ │ │ └── closing_loc: (3,17)-(3,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (44...65))
+ ├── @ CallNode (location: (5,0)-(5,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (44...45) = "a"
+ │ ├── message_loc: (5,0)-(5,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (46...58))
+ │ │ @ ArgumentsNode (location: (5,2)-(5,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (46...52))
+ │ │ ├── @ CallNode (location: (5,2)-(5,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (46...47) = "b"
- │ │ │ ├── opening_loc: (47...48) = "("
+ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
+ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (48...51))
+ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (48...51))
+ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (48...49) = "c"
+ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (50...51))
+ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (50...51))
+ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (50...51) = "d"
+ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -157,234 +157,234 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (51...52) = ")"
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (54...58))
- │ │ ├── opening_loc: (54...55) = "/"
- │ │ ├── content_loc: (55...56) = "x"
- │ │ ├── closing_loc: (56...58) = "/m"
+ │ │ └── @ 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
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (59...65))
+ │ │ @ BlockNode (location: (5,15)-(5,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (59...61) = "do"
- │ │ └── closing_loc: (62...65) = "end"
+ │ │ ├── opening_loc: (5,15)-(5,17) = "do"
+ │ │ └── closing_loc: (5,18)-(5,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (67...88))
+ ├── @ CallNode (location: (7,0)-(7,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (67...68) = "a"
+ │ ├── message_loc: (7,0)-(7,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (69...81))
+ │ │ @ ArgumentsNode (location: (7,2)-(7,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (69...76))
+ │ │ ├── @ CallNode (location: (7,2)-(7,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (69...70) = "b"
- │ │ │ ├── opening_loc: (70...71) = "("
+ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
+ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (71...75))
+ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (71...75))
+ │ │ │ │ └── @ CallNode (location: (7,4)-(7,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (71...72) = "c"
- │ │ │ │ ├── opening_loc: (72...73) = "("
+ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
+ │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (73...74))
+ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (73...74))
+ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (73...74) = "d"
+ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (74...75) = ")"
+ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (75...76) = ")"
+ │ │ │ ├── closing_loc: (7,8)-(7,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ StringNode (location: (78...81))
+ │ │ └── @ StringNode (location: (7,11)-(7,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (78...79) = "\""
- │ │ ├── content_loc: (79...80) = "x"
- │ │ ├── closing_loc: (80...81) = "\""
+ │ │ ├── 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: (82...88))
+ │ │ @ BlockNode (location: (7,15)-(7,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (82...84) = "do"
- │ │ └── closing_loc: (85...88) = "end"
+ │ │ ├── opening_loc: (7,15)-(7,17) = "do"
+ │ │ └── closing_loc: (7,18)-(7,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (90...111))
+ ├── @ CallNode (location: (9,0)-(9,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (90...91) = "a"
+ │ ├── message_loc: (9,0)-(9,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (92...104))
+ │ │ @ ArgumentsNode (location: (9,2)-(9,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (92...99))
+ │ │ ├── @ CallNode (location: (9,2)-(9,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (92...93) = "b"
- │ │ │ ├── opening_loc: (93...94) = "("
+ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
+ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (94...98))
+ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (94...98))
+ │ │ │ │ └── @ CallNode (location: (9,4)-(9,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (94...95) = "c"
- │ │ │ │ ├── opening_loc: (95...96) = "("
+ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
+ │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (96...97))
+ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (96...97))
+ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (96...97) = "d"
+ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (97...98) = ")"
+ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (98...99) = ")"
+ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (101...104))
- │ │ ├── opening_loc: (101...102) = "/"
- │ │ ├── content_loc: (102...103) = "x"
- │ │ ├── closing_loc: (103...104) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (105...111))
+ │ │ @ BlockNode (location: (9,15)-(9,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (105...107) = "do"
- │ │ └── closing_loc: (108...111) = "end"
+ │ │ ├── opening_loc: (9,15)-(9,17) = "do"
+ │ │ └── closing_loc: (9,18)-(9,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (113...135))
+ ├── @ CallNode (location: (11,0)-(11,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (113...114) = "a"
+ │ ├── message_loc: (11,0)-(11,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (115...128))
+ │ │ @ ArgumentsNode (location: (11,2)-(11,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (115...122))
+ │ │ ├── @ CallNode (location: (11,2)-(11,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (115...116) = "b"
- │ │ │ ├── opening_loc: (116...117) = "("
+ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
+ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (117...121))
+ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (117...121))
+ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (117...118) = "c"
- │ │ │ │ ├── opening_loc: (118...119) = "("
+ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
+ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (119...120))
+ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (119...120))
+ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (119...120) = "d"
+ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (120...121) = ")"
+ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (121...122) = ")"
+ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (124...128))
- │ │ ├── opening_loc: (124...125) = "/"
- │ │ ├── content_loc: (125...126) = "x"
- │ │ ├── closing_loc: (126...128) = "/m"
+ │ │ └── @ 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
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (129...135))
+ │ │ @ BlockNode (location: (11,16)-(11,22))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (129...131) = "do"
- │ │ └── closing_loc: (132...135) = "end"
+ │ │ ├── opening_loc: (11,16)-(11,18) = "do"
+ │ │ └── closing_loc: (11,19)-(11,22) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (137...157))
+ ├── @ CallNode (location: (13,0)-(13,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (137...138) = "a"
+ │ ├── message_loc: (13,0)-(13,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (139...150))
+ │ │ @ ArgumentsNode (location: (13,2)-(13,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (139...145))
+ │ │ ├── @ CallNode (location: (13,2)-(13,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (139...140) = "b"
+ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (140...145))
+ │ │ │ │ @ BlockNode (location: (13,3)-(13,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (141...144))
+ │ │ │ │ │ @ StatementsNode (location: (13,4)-(13,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (141...144))
+ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (141...142) = "c"
+ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (143...144))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (143...144))
+ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (143...144) = "d"
+ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -395,60 +395,60 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (140...141) = "{"
- │ │ │ │ └── closing_loc: (144...145) = "}"
+ │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "{"
+ │ │ │ │ └── closing_loc: (13,7)-(13,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ StringNode (location: (147...150))
+ │ │ └── @ StringNode (location: (13,10)-(13,13))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (147...148) = "\""
- │ │ ├── content_loc: (148...149) = "x"
- │ │ ├── closing_loc: (149...150) = "\""
+ │ │ ├── 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: (151...157))
+ │ │ @ BlockNode (location: (13,14)-(13,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (151...153) = "do"
- │ │ └── closing_loc: (154...157) = "end"
+ │ │ ├── opening_loc: (13,14)-(13,16) = "do"
+ │ │ └── closing_loc: (13,17)-(13,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (159...179))
+ ├── @ CallNode (location: (15,0)-(15,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (159...160) = "a"
+ │ ├── message_loc: (15,0)-(15,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (161...172))
+ │ │ @ ArgumentsNode (location: (15,2)-(15,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (161...167))
+ │ │ ├── @ CallNode (location: (15,2)-(15,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (161...162) = "b"
+ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (162...167))
+ │ │ │ │ @ BlockNode (location: (15,3)-(15,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (163...166))
+ │ │ │ │ │ @ StatementsNode (location: (15,4)-(15,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (163...166))
+ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (163...164) = "c"
+ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (165...166))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (165...166))
+ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (165...166) = "d"
+ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -459,60 +459,60 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (162...163) = "{"
- │ │ │ │ └── closing_loc: (166...167) = "}"
+ │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{"
+ │ │ │ │ └── closing_loc: (15,7)-(15,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (169...172))
- │ │ ├── opening_loc: (169...170) = "/"
- │ │ ├── content_loc: (170...171) = "x"
- │ │ ├── closing_loc: (171...172) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (173...179))
+ │ │ @ BlockNode (location: (15,14)-(15,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (173...175) = "do"
- │ │ └── closing_loc: (176...179) = "end"
+ │ │ ├── opening_loc: (15,14)-(15,16) = "do"
+ │ │ └── closing_loc: (15,17)-(15,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (181...202))
+ ├── @ CallNode (location: (17,0)-(17,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (181...182) = "a"
+ │ ├── message_loc: (17,0)-(17,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (183...195))
+ │ │ @ ArgumentsNode (location: (17,2)-(17,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (183...189))
+ │ │ ├── @ CallNode (location: (17,2)-(17,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (183...184) = "b"
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (184...189))
+ │ │ │ │ @ BlockNode (location: (17,3)-(17,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (185...188))
+ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (185...188))
+ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (185...186) = "c"
+ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (187...188))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (187...188))
+ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (187...188) = "d"
+ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -523,215 +523,215 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (184...185) = "{"
- │ │ │ │ └── closing_loc: (188...189) = "}"
+ │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{"
+ │ │ │ │ └── closing_loc: (17,7)-(17,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (191...195))
- │ │ ├── opening_loc: (191...192) = "/"
- │ │ ├── content_loc: (192...193) = "x"
- │ │ ├── closing_loc: (193...195) = "/m"
+ │ │ └── @ 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
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (196...202))
+ │ │ @ BlockNode (location: (17,15)-(17,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (196...198) = "do"
- │ │ └── closing_loc: (199...202) = "end"
+ │ │ ├── opening_loc: (17,15)-(17,17) = "do"
+ │ │ └── closing_loc: (17,18)-(17,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (204...225))
+ ├── @ CallNode (location: (19,0)-(19,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (204...205) = "a"
+ │ ├── message_loc: (19,0)-(19,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (206...218))
+ │ │ @ ArgumentsNode (location: (19,2)-(19,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (206...213))
+ │ │ ├── @ CallNode (location: (19,2)-(19,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (206...207) = "b"
+ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (207...213))
+ │ │ │ │ @ BlockNode (location: (19,3)-(19,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (208...212))
+ │ │ │ │ │ @ StatementsNode (location: (19,4)-(19,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (208...212))
+ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (208...209) = "c"
- │ │ │ │ │ ├── opening_loc: (209...210) = "("
+ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (210...211))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (210...211))
+ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (210...211) = "d"
+ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (211...212) = ")"
+ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (207...208) = "{"
- │ │ │ │ └── closing_loc: (212...213) = "}"
+ │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "{"
+ │ │ │ │ └── closing_loc: (19,8)-(19,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ StringNode (location: (215...218))
+ │ │ └── @ StringNode (location: (19,11)-(19,14))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (215...216) = "\""
- │ │ ├── content_loc: (216...217) = "x"
- │ │ ├── closing_loc: (217...218) = "\""
+ │ │ ├── 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: (219...225))
+ │ │ @ BlockNode (location: (19,15)-(19,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (219...221) = "do"
- │ │ └── closing_loc: (222...225) = "end"
+ │ │ ├── opening_loc: (19,15)-(19,17) = "do"
+ │ │ └── closing_loc: (19,18)-(19,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (227...248))
+ ├── @ CallNode (location: (21,0)-(21,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (227...228) = "a"
+ │ ├── message_loc: (21,0)-(21,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (229...241))
+ │ │ @ ArgumentsNode (location: (21,2)-(21,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (229...236))
+ │ │ ├── @ CallNode (location: (21,2)-(21,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (229...230) = "b"
+ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (230...236))
+ │ │ │ │ @ BlockNode (location: (21,3)-(21,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (231...235))
+ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (231...235))
+ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (231...232) = "c"
- │ │ │ │ │ ├── opening_loc: (232...233) = "("
+ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (233...234))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (233...234))
+ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (233...234) = "d"
+ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (234...235) = ")"
+ │ │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (230...231) = "{"
- │ │ │ │ └── closing_loc: (235...236) = "}"
+ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
+ │ │ │ │ └── closing_loc: (21,8)-(21,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RegularExpressionNode (location: (238...241))
- │ │ ├── opening_loc: (238...239) = "/"
- │ │ ├── content_loc: (239...240) = "x"
- │ │ ├── closing_loc: (240...241) = "/"
+ │ │ └── @ 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: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (242...248))
+ │ │ @ BlockNode (location: (21,15)-(21,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (242...244) = "do"
- │ │ └── closing_loc: (245...248) = "end"
+ │ │ ├── opening_loc: (21,15)-(21,17) = "do"
+ │ │ └── closing_loc: (21,18)-(21,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (250...272))
+ └── @ CallNode (location: (23,0)-(23,22))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (250...251) = "a"
+ ├── message_loc: (23,0)-(23,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (252...265))
+ │ @ ArgumentsNode (location: (23,2)-(23,15))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (252...259))
+ │ ├── @ CallNode (location: (23,2)-(23,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (252...253) = "b"
+ │ │ ├── message_loc: (23,2)-(23,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (253...259))
+ │ │ │ @ BlockNode (location: (23,3)-(23,9))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (254...258))
+ │ │ │ │ @ StatementsNode (location: (23,4)-(23,8))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (254...258))
+ │ │ │ │ └── @ CallNode (location: (23,4)-(23,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (254...255) = "c"
- │ │ │ │ ├── opening_loc: (255...256) = "("
+ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
+ │ │ │ │ ├── opening_loc: (23,5)-(23,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (256...257))
+ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (256...257))
+ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (256...257) = "d"
+ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (257...258) = ")"
+ │ │ │ │ ├── closing_loc: (23,7)-(23,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── opening_loc: (253...254) = "{"
- │ │ │ └── closing_loc: (258...259) = "}"
+ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
+ │ │ │ └── closing_loc: (23,8)-(23,9) = "}"
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ └── @ RegularExpressionNode (location: (261...265))
- │ ├── opening_loc: (261...262) = "/"
- │ ├── content_loc: (262...263) = "x"
- │ ├── closing_loc: (263...265) = "/m"
+ │ └── @ 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
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (266...272))
+ │ @ BlockNode (location: (23,16)-(23,22))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (266...268) = "do"
- │ └── closing_loc: (269...272) = "end"
+ │ ├── opening_loc: (23,16)-(23,18) = "do"
+ │ └── closing_loc: (23,19)-(23,22) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11873_a.txt b/test/yarp/snapshots/whitequark/ruby_bug_11873_a.txt
index 77fc88ce44..c5d24ac5f7 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11873_a.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11873_a.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...444))
+@ ProgramNode (location: (1,0)-(39,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...444))
+ @ StatementsNode (location: (1,0)-(39,20))
└── body: (length: 20)
- ├── @ CallNode (location: (0...18))
+ ├── @ CallNode (location: (1,0)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...11))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,11))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (2...8))
+ │ │ ├── @ CallNode (location: (1,2)-(1,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (2...3) = "b"
- │ │ │ ├── opening_loc: (3...4) = "("
+ │ │ │ ├── message_loc: (1,2)-(1,3) = "b"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (4...7))
+ │ │ │ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (4...7))
+ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (4...5) = "c"
+ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (6...7))
+ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (6...7))
+ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (6...7) = "d"
+ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -41,50 +41,50 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (7...8) = ")"
+ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ IntegerNode (location: (10...11))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (12...18))
+ │ │ @ BlockNode (location: (1,12)-(1,18))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (12...14) = "do"
- │ │ └── closing_loc: (15...18) = "end"
+ │ │ ├── opening_loc: (1,12)-(1,14) = "do"
+ │ │ └── closing_loc: (1,15)-(1,18) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (20...40))
+ ├── @ CallNode (location: (3,0)-(3,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...21) = "a"
+ │ ├── message_loc: (3,0)-(3,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (22...33))
+ │ │ @ ArgumentsNode (location: (3,2)-(3,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (22...28))
+ │ │ ├── @ CallNode (location: (3,2)-(3,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (22...23) = "b"
- │ │ │ ├── opening_loc: (23...24) = "("
+ │ │ │ ├── message_loc: (3,2)-(3,3) = "b"
+ │ │ │ ├── opening_loc: (3,3)-(3,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (24...27))
+ │ │ │ │ @ ArgumentsNode (location: (3,4)-(3,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (24...27))
+ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (24...25) = "c"
+ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (26...27))
+ │ │ │ │ │ @ ArgumentsNode (location: (3,6)-(3,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (26...27))
+ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (26...27) = "d"
+ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -95,49 +95,49 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (27...28) = ")"
+ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ FloatNode (location: (30...33))
+ │ │ └── @ FloatNode (location: (3,10)-(3,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (34...40))
+ │ │ @ BlockNode (location: (3,14)-(3,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (34...36) = "do"
- │ │ └── closing_loc: (37...40) = "end"
+ │ │ ├── opening_loc: (3,14)-(3,16) = "do"
+ │ │ └── closing_loc: (3,17)-(3,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (42...63))
+ ├── @ CallNode (location: (5,0)-(5,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (42...43) = "a"
+ │ ├── message_loc: (5,0)-(5,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (44...56))
+ │ │ @ ArgumentsNode (location: (5,2)-(5,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (44...50))
+ │ │ ├── @ CallNode (location: (5,2)-(5,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (44...45) = "b"
- │ │ │ ├── opening_loc: (45...46) = "("
+ │ │ │ ├── message_loc: (5,2)-(5,3) = "b"
+ │ │ │ ├── opening_loc: (5,3)-(5,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (46...49))
+ │ │ │ │ @ ArgumentsNode (location: (5,4)-(5,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (46...49))
+ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (46...47) = "c"
+ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (48...49))
+ │ │ │ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (48...49))
+ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (48...49) = "d"
+ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -148,51 +148,51 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (49...50) = ")"
+ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ ImaginaryNode (location: (52...56))
+ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14))
│ │ └── numeric:
- │ │ @ FloatNode (location: (52...55))
+ │ │ @ FloatNode (location: (5,10)-(5,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (57...63))
+ │ │ @ BlockNode (location: (5,15)-(5,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (57...59) = "do"
- │ │ └── closing_loc: (60...63) = "end"
+ │ │ ├── opening_loc: (5,15)-(5,17) = "do"
+ │ │ └── closing_loc: (5,18)-(5,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (65...86))
+ ├── @ CallNode (location: (7,0)-(7,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (65...66) = "a"
+ │ ├── message_loc: (7,0)-(7,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (67...79))
+ │ │ @ ArgumentsNode (location: (7,2)-(7,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (67...73))
+ │ │ ├── @ CallNode (location: (7,2)-(7,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (67...68) = "b"
- │ │ │ ├── opening_loc: (68...69) = "("
+ │ │ │ ├── message_loc: (7,2)-(7,3) = "b"
+ │ │ │ ├── opening_loc: (7,3)-(7,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (69...72))
+ │ │ │ │ @ ArgumentsNode (location: (7,4)-(7,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (69...72))
+ │ │ │ │ └── @ CallNode (location: (7,4)-(7,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (69...70) = "c"
+ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (71...72))
+ │ │ │ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (71...72))
+ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (71...72) = "d"
+ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -203,51 +203,51 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (72...73) = ")"
+ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RationalNode (location: (75...79))
+ │ │ └── @ RationalNode (location: (7,10)-(7,14))
│ │ └── numeric:
- │ │ @ FloatNode (location: (75...78))
+ │ │ @ FloatNode (location: (7,10)-(7,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (80...86))
+ │ │ @ BlockNode (location: (7,15)-(7,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (80...82) = "do"
- │ │ └── closing_loc: (83...86) = "end"
+ │ │ ├── opening_loc: (7,15)-(7,17) = "do"
+ │ │ └── closing_loc: (7,18)-(7,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (88...107))
+ ├── @ CallNode (location: (9,0)-(9,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (88...89) = "a"
+ │ ├── message_loc: (9,0)-(9,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (90...100))
+ │ │ @ ArgumentsNode (location: (9,2)-(9,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (90...96))
+ │ │ ├── @ CallNode (location: (9,2)-(9,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (90...91) = "b"
- │ │ │ ├── opening_loc: (91...92) = "("
+ │ │ │ ├── message_loc: (9,2)-(9,3) = "b"
+ │ │ │ ├── opening_loc: (9,3)-(9,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (92...95))
+ │ │ │ │ @ ArgumentsNode (location: (9,4)-(9,7))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (92...95))
+ │ │ │ │ └── @ CallNode (location: (9,4)-(9,7))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (92...93) = "c"
+ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (94...95))
+ │ │ │ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (94...95))
+ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (94...95) = "d"
+ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -258,333 +258,333 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (95...96) = ")"
+ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ SymbolNode (location: (98...100))
- │ │ ├── opening_loc: (98...99) = ":"
- │ │ ├── value_loc: (99...100) = "e"
+ │ │ └── @ 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: (101...107))
+ │ │ @ BlockNode (location: (9,13)-(9,19))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (101...103) = "do"
- │ │ └── closing_loc: (104...107) = "end"
+ │ │ ├── opening_loc: (9,13)-(9,15) = "do"
+ │ │ └── closing_loc: (9,16)-(9,19) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (109...128))
+ ├── @ CallNode (location: (11,0)-(11,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (109...110) = "a"
+ │ ├── message_loc: (11,0)-(11,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (111...121))
+ │ │ @ ArgumentsNode (location: (11,2)-(11,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (111...118))
+ │ │ ├── @ CallNode (location: (11,2)-(11,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (111...112) = "b"
- │ │ │ ├── opening_loc: (112...113) = "("
+ │ │ │ ├── message_loc: (11,2)-(11,3) = "b"
+ │ │ │ ├── opening_loc: (11,3)-(11,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (113...117))
+ │ │ │ │ @ ArgumentsNode (location: (11,4)-(11,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (113...117))
+ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (113...114) = "c"
- │ │ │ │ ├── opening_loc: (114...115) = "("
+ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c"
+ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (115...116))
+ │ │ │ │ │ @ ArgumentsNode (location: (11,6)-(11,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (115...116))
+ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (115...116) = "d"
+ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (116...117) = ")"
+ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (117...118) = ")"
+ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ IntegerNode (location: (120...121))
+ │ │ └── @ IntegerNode (location: (11,11)-(11,12))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (122...128))
+ │ │ @ BlockNode (location: (11,13)-(11,19))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (122...124) = "do"
- │ │ └── closing_loc: (125...128) = "end"
+ │ │ ├── opening_loc: (11,13)-(11,15) = "do"
+ │ │ └── closing_loc: (11,16)-(11,19) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (130...151))
+ ├── @ CallNode (location: (13,0)-(13,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (130...131) = "a"
+ │ ├── message_loc: (13,0)-(13,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (132...144))
+ │ │ @ ArgumentsNode (location: (13,2)-(13,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (132...139))
+ │ │ ├── @ CallNode (location: (13,2)-(13,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (132...133) = "b"
- │ │ │ ├── opening_loc: (133...134) = "("
+ │ │ │ ├── message_loc: (13,2)-(13,3) = "b"
+ │ │ │ ├── opening_loc: (13,3)-(13,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (134...138))
+ │ │ │ │ @ ArgumentsNode (location: (13,4)-(13,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (134...138))
+ │ │ │ │ └── @ CallNode (location: (13,4)-(13,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (134...135) = "c"
- │ │ │ │ ├── opening_loc: (135...136) = "("
+ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c"
+ │ │ │ │ ├── opening_loc: (13,5)-(13,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (136...137))
+ │ │ │ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (136...137))
+ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (136...137) = "d"
+ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (137...138) = ")"
+ │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (138...139) = ")"
+ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ FloatNode (location: (141...144))
+ │ │ └── @ FloatNode (location: (13,11)-(13,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (145...151))
+ │ │ @ BlockNode (location: (13,15)-(13,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (145...147) = "do"
- │ │ └── closing_loc: (148...151) = "end"
+ │ │ ├── opening_loc: (13,15)-(13,17) = "do"
+ │ │ └── closing_loc: (13,18)-(13,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (153...175))
+ ├── @ CallNode (location: (15,0)-(15,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (153...154) = "a"
+ │ ├── message_loc: (15,0)-(15,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (155...168))
+ │ │ @ ArgumentsNode (location: (15,2)-(15,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (155...162))
+ │ │ ├── @ CallNode (location: (15,2)-(15,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (155...156) = "b"
- │ │ │ ├── opening_loc: (156...157) = "("
+ │ │ │ ├── message_loc: (15,2)-(15,3) = "b"
+ │ │ │ ├── opening_loc: (15,3)-(15,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (157...161))
+ │ │ │ │ @ ArgumentsNode (location: (15,4)-(15,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (157...161))
+ │ │ │ │ └── @ CallNode (location: (15,4)-(15,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (157...158) = "c"
- │ │ │ │ ├── opening_loc: (158...159) = "("
+ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c"
+ │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (159...160))
+ │ │ │ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (159...160))
+ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (159...160) = "d"
+ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (160...161) = ")"
+ │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (161...162) = ")"
+ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ ImaginaryNode (location: (164...168))
+ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15))
│ │ └── numeric:
- │ │ @ FloatNode (location: (164...167))
+ │ │ @ FloatNode (location: (15,11)-(15,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (169...175))
+ │ │ @ BlockNode (location: (15,16)-(15,22))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (169...171) = "do"
- │ │ └── closing_loc: (172...175) = "end"
+ │ │ ├── opening_loc: (15,16)-(15,18) = "do"
+ │ │ └── closing_loc: (15,19)-(15,22) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (177...199))
+ ├── @ CallNode (location: (17,0)-(17,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (177...178) = "a"
+ │ ├── message_loc: (17,0)-(17,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (179...192))
+ │ │ @ ArgumentsNode (location: (17,2)-(17,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (179...186))
+ │ │ ├── @ CallNode (location: (17,2)-(17,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (179...180) = "b"
- │ │ │ ├── opening_loc: (180...181) = "("
+ │ │ │ ├── message_loc: (17,2)-(17,3) = "b"
+ │ │ │ ├── opening_loc: (17,3)-(17,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (181...185))
+ │ │ │ │ @ ArgumentsNode (location: (17,4)-(17,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (181...185))
+ │ │ │ │ └── @ CallNode (location: (17,4)-(17,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (181...182) = "c"
- │ │ │ │ ├── opening_loc: (182...183) = "("
+ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c"
+ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (183...184))
+ │ │ │ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (183...184))
+ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (183...184) = "d"
+ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (184...185) = ")"
+ │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (185...186) = ")"
+ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RationalNode (location: (188...192))
+ │ │ └── @ RationalNode (location: (17,11)-(17,15))
│ │ └── numeric:
- │ │ @ FloatNode (location: (188...191))
+ │ │ @ FloatNode (location: (17,11)-(17,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (193...199))
+ │ │ @ BlockNode (location: (17,16)-(17,22))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (193...195) = "do"
- │ │ └── closing_loc: (196...199) = "end"
+ │ │ ├── opening_loc: (17,16)-(17,18) = "do"
+ │ │ └── closing_loc: (17,19)-(17,22) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (201...221))
+ ├── @ CallNode (location: (19,0)-(19,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (201...202) = "a"
+ │ ├── message_loc: (19,0)-(19,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (203...214))
+ │ │ @ ArgumentsNode (location: (19,2)-(19,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (203...210))
+ │ │ ├── @ CallNode (location: (19,2)-(19,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (203...204) = "b"
- │ │ │ ├── opening_loc: (204...205) = "("
+ │ │ │ ├── message_loc: (19,2)-(19,3) = "b"
+ │ │ │ ├── opening_loc: (19,3)-(19,4) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (205...209))
+ │ │ │ │ @ ArgumentsNode (location: (19,4)-(19,8))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (205...209))
+ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (205...206) = "c"
- │ │ │ │ ├── opening_loc: (206...207) = "("
+ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c"
+ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (207...208))
+ │ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (207...208))
+ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (207...208) = "d"
+ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (208...209) = ")"
+ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── closing_loc: (209...210) = ")"
+ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ SymbolNode (location: (212...214))
- │ │ ├── opening_loc: (212...213) = ":"
- │ │ ├── value_loc: (213...214) = "e"
+ │ │ └── @ 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: (215...221))
+ │ │ @ BlockNode (location: (19,14)-(19,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (215...217) = "do"
- │ │ └── closing_loc: (218...221) = "end"
+ │ │ ├── opening_loc: (19,14)-(19,16) = "do"
+ │ │ └── closing_loc: (19,17)-(19,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (223...241))
+ ├── @ CallNode (location: (21,0)-(21,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (223...224) = "a"
+ │ ├── message_loc: (21,0)-(21,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (225...234))
+ │ │ @ ArgumentsNode (location: (21,2)-(21,11))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (225...231))
+ │ │ ├── @ CallNode (location: (21,2)-(21,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (225...226) = "b"
+ │ │ │ ├── message_loc: (21,2)-(21,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (226...231))
+ │ │ │ │ @ BlockNode (location: (21,3)-(21,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (227...230))
+ │ │ │ │ │ @ StatementsNode (location: (21,4)-(21,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (227...230))
+ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (227...228) = "c"
+ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (229...230))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (21,6)-(21,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (229...230))
+ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (229...230) = "d"
+ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -595,56 +595,56 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (226...227) = "{"
- │ │ │ │ └── closing_loc: (230...231) = "}"
+ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{"
+ │ │ │ │ └── closing_loc: (21,7)-(21,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ IntegerNode (location: (233...234))
+ │ │ └── @ IntegerNode (location: (21,10)-(21,11))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (235...241))
+ │ │ @ BlockNode (location: (21,12)-(21,18))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (235...237) = "do"
- │ │ └── closing_loc: (238...241) = "end"
+ │ │ ├── opening_loc: (21,12)-(21,14) = "do"
+ │ │ └── closing_loc: (21,15)-(21,18) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (243...263))
+ ├── @ CallNode (location: (23,0)-(23,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (243...244) = "a"
+ │ ├── message_loc: (23,0)-(23,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (245...256))
+ │ │ @ ArgumentsNode (location: (23,2)-(23,13))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (245...251))
+ │ │ ├── @ CallNode (location: (23,2)-(23,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (245...246) = "b"
+ │ │ │ ├── message_loc: (23,2)-(23,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (246...251))
+ │ │ │ │ @ BlockNode (location: (23,3)-(23,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (247...250))
+ │ │ │ │ │ @ StatementsNode (location: (23,4)-(23,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (247...250))
+ │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (247...248) = "c"
+ │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (249...250))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (23,6)-(23,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (249...250))
+ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (249...250) = "d"
+ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -655,55 +655,55 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (246...247) = "{"
- │ │ │ │ └── closing_loc: (250...251) = "}"
+ │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{"
+ │ │ │ │ └── closing_loc: (23,7)-(23,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ FloatNode (location: (253...256))
+ │ │ └── @ FloatNode (location: (23,10)-(23,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (257...263))
+ │ │ @ BlockNode (location: (23,14)-(23,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (257...259) = "do"
- │ │ └── closing_loc: (260...263) = "end"
+ │ │ ├── opening_loc: (23,14)-(23,16) = "do"
+ │ │ └── closing_loc: (23,17)-(23,20) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (265...286))
+ ├── @ CallNode (location: (25,0)-(25,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (265...266) = "a"
+ │ ├── message_loc: (25,0)-(25,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (267...279))
+ │ │ @ ArgumentsNode (location: (25,2)-(25,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (267...273))
+ │ │ ├── @ CallNode (location: (25,2)-(25,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (267...268) = "b"
+ │ │ │ ├── message_loc: (25,2)-(25,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (268...273))
+ │ │ │ │ @ BlockNode (location: (25,3)-(25,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (269...272))
+ │ │ │ │ │ @ StatementsNode (location: (25,4)-(25,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (269...272))
+ │ │ │ │ │ └── @ CallNode (location: (25,4)-(25,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (269...270) = "c"
+ │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (271...272))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (25,6)-(25,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (271...272))
+ │ │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (271...272) = "d"
+ │ │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -714,57 +714,57 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (268...269) = "{"
- │ │ │ │ └── closing_loc: (272...273) = "}"
+ │ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{"
+ │ │ │ │ └── closing_loc: (25,7)-(25,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ ImaginaryNode (location: (275...279))
+ │ │ └── @ ImaginaryNode (location: (25,10)-(25,14))
│ │ └── numeric:
- │ │ @ FloatNode (location: (275...278))
+ │ │ @ FloatNode (location: (25,10)-(25,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (280...286))
+ │ │ @ BlockNode (location: (25,15)-(25,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (280...282) = "do"
- │ │ └── closing_loc: (283...286) = "end"
+ │ │ ├── opening_loc: (25,15)-(25,17) = "do"
+ │ │ └── closing_loc: (25,18)-(25,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (288...309))
+ ├── @ CallNode (location: (27,0)-(27,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (288...289) = "a"
+ │ ├── message_loc: (27,0)-(27,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (290...302))
+ │ │ @ ArgumentsNode (location: (27,2)-(27,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (290...296))
+ │ │ ├── @ CallNode (location: (27,2)-(27,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (290...291) = "b"
+ │ │ │ ├── message_loc: (27,2)-(27,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (291...296))
+ │ │ │ │ @ BlockNode (location: (27,3)-(27,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (292...295))
+ │ │ │ │ │ @ StatementsNode (location: (27,4)-(27,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (292...295))
+ │ │ │ │ │ └── @ CallNode (location: (27,4)-(27,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (292...293) = "c"
+ │ │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (294...295))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (27,6)-(27,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (294...295))
+ │ │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (294...295) = "d"
+ │ │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -775,57 +775,57 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (291...292) = "{"
- │ │ │ │ └── closing_loc: (295...296) = "}"
+ │ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{"
+ │ │ │ │ └── closing_loc: (27,7)-(27,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RationalNode (location: (298...302))
+ │ │ └── @ RationalNode (location: (27,10)-(27,14))
│ │ └── numeric:
- │ │ @ FloatNode (location: (298...301))
+ │ │ @ FloatNode (location: (27,10)-(27,13))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (303...309))
+ │ │ @ BlockNode (location: (27,15)-(27,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (303...305) = "do"
- │ │ └── closing_loc: (306...309) = "end"
+ │ │ ├── opening_loc: (27,15)-(27,17) = "do"
+ │ │ └── closing_loc: (27,18)-(27,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (311...330))
+ ├── @ CallNode (location: (29,0)-(29,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (311...312) = "a"
+ │ ├── message_loc: (29,0)-(29,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (313...323))
+ │ │ @ ArgumentsNode (location: (29,2)-(29,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (313...319))
+ │ │ ├── @ CallNode (location: (29,2)-(29,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (313...314) = "b"
+ │ │ │ ├── message_loc: (29,2)-(29,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (314...319))
+ │ │ │ │ @ BlockNode (location: (29,3)-(29,8))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (315...318))
+ │ │ │ │ │ @ StatementsNode (location: (29,4)-(29,7))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (315...318))
+ │ │ │ │ │ └── @ CallNode (location: (29,4)-(29,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (315...316) = "c"
+ │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (317...318))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (29,6)-(29,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (317...318))
+ │ │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (317...318) = "d"
+ │ │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
@@ -836,326 +836,326 @@
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (314...315) = "{"
- │ │ │ │ └── closing_loc: (318...319) = "}"
+ │ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{"
+ │ │ │ │ └── closing_loc: (29,7)-(29,8) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ SymbolNode (location: (321...323))
- │ │ ├── opening_loc: (321...322) = ":"
- │ │ ├── value_loc: (322...323) = "e"
+ │ │ └── @ 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: (324...330))
+ │ │ @ BlockNode (location: (29,13)-(29,19))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (324...326) = "do"
- │ │ └── closing_loc: (327...330) = "end"
+ │ │ ├── opening_loc: (29,13)-(29,15) = "do"
+ │ │ └── closing_loc: (29,16)-(29,19) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (332...351))
+ ├── @ CallNode (location: (31,0)-(31,19))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (332...333) = "a"
+ │ ├── message_loc: (31,0)-(31,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (334...344))
+ │ │ @ ArgumentsNode (location: (31,2)-(31,12))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (334...341))
+ │ │ ├── @ CallNode (location: (31,2)-(31,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (334...335) = "b"
+ │ │ │ ├── message_loc: (31,2)-(31,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (335...341))
+ │ │ │ │ @ BlockNode (location: (31,3)-(31,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (336...340))
+ │ │ │ │ │ @ StatementsNode (location: (31,4)-(31,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (336...340))
+ │ │ │ │ │ └── @ CallNode (location: (31,4)-(31,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (336...337) = "c"
- │ │ │ │ │ ├── opening_loc: (337...338) = "("
+ │ │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (338...339))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (338...339))
+ │ │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (338...339) = "d"
+ │ │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (339...340) = ")"
+ │ │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (335...336) = "{"
- │ │ │ │ └── closing_loc: (340...341) = "}"
+ │ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{"
+ │ │ │ │ └── closing_loc: (31,8)-(31,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ IntegerNode (location: (343...344))
+ │ │ └── @ IntegerNode (location: (31,11)-(31,12))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (345...351))
+ │ │ @ BlockNode (location: (31,13)-(31,19))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (345...347) = "do"
- │ │ └── closing_loc: (348...351) = "end"
+ │ │ ├── opening_loc: (31,13)-(31,15) = "do"
+ │ │ └── closing_loc: (31,16)-(31,19) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (353...374))
+ ├── @ CallNode (location: (33,0)-(33,21))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (353...354) = "a"
+ │ ├── message_loc: (33,0)-(33,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (355...367))
+ │ │ @ ArgumentsNode (location: (33,2)-(33,14))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (355...362))
+ │ │ ├── @ CallNode (location: (33,2)-(33,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (355...356) = "b"
+ │ │ │ ├── message_loc: (33,2)-(33,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (356...362))
+ │ │ │ │ @ BlockNode (location: (33,3)-(33,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (357...361))
+ │ │ │ │ │ @ StatementsNode (location: (33,4)-(33,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (357...361))
+ │ │ │ │ │ └── @ CallNode (location: (33,4)-(33,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (357...358) = "c"
- │ │ │ │ │ ├── opening_loc: (358...359) = "("
+ │ │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (359...360))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (359...360))
+ │ │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (359...360) = "d"
+ │ │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (360...361) = ")"
+ │ │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (356...357) = "{"
- │ │ │ │ └── closing_loc: (361...362) = "}"
+ │ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{"
+ │ │ │ │ └── closing_loc: (33,8)-(33,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ FloatNode (location: (364...367))
+ │ │ └── @ FloatNode (location: (33,11)-(33,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (368...374))
+ │ │ @ BlockNode (location: (33,15)-(33,21))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (368...370) = "do"
- │ │ └── closing_loc: (371...374) = "end"
+ │ │ ├── opening_loc: (33,15)-(33,17) = "do"
+ │ │ └── closing_loc: (33,18)-(33,21) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (376...398))
+ ├── @ CallNode (location: (35,0)-(35,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (376...377) = "a"
+ │ ├── message_loc: (35,0)-(35,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (378...391))
+ │ │ @ ArgumentsNode (location: (35,2)-(35,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (378...385))
+ │ │ ├── @ CallNode (location: (35,2)-(35,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (378...379) = "b"
+ │ │ │ ├── message_loc: (35,2)-(35,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (379...385))
+ │ │ │ │ @ BlockNode (location: (35,3)-(35,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (380...384))
+ │ │ │ │ │ @ StatementsNode (location: (35,4)-(35,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (380...384))
+ │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (380...381) = "c"
- │ │ │ │ │ ├── opening_loc: (381...382) = "("
+ │ │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (382...383))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (35,6)-(35,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (382...383))
+ │ │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (382...383) = "d"
+ │ │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (383...384) = ")"
+ │ │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (379...380) = "{"
- │ │ │ │ └── closing_loc: (384...385) = "}"
+ │ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{"
+ │ │ │ │ └── closing_loc: (35,8)-(35,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ ImaginaryNode (location: (387...391))
+ │ │ └── @ ImaginaryNode (location: (35,11)-(35,15))
│ │ └── numeric:
- │ │ @ FloatNode (location: (387...390))
+ │ │ @ FloatNode (location: (35,11)-(35,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (392...398))
+ │ │ @ BlockNode (location: (35,16)-(35,22))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (392...394) = "do"
- │ │ └── closing_loc: (395...398) = "end"
+ │ │ ├── opening_loc: (35,16)-(35,18) = "do"
+ │ │ └── closing_loc: (35,19)-(35,22) = "end"
│ ├── flags: ∅
│ └── name: "a"
- ├── @ CallNode (location: (400...422))
+ ├── @ CallNode (location: (37,0)-(37,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (400...401) = "a"
+ │ ├── message_loc: (37,0)-(37,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (402...415))
+ │ │ @ ArgumentsNode (location: (37,2)-(37,15))
│ │ └── arguments: (length: 2)
- │ │ ├── @ CallNode (location: (402...409))
+ │ │ ├── @ CallNode (location: (37,2)-(37,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (402...403) = "b"
+ │ │ │ ├── message_loc: (37,2)-(37,3) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
- │ │ │ │ @ BlockNode (location: (403...409))
+ │ │ │ │ @ BlockNode (location: (37,3)-(37,9))
│ │ │ │ ├── locals: []
│ │ │ │ ├── parameters: ∅
│ │ │ │ ├── body:
- │ │ │ │ │ @ StatementsNode (location: (404...408))
+ │ │ │ │ │ @ StatementsNode (location: (37,4)-(37,8))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (404...408))
+ │ │ │ │ │ └── @ CallNode (location: (37,4)-(37,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (404...405) = "c"
- │ │ │ │ │ ├── opening_loc: (405...406) = "("
+ │ │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c"
+ │ │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (406...407))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (37,6)-(37,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (406...407))
+ │ │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (406...407) = "d"
+ │ │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "d"
- │ │ │ │ │ ├── closing_loc: (407...408) = ")"
+ │ │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "c"
- │ │ │ │ ├── opening_loc: (403...404) = "{"
- │ │ │ │ └── closing_loc: (408...409) = "}"
+ │ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{"
+ │ │ │ │ └── closing_loc: (37,8)-(37,9) = "}"
│ │ │ ├── flags: ∅
│ │ │ └── name: "b"
- │ │ └── @ RationalNode (location: (411...415))
+ │ │ └── @ RationalNode (location: (37,11)-(37,15))
│ │ └── numeric:
- │ │ @ FloatNode (location: (411...414))
+ │ │ @ FloatNode (location: (37,11)-(37,14))
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (416...422))
+ │ │ @ BlockNode (location: (37,16)-(37,22))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (416...418) = "do"
- │ │ └── closing_loc: (419...422) = "end"
+ │ │ ├── opening_loc: (37,16)-(37,18) = "do"
+ │ │ └── closing_loc: (37,19)-(37,22) = "end"
│ ├── flags: ∅
│ └── name: "a"
- └── @ CallNode (location: (424...444))
+ └── @ CallNode (location: (39,0)-(39,20))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (424...425) = "a"
+ ├── message_loc: (39,0)-(39,1) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (426...437))
+ │ @ ArgumentsNode (location: (39,2)-(39,13))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (426...433))
+ │ ├── @ CallNode (location: (39,2)-(39,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (426...427) = "b"
+ │ │ ├── message_loc: (39,2)-(39,3) = "b"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (427...433))
+ │ │ │ @ BlockNode (location: (39,3)-(39,9))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (428...432))
+ │ │ │ │ @ StatementsNode (location: (39,4)-(39,8))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (428...432))
+ │ │ │ │ └── @ CallNode (location: (39,4)-(39,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (428...429) = "c"
- │ │ │ │ ├── opening_loc: (429...430) = "("
+ │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c"
+ │ │ │ │ ├── opening_loc: (39,5)-(39,6) = "("
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (430...431))
+ │ │ │ │ │ @ ArgumentsNode (location: (39,6)-(39,7))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (430...431))
+ │ │ │ │ │ └── @ CallNode (location: (39,6)-(39,7))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (430...431) = "d"
+ │ │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ └── name: "d"
- │ │ │ │ ├── closing_loc: (431...432) = ")"
+ │ │ │ │ ├── closing_loc: (39,7)-(39,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "c"
- │ │ │ ├── opening_loc: (427...428) = "{"
- │ │ │ └── closing_loc: (432...433) = "}"
+ │ │ │ ├── opening_loc: (39,3)-(39,4) = "{"
+ │ │ │ └── closing_loc: (39,8)-(39,9) = "}"
│ │ ├── flags: ∅
│ │ └── name: "b"
- │ └── @ SymbolNode (location: (435...437))
- │ ├── opening_loc: (435...436) = ":"
- │ ├── value_loc: (436...437) = "e"
+ │ └── @ 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: (438...444))
+ │ @ BlockNode (location: (39,14)-(39,20))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (438...440) = "do"
- │ └── closing_loc: (441...444) = "end"
+ │ ├── opening_loc: (39,14)-(39,16) = "do"
+ │ └── closing_loc: (39,17)-(39,20) = "end"
├── flags: ∅
└── name: "a"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11873_b.txt b/test/yarp/snapshots/whitequark/ruby_bug_11873_b.txt
index 6aa77e1a2d..89323d4778 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11873_b.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11873_b.txt
@@ -1,64 +1,64 @@
-@ ProgramNode (location: (0...25))
+@ ProgramNode (location: (1,0)-(1,25))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...25))
+ @ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
- └── @ CallNode (location: (0...25))
+ └── @ CallNode (location: (1,0)-(1,25))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...18))
+ │ @ ArgumentsNode (location: (1,2)-(1,18))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (2...13))
+ │ ├── @ CallNode (location: (1,2)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (2...3) = "p"
+ │ │ ├── message_loc: (1,2)-(1,3) = "p"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (3...13))
+ │ │ │ @ BlockNode (location: (1,3)-(1,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
- │ │ │ │ @ StatementsNode (location: (4...12))
+ │ │ │ │ @ StatementsNode (location: (1,4)-(1,12))
│ │ │ │ └── body: (length: 2)
- │ │ │ │ ├── @ CallNode (location: (4...8))
+ │ │ │ │ ├── @ CallNode (location: (1,4)-(1,8))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (4...5) = "p"
- │ │ │ │ │ ├── opening_loc: (5...6) = "("
+ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p"
+ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ │ │ │ ├── arguments:
- │ │ │ │ │ │ @ ArgumentsNode (location: (6...7))
+ │ │ │ │ │ │ @ ArgumentsNode (location: (1,6)-(1,7))
│ │ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ │ └── @ CallNode (location: (6...7))
+ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ │ ├── message_loc: (6...7) = "p"
+ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ └── name: "p"
- │ │ │ │ │ ├── closing_loc: (7...8) = ")"
+ │ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")"
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── name: "p"
- │ │ │ │ └── @ CallNode (location: (9...12))
+ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (9...10) = "p"
+ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "p"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
- │ │ │ │ │ @ ArgumentsNode (location: (11...12))
+ │ │ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
│ │ │ │ │ └── arguments: (length: 1)
- │ │ │ │ │ └── @ CallNode (location: (11...12))
+ │ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ │ ├── message_loc: (11...12) = "p"
+ │ │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
@@ -69,14 +69,14 @@
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── name: "p"
- │ │ │ ├── opening_loc: (3...4) = "{"
- │ │ │ └── closing_loc: (12...13) = "}"
+ │ │ │ ├── opening_loc: (1,3)-(1,4) = "{"
+ │ │ │ └── closing_loc: (1,12)-(1,13) = "}"
│ │ ├── flags: ∅
│ │ └── name: "p"
- │ └── @ CallNode (location: (15...18))
+ │ └── @ CallNode (location: (1,15)-(1,18))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (15...18) = "tap"
+ │ ├── message_loc: (1,15)-(1,18) = "tap"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -85,11 +85,11 @@
│ └── name: "tap"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (19...25))
+ │ @ BlockNode (location: (1,19)-(1,25))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (19...21) = "do"
- │ └── closing_loc: (22...25) = "end"
+ │ ├── opening_loc: (1,19)-(1,21) = "do"
+ │ └── closing_loc: (1,22)-(1,25) = "end"
├── flags: ∅
└── name: "p"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11989.txt b/test/yarp/snapshots/whitequark/ruby_bug_11989.txt
index b87f2e2049..b271785d13 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11989.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11989.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...8))
+ │ @ ArgumentsNode (location: (1,2)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ StringNode (location: (2...8))
+ │ └── @ StringNode (location: (1,2)-(1,8))
│ ├── flags: ∅
- │ ├── opening_loc: (2...8) = "<<~\"E\""
- │ ├── content_loc: (9...19) = " x\\n y\n"
- │ ├── closing_loc: (19...21) = "E\n"
+ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\""
+ │ ├── content_loc: (2,0)-(2,0) = " x\\n y\n"
+ │ ├── closing_loc: (3,0)-(3,0) = "E\n"
│ └── unescaped: "x\n y\n"
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_11990.txt b/test/yarp/snapshots/whitequark/ruby_bug_11990.txt
index 358e00d104..08179b6c76 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_11990.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_11990.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "p"
+ ├── message_loc: (1,0)-(1,1) = "p"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...12))
+ │ @ ArgumentsNode (location: (1,2)-(1,12))
│ └── arguments: (length: 1)
- │ └── @ StringConcatNode (location: (2...12))
+ │ └── @ StringConcatNode (location: (1,2)-(1,12))
│ ├── left:
- │ │ @ StringNode (location: (2...6))
+ │ │ @ StringNode (location: (1,2)-(1,6))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (2...6) = "<<~E"
- │ │ ├── content_loc: (13...17) = " x\n"
- │ │ ├── closing_loc: (17...19) = "E\n"
+ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E"
+ │ │ ├── content_loc: (2,0)-(2,0) = " x\n"
+ │ │ ├── closing_loc: (3,0)-(3,0) = "E\n"
│ │ └── unescaped: "x\n"
│ └── right:
- │ @ StringNode (location: (7...12))
+ │ @ StringNode (location: (1,7)-(1,12))
│ ├── flags: ∅
- │ ├── opening_loc: (7...8) = "\""
- │ ├── content_loc: (8...11) = " y"
- │ ├── closing_loc: (11...12) = "\""
+ │ ├── opening_loc: (1,7)-(1,8) = "\""
+ │ ├── content_loc: (1,8)-(1,11) = " y"
+ │ ├── closing_loc: (1,11)-(1,12) = "\""
│ └── unescaped: " y"
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_12073.txt b/test/yarp/snapshots/whitequark/ruby_bug_12073.txt
index dd3db0f8b7..8d87e2ff0d 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_12073.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_12073.txt
@@ -1,49 +1,49 @@
-@ ProgramNode (location: (0...49))
+@ ProgramNode (location: (1,0)-(3,34))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...49))
+ @ StatementsNode (location: (1,0)-(3,34))
└── body: (length: 3)
- ├── @ LocalVariableWriteNode (location: (0...5))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,5))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (0...1) = "a"
+ │ ├── name_loc: (1,0)-(1,1) = "a"
│ ├── value:
- │ │ @ IntegerNode (location: (4...5))
+ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── operator_loc: (2...3) = "="
- ├── @ CallNode (location: (7...13))
+ │ └── operator_loc: (1,2)-(1,3) = "="
+ ├── @ CallNode (location: (1,7)-(1,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...8) = "a"
+ │ ├── message_loc: (1,7)-(1,8) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (9...13))
+ │ │ @ ArgumentsNode (location: (1,9)-(1,13))
│ │ └── arguments: (length: 1)
- │ │ └── @ KeywordHashNode (location: (9...13))
+ │ │ └── @ KeywordHashNode (location: (1,9)-(1,13))
│ │ └── elements: (length: 1)
- │ │ └── @ AssocNode (location: (9...13))
+ │ │ └── @ AssocNode (location: (1,9)-(1,13))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (9...11))
+ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (9...10) = "b"
- │ │ │ ├── closing_loc: (10...11) = ":"
+ │ │ │ ├── value_loc: (1,9)-(1,10) = "b"
+ │ │ │ ├── closing_loc: (1,10)-(1,11) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (12...13))
+ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a"
- └── @ DefNode (location: (15...49))
+ └── @ DefNode (location: (3,0)-(3,34))
├── name: :foo
- ├── name_loc: (19...22) = "foo"
+ ├── name_loc: (3,4)-(3,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (23...28))
+ │ @ ParametersNode (location: (3,8)-(3,13))
│ ├── requireds: (length: 1)
- │ │ └── @ RequiredParameterNode (location: (23...28))
+ │ │ └── @ RequiredParameterNode (location: (3,8)-(3,13))
│ │ └── name: :raise
│ ├── optionals: (length: 0)
│ ├── rest: ∅
@@ -52,38 +52,38 @@
│ ├── keyword_rest: ∅
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (30...44))
+ │ @ StatementsNode (location: (3,15)-(3,29))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (30...44))
+ │ └── @ CallNode (location: (3,15)-(3,29))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (30...35) = "raise"
+ │ ├── message_loc: (3,15)-(3,20) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (36...44))
+ │ │ @ ArgumentsNode (location: (3,21)-(3,29))
│ │ └── arguments: (length: 2)
- │ │ ├── @ ConstantPathNode (location: (36...40))
+ │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25))
│ │ │ ├── parent:
- │ │ │ │ @ ConstantReadNode (location: (36...37))
+ │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22))
│ │ │ │ └── name: :A
│ │ │ ├── child:
- │ │ │ │ @ ConstantReadNode (location: (39...40))
+ │ │ │ │ @ ConstantReadNode (location: (3,24)-(3,25))
│ │ │ │ └── name: :B
- │ │ │ └── delimiter_loc: (37...39) = "::"
- │ │ └── @ StringNode (location: (42...44))
+ │ │ │ └── delimiter_loc: (3,22)-(3,24) = "::"
+ │ │ └── @ StringNode (location: (3,27)-(3,29))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (42...43) = "'"
- │ │ ├── content_loc: (43...43) = ""
- │ │ ├── closing_loc: (43...44) = "'"
+ │ │ ├── opening_loc: (3,27)-(3,28) = "'"
+ │ │ ├── content_loc: (3,28)-(3,28) = ""
+ │ │ ├── closing_loc: (3,28)-(3,29) = "'"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
├── locals: [:raise]
- ├── def_keyword_loc: (15...18) = "def"
+ ├── def_keyword_loc: (3,0)-(3,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (46...49) = "end"
+ └── end_keyword_loc: (3,31)-(3,34) = "end"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_12402.txt b/test/yarp/snapshots/whitequark/ruby_bug_12402.txt
index c434aa6546..8b3ca59827 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_12402.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_12402.txt
@@ -1,35 +1,35 @@
-@ ProgramNode (location: (0...437))
+@ ProgramNode (location: (1,0)-(27,31))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...437))
+ @ StatementsNode (location: (1,0)-(27,31))
└── body: (length: 14)
- ├── @ LocalVariableOperatorWriteNode (location: (0...27))
- │ ├── name_loc: (0...3) = "foo"
- │ ├── operator_loc: (4...6) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,27))
+ │ ├── name_loc: (1,0)-(1,3) = "foo"
+ │ ├── operator_loc: (1,4)-(1,6) = "+="
│ ├── value:
- │ │ @ CallNode (location: (7...27))
+ │ │ @ CallNode (location: (1,7)-(1,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...12) = "raise"
+ │ │ ├── message_loc: (1,7)-(1,12) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (13...27))
+ │ │ │ @ ArgumentsNode (location: (1,13)-(1,27))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (13...27))
+ │ │ │ └── @ RescueModifierNode (location: (1,13)-(1,27))
│ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (13...16))
+ │ │ │ │ @ CallNode (location: (1,13)-(1,16))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (13...16) = "bar"
+ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── keyword_loc: (17...23) = "rescue"
+ │ │ │ ├── keyword_loc: (1,17)-(1,23) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ NilNode (location: (24...27))
+ │ │ │ @ NilNode (location: (1,24)-(1,27))
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
@@ -37,113 +37,113 @@
│ ├── name: :foo
│ ├── operator: :+
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (29...57))
- │ ├── name_loc: (29...32) = "foo"
- │ ├── operator_loc: (33...35) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,28))
+ │ ├── name_loc: (3,0)-(3,3) = "foo"
+ │ ├── operator_loc: (3,4)-(3,6) = "+="
│ ├── value:
- │ │ @ RescueModifierNode (location: (36...57))
+ │ │ @ RescueModifierNode (location: (3,7)-(3,28))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (36...46))
+ │ │ │ @ CallNode (location: (3,7)-(3,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (36...41) = "raise"
- │ │ │ ├── opening_loc: (41...42) = "("
+ │ │ │ ├── message_loc: (3,7)-(3,12) = "raise"
+ │ │ │ ├── opening_loc: (3,12)-(3,13) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (42...45))
+ │ │ │ │ @ ArgumentsNode (location: (3,13)-(3,16))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (42...45))
+ │ │ │ │ └── @ CallNode (location: (3,13)-(3,16))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (42...45) = "bar"
+ │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── closing_loc: (45...46) = ")"
+ │ │ │ ├── closing_loc: (3,16)-(3,17) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "raise"
- │ │ ├── keyword_loc: (47...53) = "rescue"
+ │ │ ├── keyword_loc: (3,18)-(3,24) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (54...57))
+ │ │ @ NilNode (location: (3,25)-(3,28))
│ ├── name: :foo
│ ├── operator: :+
│ └── depth: 0
- ├── @ LocalVariableWriteNode (location: (59...85))
+ ├── @ LocalVariableWriteNode (location: (5,0)-(5,26))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (59...62) = "foo"
+ │ ├── name_loc: (5,0)-(5,3) = "foo"
│ ├── value:
- │ │ @ CallNode (location: (65...85))
+ │ │ @ CallNode (location: (5,6)-(5,26))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (65...70) = "raise"
+ │ │ ├── message_loc: (5,6)-(5,11) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (71...85))
+ │ │ │ @ ArgumentsNode (location: (5,12)-(5,26))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ RescueModifierNode (location: (71...85))
+ │ │ │ └── @ RescueModifierNode (location: (5,12)-(5,26))
│ │ │ ├── expression:
- │ │ │ │ @ CallNode (location: (71...74))
+ │ │ │ │ @ CallNode (location: (5,12)-(5,15))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (71...74) = "bar"
+ │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── keyword_loc: (75...81) = "rescue"
+ │ │ │ ├── keyword_loc: (5,16)-(5,22) = "rescue"
│ │ │ └── rescue_expression:
- │ │ │ @ NilNode (location: (82...85))
+ │ │ │ @ NilNode (location: (5,23)-(5,26))
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
- │ └── operator_loc: (63...64) = "="
- ├── @ LocalVariableWriteNode (location: (87...114))
+ │ └── operator_loc: (5,4)-(5,5) = "="
+ ├── @ LocalVariableWriteNode (location: (7,0)-(7,27))
│ ├── name: :foo
│ ├── depth: 0
- │ ├── name_loc: (87...90) = "foo"
+ │ ├── name_loc: (7,0)-(7,3) = "foo"
│ ├── value:
- │ │ @ RescueModifierNode (location: (93...114))
+ │ │ @ RescueModifierNode (location: (7,6)-(7,27))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (93...103))
+ │ │ │ @ CallNode (location: (7,6)-(7,16))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (93...98) = "raise"
- │ │ │ ├── opening_loc: (98...99) = "("
+ │ │ │ ├── message_loc: (7,6)-(7,11) = "raise"
+ │ │ │ ├── opening_loc: (7,11)-(7,12) = "("
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (99...102))
+ │ │ │ │ @ ArgumentsNode (location: (7,12)-(7,15))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ CallNode (location: (99...102))
+ │ │ │ │ └── @ CallNode (location: (7,12)-(7,15))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (99...102) = "bar"
+ │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ ├── closing_loc: (102...103) = ")"
+ │ │ │ ├── closing_loc: (7,15)-(7,16) = ")"
│ │ │ ├── block: ∅
│ │ │ ├── flags: ∅
│ │ │ └── name: "raise"
- │ │ ├── keyword_loc: (104...110) = "rescue"
+ │ │ ├── keyword_loc: (7,17)-(7,23) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (111...114))
- │ └── operator_loc: (91...92) = "="
- ├── @ CallOperatorWriteNode (location: (116...145))
+ │ │ @ NilNode (location: (7,24)-(7,27))
+ │ └── operator_loc: (7,4)-(7,5) = "="
+ ├── @ CallOperatorWriteNode (location: (9,0)-(9,29))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (116...119))
+ │ │ @ LocalVariableReadNode (location: (9,0)-(9,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (119...120) = "."
- │ ├── message_loc: (120...121) = "C"
+ │ ├── call_operator_loc: (9,3)-(9,4) = "."
+ │ ├── message_loc: (9,4)-(9,5) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -151,42 +151,42 @@
│ ├── read_name: "C"
│ ├── write_name: "C="
│ ├── operator: :+
- │ ├── operator_loc: (122...124) = "+="
+ │ ├── operator_loc: (9,6)-(9,8) = "+="
│ └── value:
- │ @ CallNode (location: (125...145))
+ │ @ CallNode (location: (9,9)-(9,29))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (125...130) = "raise"
+ │ ├── message_loc: (9,9)-(9,14) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (131...145))
+ │ │ @ ArgumentsNode (location: (9,15)-(9,29))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (131...145))
+ │ │ └── @ RescueModifierNode (location: (9,15)-(9,29))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (131...134))
+ │ │ │ @ CallNode (location: (9,15)-(9,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (131...134) = "bar"
+ │ │ │ ├── message_loc: (9,15)-(9,18) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── keyword_loc: (135...141) = "rescue"
+ │ │ ├── keyword_loc: (9,19)-(9,25) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (142...145))
+ │ │ @ NilNode (location: (9,26)-(9,29))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- ├── @ CallOperatorWriteNode (location: (147...177))
+ ├── @ CallOperatorWriteNode (location: (11,0)-(11,30))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (147...150))
+ │ │ @ LocalVariableReadNode (location: (11,0)-(11,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (150...151) = "."
- │ ├── message_loc: (151...152) = "C"
+ │ ├── call_operator_loc: (11,3)-(11,4) = "."
+ │ ├── message_loc: (11,4)-(11,5) = "C"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -194,42 +194,42 @@
│ ├── read_name: "C"
│ ├── write_name: "C="
│ ├── operator: :+
- │ ├── operator_loc: (153...155) = "+="
+ │ ├── operator_loc: (11,6)-(11,8) = "+="
│ └── value:
- │ @ RescueModifierNode (location: (156...177))
+ │ @ RescueModifierNode (location: (11,9)-(11,30))
│ ├── expression:
- │ │ @ CallNode (location: (156...166))
+ │ │ @ CallNode (location: (11,9)-(11,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (156...161) = "raise"
- │ │ ├── opening_loc: (161...162) = "("
+ │ │ ├── message_loc: (11,9)-(11,14) = "raise"
+ │ │ ├── opening_loc: (11,14)-(11,15) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (162...165))
+ │ │ │ @ ArgumentsNode (location: (11,15)-(11,18))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (162...165))
+ │ │ │ └── @ CallNode (location: (11,15)-(11,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (162...165) = "bar"
+ │ │ │ ├── message_loc: (11,15)-(11,18) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (165...166) = ")"
+ │ │ ├── closing_loc: (11,18)-(11,19) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
- │ ├── keyword_loc: (167...173) = "rescue"
+ │ ├── keyword_loc: (11,20)-(11,26) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (174...177))
- ├── @ CallOperatorWriteNode (location: (179...208))
+ │ @ NilNode (location: (11,27)-(11,30))
+ ├── @ CallOperatorWriteNode (location: (13,0)-(13,29))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (179...182))
+ │ │ @ LocalVariableReadNode (location: (13,0)-(13,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (182...183) = "."
- │ ├── message_loc: (183...184) = "m"
+ │ ├── call_operator_loc: (13,3)-(13,4) = "."
+ │ ├── message_loc: (13,4)-(13,5) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -237,42 +237,42 @@
│ ├── read_name: "m"
│ ├── write_name: "m="
│ ├── operator: :+
- │ ├── operator_loc: (185...187) = "+="
+ │ ├── operator_loc: (13,6)-(13,8) = "+="
│ └── value:
- │ @ CallNode (location: (188...208))
+ │ @ CallNode (location: (13,9)-(13,29))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (188...193) = "raise"
+ │ ├── message_loc: (13,9)-(13,14) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (194...208))
+ │ │ @ ArgumentsNode (location: (13,15)-(13,29))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (194...208))
+ │ │ └── @ RescueModifierNode (location: (13,15)-(13,29))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (194...197))
+ │ │ │ @ CallNode (location: (13,15)-(13,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (194...197) = "bar"
+ │ │ │ ├── message_loc: (13,15)-(13,18) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── keyword_loc: (198...204) = "rescue"
+ │ │ ├── keyword_loc: (13,19)-(13,25) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (205...208))
+ │ │ @ NilNode (location: (13,26)-(13,29))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- ├── @ CallOperatorWriteNode (location: (210...240))
+ ├── @ CallOperatorWriteNode (location: (15,0)-(15,30))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (210...213))
+ │ │ @ LocalVariableReadNode (location: (15,0)-(15,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (213...214) = "."
- │ ├── message_loc: (214...215) = "m"
+ │ ├── call_operator_loc: (15,3)-(15,4) = "."
+ │ ├── message_loc: (15,4)-(15,5) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -280,122 +280,122 @@
│ ├── read_name: "m"
│ ├── write_name: "m="
│ ├── operator: :+
- │ ├── operator_loc: (216...218) = "+="
+ │ ├── operator_loc: (15,6)-(15,8) = "+="
│ └── value:
- │ @ RescueModifierNode (location: (219...240))
+ │ @ RescueModifierNode (location: (15,9)-(15,30))
│ ├── expression:
- │ │ @ CallNode (location: (219...229))
+ │ │ @ CallNode (location: (15,9)-(15,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (219...224) = "raise"
- │ │ ├── opening_loc: (224...225) = "("
+ │ │ ├── message_loc: (15,9)-(15,14) = "raise"
+ │ │ ├── opening_loc: (15,14)-(15,15) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (225...228))
+ │ │ │ @ ArgumentsNode (location: (15,15)-(15,18))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (225...228))
+ │ │ │ └── @ CallNode (location: (15,15)-(15,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (225...228) = "bar"
+ │ │ │ ├── message_loc: (15,15)-(15,18) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (228...229) = ")"
+ │ │ ├── closing_loc: (15,18)-(15,19) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
- │ ├── keyword_loc: (230...236) = "rescue"
+ │ ├── keyword_loc: (15,20)-(15,26) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (237...240))
- ├── @ ConstantPathOrWriteNode (location: (242...273))
+ │ @ NilNode (location: (15,27)-(15,30))
+ ├── @ ConstantPathOrWriteNode (location: (17,0)-(17,31))
│ ├── target:
- │ │ @ ConstantPathNode (location: (242...248))
+ │ │ @ ConstantPathNode (location: (17,0)-(17,6))
│ │ ├── parent:
- │ │ │ @ LocalVariableReadNode (location: (242...245))
+ │ │ │ @ LocalVariableReadNode (location: (17,0)-(17,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (247...248))
+ │ │ │ @ ConstantReadNode (location: (17,5)-(17,6))
│ │ │ └── name: :C
- │ │ └── delimiter_loc: (245...247) = "::"
- │ ├── operator_loc: (249...252) = "||="
+ │ │ └── delimiter_loc: (17,3)-(17,5) = "::"
+ │ ├── operator_loc: (17,7)-(17,10) = "||="
│ └── value:
- │ @ CallNode (location: (253...273))
+ │ @ CallNode (location: (17,11)-(17,31))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (253...258) = "raise"
+ │ ├── message_loc: (17,11)-(17,16) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (259...273))
+ │ │ @ ArgumentsNode (location: (17,17)-(17,31))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (259...273))
+ │ │ └── @ RescueModifierNode (location: (17,17)-(17,31))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (259...262))
+ │ │ │ @ CallNode (location: (17,17)-(17,20))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (259...262) = "bar"
+ │ │ │ ├── message_loc: (17,17)-(17,20) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── keyword_loc: (263...269) = "rescue"
+ │ │ ├── keyword_loc: (17,21)-(17,27) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (270...273))
+ │ │ @ NilNode (location: (17,28)-(17,31))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- ├── @ ConstantPathOrWriteNode (location: (275...307))
+ ├── @ ConstantPathOrWriteNode (location: (19,0)-(19,32))
│ ├── target:
- │ │ @ ConstantPathNode (location: (275...281))
+ │ │ @ ConstantPathNode (location: (19,0)-(19,6))
│ │ ├── parent:
- │ │ │ @ LocalVariableReadNode (location: (275...278))
+ │ │ │ @ LocalVariableReadNode (location: (19,0)-(19,3))
│ │ │ ├── name: :foo
│ │ │ └── depth: 0
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (280...281))
+ │ │ │ @ ConstantReadNode (location: (19,5)-(19,6))
│ │ │ └── name: :C
- │ │ └── delimiter_loc: (278...280) = "::"
- │ ├── operator_loc: (282...285) = "||="
+ │ │ └── delimiter_loc: (19,3)-(19,5) = "::"
+ │ ├── operator_loc: (19,7)-(19,10) = "||="
│ └── value:
- │ @ RescueModifierNode (location: (286...307))
+ │ @ RescueModifierNode (location: (19,11)-(19,32))
│ ├── expression:
- │ │ @ CallNode (location: (286...296))
+ │ │ @ CallNode (location: (19,11)-(19,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (286...291) = "raise"
- │ │ ├── opening_loc: (291...292) = "("
+ │ │ ├── message_loc: (19,11)-(19,16) = "raise"
+ │ │ ├── opening_loc: (19,16)-(19,17) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (292...295))
+ │ │ │ @ ArgumentsNode (location: (19,17)-(19,20))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (292...295))
+ │ │ │ └── @ CallNode (location: (19,17)-(19,20))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (292...295) = "bar"
+ │ │ │ ├── message_loc: (19,17)-(19,20) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (295...296) = ")"
+ │ │ ├── closing_loc: (19,20)-(19,21) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
- │ ├── keyword_loc: (297...303) = "rescue"
+ │ ├── keyword_loc: (19,22)-(19,28) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (304...307))
- ├── @ CallOperatorWriteNode (location: (309...339))
+ │ @ NilNode (location: (19,29)-(19,32))
+ ├── @ CallOperatorWriteNode (location: (21,0)-(21,30))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (309...312))
+ │ │ @ LocalVariableReadNode (location: (21,0)-(21,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (312...314) = "::"
- │ ├── message_loc: (314...315) = "m"
+ │ ├── call_operator_loc: (21,3)-(21,5) = "::"
+ │ ├── message_loc: (21,5)-(21,6) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -403,42 +403,42 @@
│ ├── read_name: "m"
│ ├── write_name: "m="
│ ├── operator: :+
- │ ├── operator_loc: (316...318) = "+="
+ │ ├── operator_loc: (21,7)-(21,9) = "+="
│ └── value:
- │ @ CallNode (location: (319...339))
+ │ @ CallNode (location: (21,10)-(21,30))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (319...324) = "raise"
+ │ ├── message_loc: (21,10)-(21,15) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (325...339))
+ │ │ @ ArgumentsNode (location: (21,16)-(21,30))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (325...339))
+ │ │ └── @ RescueModifierNode (location: (21,16)-(21,30))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (325...328))
+ │ │ │ @ CallNode (location: (21,16)-(21,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (325...328) = "bar"
+ │ │ │ ├── message_loc: (21,16)-(21,19) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── keyword_loc: (329...335) = "rescue"
+ │ │ ├── keyword_loc: (21,20)-(21,26) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (336...339))
+ │ │ @ NilNode (location: (21,27)-(21,30))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- ├── @ CallOperatorWriteNode (location: (341...372))
+ ├── @ CallOperatorWriteNode (location: (23,0)-(23,31))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (341...344))
+ │ │ @ LocalVariableReadNode (location: (23,0)-(23,3))
│ │ ├── name: :foo
│ │ └── depth: 0
- │ ├── call_operator_loc: (344...346) = "::"
- │ ├── message_loc: (346...347) = "m"
+ │ ├── call_operator_loc: (23,3)-(23,5) = "::"
+ │ ├── message_loc: (23,5)-(23,6) = "m"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -446,126 +446,126 @@
│ ├── read_name: "m"
│ ├── write_name: "m="
│ ├── operator: :+
- │ ├── operator_loc: (348...350) = "+="
+ │ ├── operator_loc: (23,7)-(23,9) = "+="
│ └── value:
- │ @ RescueModifierNode (location: (351...372))
+ │ @ RescueModifierNode (location: (23,10)-(23,31))
│ ├── expression:
- │ │ @ CallNode (location: (351...361))
+ │ │ @ CallNode (location: (23,10)-(23,20))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (351...356) = "raise"
- │ │ ├── opening_loc: (356...357) = "("
+ │ │ ├── message_loc: (23,10)-(23,15) = "raise"
+ │ │ ├── opening_loc: (23,15)-(23,16) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (357...360))
+ │ │ │ @ ArgumentsNode (location: (23,16)-(23,19))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (357...360))
+ │ │ │ └── @ CallNode (location: (23,16)-(23,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (357...360) = "bar"
+ │ │ │ ├── message_loc: (23,16)-(23,19) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── closing_loc: (360...361) = ")"
+ │ │ ├── closing_loc: (23,19)-(23,20) = ")"
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "raise"
- │ ├── keyword_loc: (362...368) = "rescue"
+ │ ├── keyword_loc: (23,21)-(23,27) = "rescue"
│ └── rescue_expression:
- │ @ NilNode (location: (369...372))
- ├── @ CallOperatorWriteNode (location: (374...404))
+ │ @ NilNode (location: (23,28)-(23,31))
+ ├── @ CallOperatorWriteNode (location: (25,0)-(25,30))
│ ├── receiver:
- │ │ @ LocalVariableReadNode (location: (374...377))
+ │ │ @ LocalVariableReadNode (location: (25,0)-(25,3))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (377...380) = "[0]"
- │ ├── opening_loc: (377...378) = "["
+ │ ├── message_loc: (25,3)-(25,6) = "[0]"
+ │ ├── opening_loc: (25,3)-(25,4) = "["
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (378...379))
+ │ │ @ ArgumentsNode (location: (25,4)-(25,5))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (378...379))
+ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
│ │ └── flags: decimal
- │ ├── closing_loc: (379...380) = "]"
+ │ ├── closing_loc: (25,5)-(25,6) = "]"
│ ├── flags: ∅
│ ├── read_name: "[]"
│ ├── write_name: "[]="
│ ├── operator: :+
- │ ├── operator_loc: (381...383) = "+="
+ │ ├── operator_loc: (25,7)-(25,9) = "+="
│ └── value:
- │ @ CallNode (location: (384...404))
+ │ @ CallNode (location: (25,10)-(25,30))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (384...389) = "raise"
+ │ ├── message_loc: (25,10)-(25,15) = "raise"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (390...404))
+ │ │ @ ArgumentsNode (location: (25,16)-(25,30))
│ │ └── arguments: (length: 1)
- │ │ └── @ RescueModifierNode (location: (390...404))
+ │ │ └── @ RescueModifierNode (location: (25,16)-(25,30))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (390...393))
+ │ │ │ @ CallNode (location: (25,16)-(25,19))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (390...393) = "bar"
+ │ │ │ ├── message_loc: (25,16)-(25,19) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ ├── keyword_loc: (394...400) = "rescue"
+ │ │ ├── keyword_loc: (25,20)-(25,26) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (401...404))
+ │ │ @ NilNode (location: (25,27)-(25,30))
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- └── @ CallOperatorWriteNode (location: (406...437))
+ └── @ CallOperatorWriteNode (location: (27,0)-(27,31))
├── receiver:
- │ @ LocalVariableReadNode (location: (406...409))
+ │ @ LocalVariableReadNode (location: (27,0)-(27,3))
│ ├── name: :foo
│ └── depth: 0
├── call_operator_loc: ∅
- ├── message_loc: (409...412) = "[0]"
- ├── opening_loc: (409...410) = "["
+ ├── message_loc: (27,3)-(27,6) = "[0]"
+ ├── opening_loc: (27,3)-(27,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (410...411))
+ │ @ ArgumentsNode (location: (27,4)-(27,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (410...411))
+ │ └── @ IntegerNode (location: (27,4)-(27,5))
│ └── flags: decimal
- ├── closing_loc: (411...412) = "]"
+ ├── closing_loc: (27,5)-(27,6) = "]"
├── flags: ∅
├── read_name: "[]"
├── write_name: "[]="
├── operator: :+
- ├── operator_loc: (413...415) = "+="
+ ├── operator_loc: (27,7)-(27,9) = "+="
└── value:
- @ RescueModifierNode (location: (416...437))
+ @ RescueModifierNode (location: (27,10)-(27,31))
├── expression:
- │ @ CallNode (location: (416...426))
+ │ @ CallNode (location: (27,10)-(27,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (416...421) = "raise"
- │ ├── opening_loc: (421...422) = "("
+ │ ├── message_loc: (27,10)-(27,15) = "raise"
+ │ ├── opening_loc: (27,15)-(27,16) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (422...425))
+ │ │ @ ArgumentsNode (location: (27,16)-(27,19))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (422...425))
+ │ │ └── @ CallNode (location: (27,16)-(27,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (422...425) = "bar"
+ │ │ ├── message_loc: (27,16)-(27,19) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (425...426) = ")"
+ │ ├── closing_loc: (27,19)-(27,20) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "raise"
- ├── keyword_loc: (427...433) = "rescue"
+ ├── keyword_loc: (27,21)-(27,27) = "rescue"
└── rescue_expression:
- @ NilNode (location: (434...437))
+ @ NilNode (location: (27,28)-(27,31))
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_12669.txt b/test/yarp/snapshots/whitequark/ruby_bug_12669.txt
index 48c3d04642..f9380994e9 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_12669.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_12669.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...74))
+@ ProgramNode (location: (1,0)-(7,16))
├── locals: [:a, :b]
└── statements:
- @ StatementsNode (location: (0...74))
+ @ StatementsNode (location: (1,0)-(7,16))
└── body: (length: 4)
- ├── @ LocalVariableOperatorWriteNode (location: (0...18))
- │ ├── name_loc: (0...1) = "a"
- │ ├── operator_loc: (2...4) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,18))
+ │ ├── name_loc: (1,0)-(1,1) = "a"
+ │ ├── operator_loc: (1,2)-(1,4) = "+="
│ ├── value:
- │ │ @ LocalVariableOperatorWriteNode (location: (5...18))
- │ │ ├── name_loc: (5...6) = "b"
- │ │ ├── operator_loc: (7...9) = "+="
+ │ │ @ LocalVariableOperatorWriteNode (location: (1,5)-(1,18))
+ │ │ ├── name_loc: (1,5)-(1,6) = "b"
+ │ │ ├── operator_loc: (1,7)-(1,9) = "+="
│ │ ├── value:
- │ │ │ @ CallNode (location: (10...18))
+ │ │ │ @ CallNode (location: (1,10)-(1,18))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (10...15) = "raise"
+ │ │ │ ├── message_loc: (1,10)-(1,15) = "raise"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (16...18))
+ │ │ │ │ @ ArgumentsNode (location: (1,16)-(1,18))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (16...18))
- │ │ │ │ ├── opening_loc: (16...17) = ":"
- │ │ │ │ ├── value_loc: (17...18) = "x"
+ │ │ │ │ └── @ 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: ∅
@@ -34,56 +34,56 @@
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
- ├── @ LocalVariableOperatorWriteNode (location: (20...37))
- │ ├── name_loc: (20...21) = "a"
- │ ├── operator_loc: (22...24) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,17))
+ │ ├── name_loc: (3,0)-(3,1) = "a"
+ │ ├── operator_loc: (3,2)-(3,4) = "+="
│ ├── value:
- │ │ @ LocalVariableWriteNode (location: (25...37))
+ │ │ @ LocalVariableWriteNode (location: (3,5)-(3,17))
│ │ ├── name: :b
│ │ ├── depth: 0
- │ │ ├── name_loc: (25...26) = "b"
+ │ │ ├── name_loc: (3,5)-(3,6) = "b"
│ │ ├── value:
- │ │ │ @ CallNode (location: (29...37))
+ │ │ │ @ CallNode (location: (3,9)-(3,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (29...34) = "raise"
+ │ │ │ ├── message_loc: (3,9)-(3,14) = "raise"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (35...37))
+ │ │ │ │ @ ArgumentsNode (location: (3,15)-(3,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (35...37))
- │ │ │ │ ├── opening_loc: (35...36) = ":"
- │ │ │ │ ├── value_loc: (36...37) = "x"
+ │ │ │ │ └── @ 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: ∅
│ │ │ └── name: "raise"
- │ │ └── operator_loc: (27...28) = "="
+ │ │ └── operator_loc: (3,7)-(3,8) = "="
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
- ├── @ LocalVariableWriteNode (location: (39...56))
+ ├── @ LocalVariableWriteNode (location: (5,0)-(5,17))
│ ├── name: :a
│ ├── depth: 0
- │ ├── name_loc: (39...40) = "a"
+ │ ├── name_loc: (5,0)-(5,1) = "a"
│ ├── value:
- │ │ @ LocalVariableOperatorWriteNode (location: (43...56))
- │ │ ├── name_loc: (43...44) = "b"
- │ │ ├── operator_loc: (45...47) = "+="
+ │ │ @ LocalVariableOperatorWriteNode (location: (5,4)-(5,17))
+ │ │ ├── name_loc: (5,4)-(5,5) = "b"
+ │ │ ├── operator_loc: (5,6)-(5,8) = "+="
│ │ ├── value:
- │ │ │ @ CallNode (location: (48...56))
+ │ │ │ @ CallNode (location: (5,9)-(5,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (48...53) = "raise"
+ │ │ │ ├── message_loc: (5,9)-(5,14) = "raise"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
- │ │ │ │ @ ArgumentsNode (location: (54...56))
+ │ │ │ │ @ ArgumentsNode (location: (5,15)-(5,17))
│ │ │ │ └── arguments: (length: 1)
- │ │ │ │ └── @ SymbolNode (location: (54...56))
- │ │ │ │ ├── opening_loc: (54...55) = ":"
- │ │ │ │ ├── value_loc: (55...56) = "x"
+ │ │ │ │ └── @ 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: ∅
@@ -93,33 +93,33 @@
│ │ ├── name: :b
│ │ ├── operator: :+
│ │ └── depth: 0
- │ └── operator_loc: (41...42) = "="
- └── @ LocalVariableWriteNode (location: (58...74))
+ │ └── operator_loc: (5,2)-(5,3) = "="
+ └── @ LocalVariableWriteNode (location: (7,0)-(7,16))
├── name: :a
├── depth: 0
- ├── name_loc: (58...59) = "a"
+ ├── name_loc: (7,0)-(7,1) = "a"
├── value:
- │ @ LocalVariableWriteNode (location: (62...74))
+ │ @ LocalVariableWriteNode (location: (7,4)-(7,16))
│ ├── name: :b
│ ├── depth: 0
- │ ├── name_loc: (62...63) = "b"
+ │ ├── name_loc: (7,4)-(7,5) = "b"
│ ├── value:
- │ │ @ CallNode (location: (66...74))
+ │ │ @ CallNode (location: (7,8)-(7,16))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (66...71) = "raise"
+ │ │ ├── message_loc: (7,8)-(7,13) = "raise"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (72...74))
+ │ │ │ @ ArgumentsNode (location: (7,14)-(7,16))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ SymbolNode (location: (72...74))
- │ │ │ ├── opening_loc: (72...73) = ":"
- │ │ │ ├── value_loc: (73...74) = "x"
+ │ │ │ └── @ 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: ∅
│ │ └── name: "raise"
- │ └── operator_loc: (64...65) = "="
- └── operator_loc: (60...61) = "="
+ │ └── operator_loc: (7,6)-(7,7) = "="
+ └── operator_loc: (7,2)-(7,3) = "="
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_12686.txt b/test/yarp/snapshots/whitequark/ruby_bug_12686.txt
index 020064b7b3..c5d14532cb 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_12686.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_12686.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(1,16))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
- └── @ CallNode (location: (0...16))
+ └── @ CallNode (location: (1,0)-(1,16))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...1) = "f"
+ ├── message_loc: (1,0)-(1,1) = "f"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (2...16))
+ │ @ ArgumentsNode (location: (1,2)-(1,16))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (2...16))
+ │ └── @ ParenthesesNode (location: (1,2)-(1,16))
│ ├── body:
- │ │ @ StatementsNode (location: (3...15))
+ │ │ @ StatementsNode (location: (1,3)-(1,15))
│ │ └── body: (length: 1)
- │ │ └── @ RescueModifierNode (location: (3...15))
+ │ │ └── @ RescueModifierNode (location: (1,3)-(1,15))
│ │ ├── expression:
- │ │ │ @ CallNode (location: (3...4))
+ │ │ │ @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (3...4) = "g"
+ │ │ │ ├── message_loc: (1,3)-(1,4) = "g"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "g"
- │ │ ├── keyword_loc: (5...11) = "rescue"
+ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue"
│ │ └── rescue_expression:
- │ │ @ NilNode (location: (12...15))
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (15...16) = ")"
+ │ │ @ NilNode (location: (1,12)-(1,15))
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,15)-(1,16) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_13547.txt b/test/yarp/snapshots/whitequark/ruby_bug_13547.txt
index b71baf7a29..e370f58367 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_13547.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_13547.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (0...4))
+ │ @ CallNode (location: (1,0)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "meth"
+ │ ├── message_loc: (1,0)-(1,4) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ ├── flags: variable_call
│ └── name: "meth"
├── call_operator_loc: ∅
- ├── message_loc: (4...6) = "[]"
- ├── opening_loc: (4...5) = "["
+ ├── message_loc: (1,4)-(1,6) = "[]"
+ ├── opening_loc: (1,4)-(1,5) = "["
├── arguments: ∅
- ├── closing_loc: (5...6) = "]"
+ ├── closing_loc: (1,5)-(1,6) = "]"
├── block:
- │ @ BlockNode (location: (7...9))
+ │ @ BlockNode (location: (1,7)-(1,9))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (7...8) = "{"
- │ └── closing_loc: (8...9) = "}"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ └── closing_loc: (1,8)-(1,9) = "}"
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_14690.txt b/test/yarp/snapshots/whitequark/ruby_bug_14690.txt
index 46230ca154..949de2297a 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_14690.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_14690.txt
@@ -1,57 +1,57 @@
-@ ProgramNode (location: (0...23))
+@ ProgramNode (location: (1,0)-(1,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...23))
+ @ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
- └── @ CallNode (location: (0...23))
+ └── @ CallNode (location: (1,0)-(1,23))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "let"
+ ├── message_loc: (1,0)-(1,3) = "let"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...6))
+ │ @ ArgumentsNode (location: (1,4)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...6))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
│ ├── body: ∅
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (5...6) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,5)-(1,6) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (7...23))
+ │ @ BlockNode (location: (1,7)-(1,23))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (9...21))
+ │ │ @ StatementsNode (location: (1,9)-(1,21))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (9...21))
+ │ │ └── @ CallNode (location: (1,9)-(1,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...10) = "m"
- │ │ ├── opening_loc: (10...11) = "("
+ │ │ ├── message_loc: (1,9)-(1,10) = "m"
+ │ │ ├── opening_loc: (1,10)-(1,11) = "("
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (11...12))
+ │ │ │ @ ArgumentsNode (location: (1,11)-(1,12))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (11...12))
+ │ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (11...12) = "a"
+ │ │ │ ├── message_loc: (1,11)-(1,12) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "a"
- │ │ ├── closing_loc: (12...13) = ")"
+ │ │ ├── closing_loc: (1,12)-(1,13) = ")"
│ │ ├── block:
- │ │ │ @ BlockNode (location: (14...21))
+ │ │ │ @ BlockNode (location: (1,14)-(1,21))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (14...16) = "do"
- │ │ │ └── closing_loc: (18...21) = "end"
+ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do"
+ │ │ │ └── closing_loc: (1,18)-(1,21) = "end"
│ │ ├── flags: ∅
│ │ └── name: "m"
- │ ├── opening_loc: (7...8) = "{"
- │ └── closing_loc: (22...23) = "}"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ └── closing_loc: (1,22)-(1,23) = "}"
├── flags: ∅
└── name: "let"
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_15789.txt b/test/yarp/snapshots/whitequark/ruby_bug_15789.txt
index d0069b5650..2de0b0f7a9 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_15789.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_15789.txt
@@ -1,42 +1,42 @@
-@ ProgramNode (location: (0...41))
+@ ProgramNode (location: (1,0)-(3,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...41))
+ @ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
- ├── @ CallNode (location: (0...20))
+ ├── @ CallNode (location: (1,0)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "m"
+ │ ├── message_loc: (1,0)-(1,1) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (2...20))
+ │ │ @ ArgumentsNode (location: (1,2)-(1,20))
│ │ └── arguments: (length: 1)
- │ │ └── @ LambdaNode (location: (2...20))
+ │ │ └── @ LambdaNode (location: (1,2)-(1,20))
│ │ ├── locals: [:a]
- │ │ ├── operator_loc: (2...4) = "->"
- │ │ ├── opening_loc: (17...18) = "{"
- │ │ ├── closing_loc: (19...20) = "}"
+ │ │ ├── operator_loc: (1,2)-(1,4) = "->"
+ │ │ ├── opening_loc: (1,17)-(1,18) = "{"
+ │ │ ├── closing_loc: (1,19)-(1,20) = "}"
│ │ ├── parameters:
- │ │ │ @ BlockParametersNode (location: (4...16))
+ │ │ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ │ ├── parameters:
- │ │ │ │ @ ParametersNode (location: (5...15))
+ │ │ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ │ ├── requireds: (length: 0)
│ │ │ │ ├── optionals: (length: 1)
- │ │ │ │ │ └── @ OptionalParameterNode (location: (5...15))
+ │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15))
│ │ │ │ │ ├── name: :a
- │ │ │ │ │ ├── name_loc: (5...6) = "a"
- │ │ │ │ │ ├── operator_loc: (7...8) = "="
+ │ │ │ │ │ ├── name_loc: (1,5)-(1,6) = "a"
+ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ │ └── value:
- │ │ │ │ │ @ LambdaNode (location: (9...15))
+ │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15))
│ │ │ │ │ ├── locals: [:_1]
- │ │ │ │ │ ├── operator_loc: (9...11) = "->"
- │ │ │ │ │ ├── opening_loc: (11...12) = "{"
- │ │ │ │ │ ├── closing_loc: (14...15) = "}"
+ │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->"
+ │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{"
+ │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}"
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ └── body:
- │ │ │ │ │ @ StatementsNode (location: (12...14))
+ │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14))
│ │ │ │ │ └── body: (length: 1)
- │ │ │ │ │ └── @ LocalVariableReadNode (location: (12...14))
+ │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14))
│ │ │ │ │ ├── name: :_1
│ │ │ │ │ └── depth: 0
│ │ │ │ ├── rest: ∅
@@ -45,65 +45,65 @@
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
- │ │ │ ├── opening_loc: (4...5) = "("
- │ │ │ └── closing_loc: (15...16) = ")"
+ │ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ │ └── closing_loc: (1,15)-(1,16) = ")"
│ │ └── body:
- │ │ @ StatementsNode (location: (18...19))
+ │ │ @ StatementsNode (location: (1,18)-(1,19))
│ │ └── body: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (18...19))
+ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19))
│ │ ├── name: :a
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- └── @ CallNode (location: (22...41))
+ └── @ CallNode (location: (3,0)-(3,19))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (22...23) = "m"
+ ├── message_loc: (3,0)-(3,1) = "m"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (24...41))
+ │ @ ArgumentsNode (location: (3,2)-(3,19))
│ └── arguments: (length: 1)
- │ └── @ LambdaNode (location: (24...41))
+ │ └── @ LambdaNode (location: (3,2)-(3,19))
│ ├── locals: [:a]
- │ ├── operator_loc: (24...26) = "->"
- │ ├── opening_loc: (38...39) = "{"
- │ ├── closing_loc: (40...41) = "}"
+ │ ├── operator_loc: (3,2)-(3,4) = "->"
+ │ ├── opening_loc: (3,16)-(3,17) = "{"
+ │ ├── closing_loc: (3,18)-(3,19) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (26...37))
+ │ │ @ BlockParametersNode (location: (3,4)-(3,15))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (27...36))
+ │ │ │ @ ParametersNode (location: (3,5)-(3,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (27...36))
+ │ │ │ │ └── @ KeywordParameterNode (location: (3,5)-(3,14))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (27...29) = "a:"
+ │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:"
│ │ │ │ └── value:
- │ │ │ │ @ LambdaNode (location: (30...36))
+ │ │ │ │ @ LambdaNode (location: (3,8)-(3,14))
│ │ │ │ ├── locals: [:_1]
- │ │ │ │ ├── operator_loc: (30...32) = "->"
- │ │ │ │ ├── opening_loc: (32...33) = "{"
- │ │ │ │ ├── closing_loc: (35...36) = "}"
+ │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->"
+ │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{"
+ │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}"
│ │ │ │ ├── parameters: ∅
│ │ │ │ └── body:
- │ │ │ │ @ StatementsNode (location: (33...35))
+ │ │ │ │ @ StatementsNode (location: (3,11)-(3,13))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ LocalVariableReadNode (location: (33...35))
+ │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13))
│ │ │ │ ├── name: :_1
│ │ │ │ └── depth: 0
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (26...27) = "("
- │ │ └── closing_loc: (36...37) = ")"
+ │ │ ├── opening_loc: (3,4)-(3,5) = "("
+ │ │ └── closing_loc: (3,14)-(3,15) = ")"
│ └── body:
- │ @ StatementsNode (location: (39...40))
+ │ @ StatementsNode (location: (3,17)-(3,18))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (39...40))
+ │ └── @ LocalVariableReadNode (location: (3,17)-(3,18))
│ ├── name: :a
│ └── depth: 0
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/ruby_bug_9669.txt b/test/yarp/snapshots/whitequark/ruby_bug_9669.txt
index 766395f1fd..62a25ef2ce 100644
--- a/test/yarp/snapshots/whitequark/ruby_bug_9669.txt
+++ b/test/yarp/snapshots/whitequark/ruby_bug_9669.txt
@@ -1,56 +1,56 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(8,1))
├── locals: [:o]
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(8,1))
└── body: (length: 2)
- ├── @ DefNode (location: (0...19))
+ ├── @ DefNode (location: (1,0)-(3,3))
│ ├── name: :a
- │ ├── name_loc: (4...5) = "a"
+ │ ├── name_loc: (1,4)-(1,5) = "a"
│ ├── receiver: ∅
│ ├── parameters:
- │ │ @ ParametersNode (location: (6...8))
+ │ │ @ ParametersNode (location: (1,6)-(1,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (6...8))
+ │ │ │ └── @ KeywordParameterNode (location: (1,6)-(1,8))
│ │ │ ├── name: :b
- │ │ │ ├── name_loc: (6...8) = "b:"
+ │ │ │ ├── name_loc: (1,6)-(1,8) = "b:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body:
- │ │ @ StatementsNode (location: (9...15))
+ │ │ @ StatementsNode (location: (2,0)-(2,6))
│ │ └── body: (length: 1)
- │ │ └── @ ReturnNode (location: (9...15))
- │ │ ├── keyword_loc: (9...15) = "return"
+ │ │ └── @ ReturnNode (location: (2,0)-(2,6))
+ │ │ ├── keyword_loc: (2,0)-(2,6) = "return"
│ │ └── arguments: ∅
│ ├── locals: [:b]
- │ ├── def_keyword_loc: (0...3) = "def"
+ │ ├── def_keyword_loc: (1,0)-(1,3) = "def"
│ ├── operator_loc: ∅
│ ├── lparen_loc: ∅
│ ├── rparen_loc: ∅
│ ├── equal_loc: ∅
- │ └── end_keyword_loc: (16...19) = "end"
- └── @ LocalVariableWriteNode (location: (21...33))
+ │ └── end_keyword_loc: (3,0)-(3,3) = "end"
+ └── @ LocalVariableWriteNode (location: (5,0)-(8,1))
├── name: :o
├── depth: 0
- ├── name_loc: (21...22) = "o"
+ ├── name_loc: (5,0)-(5,1) = "o"
├── value:
- │ @ HashNode (location: (25...33))
- │ ├── opening_loc: (25...26) = "{"
+ │ @ HashNode (location: (5,4)-(8,1))
+ │ ├── opening_loc: (5,4)-(5,5) = "{"
│ ├── elements: (length: 1)
- │ │ └── @ AssocNode (location: (27...31))
+ │ │ └── @ AssocNode (location: (6,0)-(7,1))
│ │ ├── key:
- │ │ │ @ SymbolNode (location: (27...29))
+ │ │ │ @ SymbolNode (location: (6,0)-(6,2))
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── value_loc: (27...28) = "a"
- │ │ │ ├── closing_loc: (28...29) = ":"
+ │ │ │ ├── value_loc: (6,0)-(6,1) = "a"
+ │ │ │ ├── closing_loc: (6,1)-(6,2) = ":"
│ │ │ └── unescaped: "a"
│ │ ├── value:
- │ │ │ @ IntegerNode (location: (30...31))
+ │ │ │ @ IntegerNode (location: (7,0)-(7,1))
│ │ │ └── flags: decimal
│ │ └── operator_loc: ∅
- │ └── closing_loc: (32...33) = "}"
- └── operator_loc: (23...24) = "="
+ │ └── closing_loc: (8,0)-(8,1) = "}"
+ └── operator_loc: (5,2)-(5,3) = "="
diff --git a/test/yarp/snapshots/whitequark/sclass.txt b/test/yarp/snapshots/whitequark/sclass.txt
index 2b763a0353..81584a8ca6 100644
--- a/test/yarp/snapshots/whitequark/sclass.txt
+++ b/test/yarp/snapshots/whitequark/sclass.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(1,22))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
- └── @ SingletonClassNode (location: (0...22))
+ └── @ SingletonClassNode (location: (1,0)-(1,22))
├── locals: []
- ├── class_keyword_loc: (0...5) = "class"
- ├── operator_loc: (6...8) = "<<"
+ ├── class_keyword_loc: (1,0)-(1,5) = "class"
+ ├── operator_loc: (1,6)-(1,8) = "<<"
├── expression:
- │ @ CallNode (location: (9...12))
+ │ @ CallNode (location: (1,9)-(1,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...12) = "foo"
+ │ ├── message_loc: (1,9)-(1,12) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -19,7 +19,7 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── body:
- │ @ StatementsNode (location: (14...17))
+ │ @ StatementsNode (location: (1,14)-(1,17))
│ └── body: (length: 1)
- │ └── @ NilNode (location: (14...17))
- └── end_keyword_loc: (19...22) = "end"
+ │ └── @ NilNode (location: (1,14)-(1,17))
+ └── end_keyword_loc: (1,19)-(1,22) = "end"
diff --git a/test/yarp/snapshots/whitequark/self.txt b/test/yarp/snapshots/whitequark/self.txt
index 671273750e..c69f8fa8c5 100644
--- a/test/yarp/snapshots/whitequark/self.txt
+++ b/test/yarp/snapshots/whitequark/self.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ SelfNode (location: (0...4))
+ └── @ SelfNode (location: (1,0)-(1,4))
diff --git a/test/yarp/snapshots/whitequark/send_attr_asgn.txt b/test/yarp/snapshots/whitequark/send_attr_asgn.txt
index 63e2c933d4..2f005fb4dc 100644
--- a/test/yarp/snapshots/whitequark/send_attr_asgn.txt
+++ b/test/yarp/snapshots/whitequark/send_attr_asgn.txt
@@ -1,64 +1,64 @@
-@ ProgramNode (location: (0...44))
+@ ProgramNode (location: (1,0)-(7,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...44))
+ @ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
- ├── @ CallNode (location: (0...9))
+ ├── @ CallNode (location: (1,0)-(1,9))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...5) = "A"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,5) = "A"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...9))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (8...9))
+ │ │ └── @ IntegerNode (location: (1,8)-(1,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "A="
- ├── @ CallNode (location: (11...20))
+ ├── @ CallNode (location: (3,0)-(3,9))
│ ├── receiver:
- │ │ @ CallNode (location: (11...14))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (11...14) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (14...15) = "."
- │ ├── message_loc: (15...16) = "a"
+ │ ├── call_operator_loc: (3,3)-(3,4) = "."
+ │ ├── message_loc: (3,4)-(3,5) = "a"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (19...20))
+ │ │ @ ArgumentsNode (location: (3,8)-(3,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (19...20))
+ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "a="
- ├── @ ConstantPathWriteNode (location: (22...32))
+ ├── @ ConstantPathWriteNode (location: (5,0)-(5,10))
│ ├── target:
- │ │ @ ConstantPathNode (location: (22...28))
+ │ │ @ ConstantPathNode (location: (5,0)-(5,6))
│ │ ├── parent:
- │ │ │ @ CallNode (location: (22...25))
+ │ │ │ @ CallNode (location: (5,0)-(5,3))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (22...25) = "foo"
+ │ │ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -66,32 +66,32 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "foo"
│ │ ├── child:
- │ │ │ @ ConstantReadNode (location: (27...28))
+ │ │ │ @ ConstantReadNode (location: (5,5)-(5,6))
│ │ │ └── name: :A
- │ │ └── delimiter_loc: (25...27) = "::"
- │ ├── operator_loc: (29...30) = "="
+ │ │ └── delimiter_loc: (5,3)-(5,5) = "::"
+ │ ├── operator_loc: (5,7)-(5,8) = "="
│ └── value:
- │ @ IntegerNode (location: (31...32))
+ │ @ IntegerNode (location: (5,9)-(5,10))
│ └── flags: decimal
- └── @ CallNode (location: (34...44))
+ └── @ CallNode (location: (7,0)-(7,10))
├── receiver:
- │ @ CallNode (location: (34...37))
+ │ @ CallNode (location: (7,0)-(7,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (34...37) = "foo"
+ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (37...39) = "::"
- ├── message_loc: (39...40) = "a"
+ ├── call_operator_loc: (7,3)-(7,5) = "::"
+ ├── message_loc: (7,5)-(7,6) = "a"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (43...44))
+ │ @ ArgumentsNode (location: (7,9)-(7,10))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (43...44))
+ │ └── @ IntegerNode (location: (7,9)-(7,10))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/send_attr_asgn_conditional.txt b/test/yarp/snapshots/whitequark/send_attr_asgn_conditional.txt
index 6624bb372b..e6ea102a26 100644
--- a/test/yarp/snapshots/whitequark/send_attr_asgn_conditional.txt
+++ b/test/yarp/snapshots/whitequark/send_attr_asgn_conditional.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(1,8))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (7...8))
+ │ @ ArgumentsNode (location: (1,7)-(1,8))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/send_binary_op.txt b/test/yarp/snapshots/whitequark/send_binary_op.txt
index 4d88bc18ee..d0b3aedae8 100644
--- a/test/yarp/snapshots/whitequark/send_binary_op.txt
+++ b/test/yarp/snapshots/whitequark/send_binary_op.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...200))
+@ ProgramNode (location: (1,0)-(41,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...200))
+ @ StatementsNode (location: (1,0)-(41,7))
└── body: (length: 21)
- ├── @ CallNode (location: (0...8))
+ ├── @ CallNode (location: (1,0)-(1,8))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,23 +16,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...6) = "!="
+ │ ├── message_loc: (1,4)-(1,6) = "!="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (7...8))
+ │ │ @ ArgumentsNode (location: (1,7)-(1,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (7...8))
+ │ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!="
- ├── @ CallNode (location: (10...18))
+ ├── @ CallNode (location: (3,0)-(3,8))
│ ├── receiver:
- │ │ @ CallNode (location: (10...13))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (10...13) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -40,23 +40,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (14...16) = "!~"
+ │ ├── message_loc: (3,4)-(3,6) = "!~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (17...18))
+ │ │ @ ArgumentsNode (location: (3,7)-(3,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (17...18))
+ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "!~"
- ├── @ CallNode (location: (20...27))
+ ├── @ CallNode (location: (5,0)-(5,7))
│ ├── receiver:
- │ │ @ CallNode (location: (20...23))
+ │ │ @ CallNode (location: (5,0)-(5,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...23) = "foo"
+ │ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -64,23 +64,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (24...25) = "%"
+ │ ├── message_loc: (5,4)-(5,5) = "%"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (26...27))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (26...27))
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "%"
- ├── @ CallNode (location: (29...36))
+ ├── @ CallNode (location: (7,0)-(7,7))
│ ├── receiver:
- │ │ @ CallNode (location: (29...32))
+ │ │ @ CallNode (location: (7,0)-(7,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (29...32) = "foo"
+ │ │ ├── message_loc: (7,0)-(7,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -88,23 +88,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...34) = "&"
+ │ ├── message_loc: (7,4)-(7,5) = "&"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (35...36))
+ │ │ @ ArgumentsNode (location: (7,6)-(7,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (35...36))
+ │ │ └── @ IntegerNode (location: (7,6)-(7,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "&"
- ├── @ CallNode (location: (38...45))
+ ├── @ CallNode (location: (9,0)-(9,7))
│ ├── receiver:
- │ │ @ CallNode (location: (38...41))
+ │ │ @ CallNode (location: (9,0)-(9,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (38...41) = "foo"
+ │ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -112,23 +112,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (42...43) = "*"
+ │ ├── message_loc: (9,4)-(9,5) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (44...45))
+ │ │ @ ArgumentsNode (location: (9,6)-(9,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (44...45))
+ │ │ └── @ IntegerNode (location: (9,6)-(9,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "*"
- ├── @ CallNode (location: (47...55))
+ ├── @ CallNode (location: (11,0)-(11,8))
│ ├── receiver:
- │ │ @ CallNode (location: (47...50))
+ │ │ @ CallNode (location: (11,0)-(11,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (47...50) = "foo"
+ │ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -136,23 +136,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (51...53) = "**"
+ │ ├── message_loc: (11,4)-(11,6) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (54...55))
+ │ │ @ ArgumentsNode (location: (11,7)-(11,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (54...55))
+ │ │ └── @ IntegerNode (location: (11,7)-(11,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
- ├── @ CallNode (location: (57...64))
+ ├── @ CallNode (location: (13,0)-(13,7))
│ ├── receiver:
- │ │ @ CallNode (location: (57...60))
+ │ │ @ CallNode (location: (13,0)-(13,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (57...60) = "foo"
+ │ │ ├── message_loc: (13,0)-(13,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -160,23 +160,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (61...62) = "+"
+ │ ├── message_loc: (13,4)-(13,5) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (63...64))
+ │ │ @ ArgumentsNode (location: (13,6)-(13,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (63...64))
+ │ │ └── @ IntegerNode (location: (13,6)-(13,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+"
- ├── @ CallNode (location: (66...73))
+ ├── @ CallNode (location: (15,0)-(15,7))
│ ├── receiver:
- │ │ @ CallNode (location: (66...69))
+ │ │ @ CallNode (location: (15,0)-(15,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (66...69) = "foo"
+ │ │ ├── message_loc: (15,0)-(15,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -184,23 +184,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (70...71) = "-"
+ │ ├── message_loc: (15,4)-(15,5) = "-"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (72...73))
+ │ │ @ ArgumentsNode (location: (15,6)-(15,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (72...73))
+ │ │ └── @ IntegerNode (location: (15,6)-(15,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-"
- ├── @ CallNode (location: (75...82))
+ ├── @ CallNode (location: (17,0)-(17,7))
│ ├── receiver:
- │ │ @ CallNode (location: (75...78))
+ │ │ @ CallNode (location: (17,0)-(17,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (75...78) = "foo"
+ │ │ ├── message_loc: (17,0)-(17,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -208,23 +208,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (79...80) = "/"
+ │ ├── message_loc: (17,4)-(17,5) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (81...82))
+ │ │ @ ArgumentsNode (location: (17,6)-(17,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (81...82))
+ │ │ └── @ IntegerNode (location: (17,6)-(17,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "/"
- ├── @ CallNode (location: (84...91))
+ ├── @ CallNode (location: (19,0)-(19,7))
│ ├── receiver:
- │ │ @ CallNode (location: (84...87))
+ │ │ @ CallNode (location: (19,0)-(19,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (84...87) = "foo"
+ │ │ ├── message_loc: (19,0)-(19,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -232,23 +232,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (88...89) = "<"
+ │ ├── message_loc: (19,4)-(19,5) = "<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (90...91))
+ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (90...91))
+ │ │ └── @ IntegerNode (location: (19,6)-(19,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<"
- ├── @ CallNode (location: (93...101))
+ ├── @ CallNode (location: (21,0)-(21,8))
│ ├── receiver:
- │ │ @ CallNode (location: (93...96))
+ │ │ @ CallNode (location: (21,0)-(21,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (93...96) = "foo"
+ │ │ ├── message_loc: (21,0)-(21,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -256,23 +256,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (97...99) = "<<"
+ │ ├── message_loc: (21,4)-(21,6) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (100...101))
+ │ │ @ ArgumentsNode (location: (21,7)-(21,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (100...101))
+ │ │ └── @ IntegerNode (location: (21,7)-(21,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<<"
- ├── @ CallNode (location: (103...111))
+ ├── @ CallNode (location: (23,0)-(23,8))
│ ├── receiver:
- │ │ @ CallNode (location: (103...106))
+ │ │ @ CallNode (location: (23,0)-(23,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (103...106) = "foo"
+ │ │ ├── message_loc: (23,0)-(23,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -280,23 +280,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (107...109) = "<="
+ │ ├── message_loc: (23,4)-(23,6) = "<="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (110...111))
+ │ │ @ ArgumentsNode (location: (23,7)-(23,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (110...111))
+ │ │ └── @ IntegerNode (location: (23,7)-(23,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<="
- ├── @ CallNode (location: (113...122))
+ ├── @ CallNode (location: (25,0)-(25,9))
│ ├── receiver:
- │ │ @ CallNode (location: (113...116))
+ │ │ @ CallNode (location: (25,0)-(25,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (113...116) = "foo"
+ │ │ ├── message_loc: (25,0)-(25,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -304,23 +304,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (117...120) = "<=>"
+ │ ├── message_loc: (25,4)-(25,7) = "<=>"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (121...122))
+ │ │ @ ArgumentsNode (location: (25,8)-(25,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (121...122))
+ │ │ └── @ IntegerNode (location: (25,8)-(25,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "<=>"
- ├── @ CallNode (location: (124...132))
+ ├── @ CallNode (location: (27,0)-(27,8))
│ ├── receiver:
- │ │ @ CallNode (location: (124...127))
+ │ │ @ CallNode (location: (27,0)-(27,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (124...127) = "foo"
+ │ │ ├── message_loc: (27,0)-(27,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -328,23 +328,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (128...130) = "=="
+ │ ├── message_loc: (27,4)-(27,6) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (131...132))
+ │ │ @ ArgumentsNode (location: (27,7)-(27,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (131...132))
+ │ │ └── @ IntegerNode (location: (27,7)-(27,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=="
- ├── @ CallNode (location: (134...143))
+ ├── @ CallNode (location: (29,0)-(29,9))
│ ├── receiver:
- │ │ @ CallNode (location: (134...137))
+ │ │ @ CallNode (location: (29,0)-(29,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (134...137) = "foo"
+ │ │ ├── message_loc: (29,0)-(29,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -352,23 +352,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (138...141) = "==="
+ │ ├── message_loc: (29,4)-(29,7) = "==="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (142...143))
+ │ │ @ ArgumentsNode (location: (29,8)-(29,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (142...143))
+ │ │ └── @ IntegerNode (location: (29,8)-(29,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "==="
- ├── @ CallNode (location: (145...153))
+ ├── @ CallNode (location: (31,0)-(31,8))
│ ├── receiver:
- │ │ @ CallNode (location: (145...148))
+ │ │ @ CallNode (location: (31,0)-(31,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (145...148) = "foo"
+ │ │ ├── message_loc: (31,0)-(31,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -376,23 +376,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (149...151) = "=~"
+ │ ├── message_loc: (31,4)-(31,6) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (152...153))
+ │ │ @ ArgumentsNode (location: (31,7)-(31,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (152...153))
+ │ │ └── @ IntegerNode (location: (31,7)-(31,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "=~"
- ├── @ CallNode (location: (155...162))
+ ├── @ CallNode (location: (33,0)-(33,7))
│ ├── receiver:
- │ │ @ CallNode (location: (155...158))
+ │ │ @ CallNode (location: (33,0)-(33,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (155...158) = "foo"
+ │ │ ├── message_loc: (33,0)-(33,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -400,23 +400,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (159...160) = ">"
+ │ ├── message_loc: (33,4)-(33,5) = ">"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (161...162))
+ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (161...162))
+ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">"
- ├── @ CallNode (location: (164...172))
+ ├── @ CallNode (location: (35,0)-(35,8))
│ ├── receiver:
- │ │ @ CallNode (location: (164...167))
+ │ │ @ CallNode (location: (35,0)-(35,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (164...167) = "foo"
+ │ │ ├── message_loc: (35,0)-(35,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -424,23 +424,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (168...170) = ">="
+ │ ├── message_loc: (35,4)-(35,6) = ">="
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (171...172))
+ │ │ @ ArgumentsNode (location: (35,7)-(35,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (171...172))
+ │ │ └── @ IntegerNode (location: (35,7)-(35,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">="
- ├── @ CallNode (location: (174...182))
+ ├── @ CallNode (location: (37,0)-(37,8))
│ ├── receiver:
- │ │ @ CallNode (location: (174...177))
+ │ │ @ CallNode (location: (37,0)-(37,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (174...177) = "foo"
+ │ │ ├── message_loc: (37,0)-(37,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -448,23 +448,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (178...180) = ">>"
+ │ ├── message_loc: (37,4)-(37,6) = ">>"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (181...182))
+ │ │ @ ArgumentsNode (location: (37,7)-(37,8))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (181...182))
+ │ │ └── @ IntegerNode (location: (37,7)-(37,8))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: ">>"
- ├── @ CallNode (location: (184...191))
+ ├── @ CallNode (location: (39,0)-(39,7))
│ ├── receiver:
- │ │ @ CallNode (location: (184...187))
+ │ │ @ CallNode (location: (39,0)-(39,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (184...187) = "foo"
+ │ │ ├── message_loc: (39,0)-(39,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -472,23 +472,23 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (188...189) = "^"
+ │ ├── message_loc: (39,4)-(39,5) = "^"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (190...191))
+ │ │ @ ArgumentsNode (location: (39,6)-(39,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (190...191))
+ │ │ └── @ IntegerNode (location: (39,6)-(39,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "^"
- └── @ CallNode (location: (193...200))
+ └── @ CallNode (location: (41,0)-(41,7))
├── receiver:
- │ @ CallNode (location: (193...196))
+ │ @ CallNode (location: (41,0)-(41,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (193...196) = "foo"
+ │ ├── message_loc: (41,0)-(41,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -496,12 +496,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (197...198) = "|"
+ ├── message_loc: (41,4)-(41,5) = "|"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (199...200))
+ │ @ ArgumentsNode (location: (41,6)-(41,7))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (199...200))
+ │ └── @ IntegerNode (location: (41,6)-(41,7))
│ └── flags: decimal
├── closing_loc: ∅
├── block: ∅
diff --git a/test/yarp/snapshots/whitequark/send_block_chain_cmd.txt b/test/yarp/snapshots/whitequark/send_block_chain_cmd.txt
index 95edb0751f..c82d388037 100644
--- a/test/yarp/snapshots/whitequark/send_block_chain_cmd.txt
+++ b/test/yarp/snapshots/whitequark/send_block_chain_cmd.txt
@@ -1,40 +1,40 @@
-@ ProgramNode (location: (0...173))
+@ ProgramNode (location: (1,0)-(13,23))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...173))
+ @ StatementsNode (location: (1,0)-(13,23))
└── body: (length: 7)
- ├── @ CallNode (location: (0...21))
+ ├── @ CallNode (location: (1,0)-(1,21))
│ ├── receiver:
- │ │ @ CallNode (location: (0...13))
+ │ │ @ CallNode (location: (1,0)-(1,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...4) = "meth"
+ │ │ ├── message_loc: (1,0)-(1,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (5...6))
+ │ │ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5...6))
+ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (7...13))
+ │ │ │ @ BlockNode (location: (1,7)-(1,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (7...9) = "do"
- │ │ │ └── closing_loc: (10...13) = "end"
+ │ │ │ ├── opening_loc: (1,7)-(1,9) = "do"
+ │ │ │ └── closing_loc: (1,10)-(1,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (13...14) = "."
- │ ├── message_loc: (14...17) = "fun"
+ │ ├── call_operator_loc: (1,13)-(1,14) = "."
+ │ ├── message_loc: (1,14)-(1,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (18...21))
+ │ │ @ ArgumentsNode (location: (1,18)-(1,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (18...21))
+ │ │ └── @ CallNode (location: (1,18)-(1,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (18...21) = "bar"
+ │ │ ├── message_loc: (1,18)-(1,21) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -45,38 +45,38 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (23...51))
+ ├── @ CallNode (location: (3,0)-(3,28))
│ ├── receiver:
- │ │ @ CallNode (location: (23...36))
+ │ │ @ CallNode (location: (3,0)-(3,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (23...27) = "meth"
+ │ │ ├── message_loc: (3,0)-(3,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (28...29))
+ │ │ │ @ ArgumentsNode (location: (3,5)-(3,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (28...29))
+ │ │ │ └── @ IntegerNode (location: (3,5)-(3,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (30...36))
+ │ │ │ @ BlockNode (location: (3,7)-(3,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (30...32) = "do"
- │ │ │ └── closing_loc: (33...36) = "end"
+ │ │ │ ├── opening_loc: (3,7)-(3,9) = "do"
+ │ │ │ └── closing_loc: (3,10)-(3,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (36...37) = "."
- │ ├── message_loc: (37...40) = "fun"
+ │ ├── call_operator_loc: (3,13)-(3,14) = "."
+ │ ├── message_loc: (3,14)-(3,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (41...44))
+ │ │ @ ArgumentsNode (location: (3,18)-(3,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (41...44))
+ │ │ └── @ CallNode (location: (3,18)-(3,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (41...44) = "bar"
+ │ │ ├── message_loc: (3,18)-(3,21) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -85,172 +85,172 @@
│ │ └── name: "bar"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (45...51))
+ │ │ @ BlockNode (location: (3,22)-(3,28))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (45...47) = "do"
- │ │ └── closing_loc: (48...51) = "end"
+ │ │ ├── opening_loc: (3,22)-(3,24) = "do"
+ │ │ └── closing_loc: (3,25)-(3,28) = "end"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (53...73))
+ ├── @ CallNode (location: (5,0)-(5,20))
│ ├── receiver:
- │ │ @ CallNode (location: (53...66))
+ │ │ @ CallNode (location: (5,0)-(5,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (53...57) = "meth"
+ │ │ ├── message_loc: (5,0)-(5,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (58...59))
+ │ │ │ @ ArgumentsNode (location: (5,5)-(5,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (58...59))
+ │ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (60...66))
+ │ │ │ @ BlockNode (location: (5,7)-(5,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (60...62) = "do"
- │ │ │ └── closing_loc: (63...66) = "end"
+ │ │ │ ├── opening_loc: (5,7)-(5,9) = "do"
+ │ │ │ └── closing_loc: (5,10)-(5,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (66...67) = "."
- │ ├── message_loc: (67...70) = "fun"
+ │ ├── call_operator_loc: (5,13)-(5,14) = "."
+ │ ├── message_loc: (5,14)-(5,17) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (71...73))
+ │ │ @ BlockNode (location: (5,18)-(5,20))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (71...72) = "{"
- │ │ └── closing_loc: (72...73) = "}"
+ │ │ ├── opening_loc: (5,18)-(5,19) = "{"
+ │ │ └── closing_loc: (5,19)-(5,20) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (75...97))
+ ├── @ CallNode (location: (7,0)-(7,22))
│ ├── receiver:
- │ │ @ CallNode (location: (75...88))
+ │ │ @ CallNode (location: (7,0)-(7,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (75...79) = "meth"
+ │ │ ├── message_loc: (7,0)-(7,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (80...81))
+ │ │ │ @ ArgumentsNode (location: (7,5)-(7,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (80...81))
+ │ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (82...88))
+ │ │ │ @ BlockNode (location: (7,7)-(7,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (82...84) = "do"
- │ │ │ └── closing_loc: (85...88) = "end"
+ │ │ │ ├── opening_loc: (7,7)-(7,9) = "do"
+ │ │ │ └── closing_loc: (7,10)-(7,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (88...89) = "."
- │ ├── message_loc: (89...92) = "fun"
- │ ├── opening_loc: (92...93) = "("
+ │ ├── call_operator_loc: (7,13)-(7,14) = "."
+ │ ├── message_loc: (7,14)-(7,17) = "fun"
+ │ ├── opening_loc: (7,17)-(7,18) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (93...96))
+ │ │ @ ArgumentsNode (location: (7,18)-(7,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (93...96))
+ │ │ └── @ CallNode (location: (7,18)-(7,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (93...96) = "bar"
+ │ │ ├── message_loc: (7,18)-(7,21) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (96...97) = ")"
+ │ ├── closing_loc: (7,21)-(7,22) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (99...124))
+ ├── @ CallNode (location: (9,0)-(9,25))
│ ├── receiver:
- │ │ @ CallNode (location: (99...112))
+ │ │ @ CallNode (location: (9,0)-(9,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (99...103) = "meth"
+ │ │ ├── message_loc: (9,0)-(9,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (104...105))
+ │ │ │ @ ArgumentsNode (location: (9,5)-(9,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (104...105))
+ │ │ │ └── @ IntegerNode (location: (9,5)-(9,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (106...112))
+ │ │ │ @ BlockNode (location: (9,7)-(9,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (106...108) = "do"
- │ │ │ └── closing_loc: (109...112) = "end"
+ │ │ │ ├── opening_loc: (9,7)-(9,9) = "do"
+ │ │ │ └── closing_loc: (9,10)-(9,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (112...113) = "."
- │ ├── message_loc: (113...116) = "fun"
- │ ├── opening_loc: (116...117) = "("
+ │ ├── call_operator_loc: (9,13)-(9,14) = "."
+ │ ├── message_loc: (9,14)-(9,17) = "fun"
+ │ ├── opening_loc: (9,17)-(9,18) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (117...120))
+ │ │ @ ArgumentsNode (location: (9,18)-(9,21))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (117...120))
+ │ │ └── @ CallNode (location: (9,18)-(9,21))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (117...120) = "bar"
+ │ │ ├── message_loc: (9,18)-(9,21) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ ├── closing_loc: (120...121) = ")"
+ │ ├── closing_loc: (9,21)-(9,22) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (122...124))
+ │ │ @ BlockNode (location: (9,23)-(9,25))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (122...123) = "{"
- │ │ └── closing_loc: (123...124) = "}"
+ │ │ ├── opening_loc: (9,23)-(9,24) = "{"
+ │ │ └── closing_loc: (9,24)-(9,25) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (126...148))
+ ├── @ CallNode (location: (11,0)-(11,22))
│ ├── receiver:
- │ │ @ CallNode (location: (126...139))
+ │ │ @ CallNode (location: (11,0)-(11,13))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (126...130) = "meth"
+ │ │ ├── message_loc: (11,0)-(11,4) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (131...132))
+ │ │ │ @ ArgumentsNode (location: (11,5)-(11,6))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (131...132))
+ │ │ │ └── @ IntegerNode (location: (11,5)-(11,6))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block:
- │ │ │ @ BlockNode (location: (133...139))
+ │ │ │ @ BlockNode (location: (11,7)-(11,13))
│ │ │ ├── locals: []
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
- │ │ │ ├── opening_loc: (133...135) = "do"
- │ │ │ └── closing_loc: (136...139) = "end"
+ │ │ │ ├── opening_loc: (11,7)-(11,9) = "do"
+ │ │ │ └── closing_loc: (11,10)-(11,13) = "end"
│ │ ├── flags: ∅
│ │ └── name: "meth"
- │ ├── call_operator_loc: (139...141) = "::"
- │ ├── message_loc: (141...144) = "fun"
+ │ ├── call_operator_loc: (11,13)-(11,15) = "::"
+ │ ├── message_loc: (11,15)-(11,18) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (145...148))
+ │ │ @ ArgumentsNode (location: (11,19)-(11,22))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (145...148))
+ │ │ └── @ CallNode (location: (11,19)-(11,22))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (145...148) = "bar"
+ │ │ ├── message_loc: (11,19)-(11,22) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -261,45 +261,45 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (150...173))
+ └── @ CallNode (location: (13,0)-(13,23))
├── receiver:
- │ @ CallNode (location: (150...163))
+ │ @ CallNode (location: (13,0)-(13,13))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (150...154) = "meth"
+ │ ├── message_loc: (13,0)-(13,4) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (155...156))
+ │ │ @ ArgumentsNode (location: (13,5)-(13,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (155...156))
+ │ │ └── @ IntegerNode (location: (13,5)-(13,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (157...163))
+ │ │ @ BlockNode (location: (13,7)-(13,13))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (157...159) = "do"
- │ │ └── closing_loc: (160...163) = "end"
+ │ │ ├── opening_loc: (13,7)-(13,9) = "do"
+ │ │ └── closing_loc: (13,10)-(13,13) = "end"
│ ├── flags: ∅
│ └── name: "meth"
- ├── call_operator_loc: (163...165) = "::"
- ├── message_loc: (165...168) = "fun"
- ├── opening_loc: (168...169) = "("
+ ├── call_operator_loc: (13,13)-(13,15) = "::"
+ ├── message_loc: (13,15)-(13,18) = "fun"
+ ├── opening_loc: (13,18)-(13,19) = "("
├── arguments:
- │ @ ArgumentsNode (location: (169...172))
+ │ @ ArgumentsNode (location: (13,19)-(13,22))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (169...172))
+ │ └── @ CallNode (location: (13,19)-(13,22))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (169...172) = "bar"
+ │ ├── message_loc: (13,19)-(13,22) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "bar"
- ├── closing_loc: (172...173) = ")"
+ ├── closing_loc: (13,22)-(13,23) = ")"
├── block: ∅
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/send_block_conditional.txt b/test/yarp/snapshots/whitequark/send_block_conditional.txt
index 7e8570168f..5fc2660cf7 100644
--- a/test/yarp/snapshots/whitequark/send_block_conditional.txt
+++ b/test/yarp/snapshots/whitequark/send_block_conditional.txt
@@ -1,31 +1,31 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (3...5) = "&."
- ├── message_loc: (5...8) = "bar"
+ ├── call_operator_loc: (1,3)-(1,5) = "&."
+ ├── message_loc: (1,5)-(1,8) = "bar"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (9...11))
+ │ @ BlockNode (location: (1,9)-(1,11))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (9...10) = "{"
- │ └── closing_loc: (10...11) = "}"
+ │ ├── opening_loc: (1,9)-(1,10) = "{"
+ │ └── closing_loc: (1,10)-(1,11) = "}"
├── flags: safe_navigation
└── name: "bar"
diff --git a/test/yarp/snapshots/whitequark/send_call.txt b/test/yarp/snapshots/whitequark/send_call.txt
index 425f16624e..639381d9e5 100644
--- a/test/yarp/snapshots/whitequark/send_call.txt
+++ b/test/yarp/snapshots/whitequark/send_call.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(3,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
│ ├── message_loc: ∅
- │ ├── opening_loc: (4...5) = "("
+ │ ├── opening_loc: (1,4)-(1,5) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (5...6))
+ │ │ @ ArgumentsNode (location: (1,5)-(1,6))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (5...6))
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ ├── closing_loc: (6...7) = ")"
+ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "call"
- └── @ CallNode (location: (9...17))
+ └── @ CallNode (location: (3,0)-(3,8))
├── receiver:
- │ @ CallNode (location: (9...12))
+ │ @ CallNode (location: (3,0)-(3,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (9...12) = "foo"
+ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (12...14) = "::"
+ ├── call_operator_loc: (3,3)-(3,5) = "::"
├── message_loc: ∅
- ├── opening_loc: (14...15) = "("
+ ├── opening_loc: (3,5)-(3,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (15...16))
+ │ @ ArgumentsNode (location: (3,6)-(3,7))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (15...16))
+ │ └── @ IntegerNode (location: (3,6)-(3,7))
│ └── flags: decimal
- ├── closing_loc: (16...17) = ")"
+ ├── closing_loc: (3,7)-(3,8) = ")"
├── block: ∅
├── flags: ∅
└── name: "call"
diff --git a/test/yarp/snapshots/whitequark/send_conditional.txt b/test/yarp/snapshots/whitequark/send_conditional.txt
index 281a3e3df6..cf7412a9fa 100644
--- a/test/yarp/snapshots/whitequark/send_conditional.txt
+++ b/test/yarp/snapshots/whitequark/send_conditional.txt
@@ -1,22 +1,22 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ CallNode (location: (0...4))
+ └── @ CallNode (location: (1,0)-(1,4))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/send_index.txt b/test/yarp/snapshots/whitequark/send_index.txt
index 696056d542..1689635083 100644
--- a/test/yarp/snapshots/whitequark/send_index.txt
+++ b/test/yarp/snapshots/whitequark/send_index.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[1, 2]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[1, 2]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/send_index_asgn.txt b/test/yarp/snapshots/whitequark/send_index_asgn.txt
index d5bcd0e1db..190b6b4eb4 100644
--- a/test/yarp/snapshots/whitequark/send_index_asgn.txt
+++ b/test/yarp/snapshots/whitequark/send_index_asgn.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,18 +16,18 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[1, 2]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[1, 2]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...13))
+ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (7...8))
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (12...13))
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/whitequark/send_index_asgn_legacy.txt b/test/yarp/snapshots/whitequark/send_index_asgn_legacy.txt
index d5bcd0e1db..190b6b4eb4 100644
--- a/test/yarp/snapshots/whitequark/send_index_asgn_legacy.txt
+++ b/test/yarp/snapshots/whitequark/send_index_asgn_legacy.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
- └── @ CallNode (location: (0...13))
+ └── @ CallNode (location: (1,0)-(1,13))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,18 +16,18 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[1, 2]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[1, 2]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...13))
+ │ @ ArgumentsNode (location: (1,4)-(1,13))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (7...8))
+ │ ├── @ IntegerNode (location: (1,7)-(1,8))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (12...13))
+ │ └── @ IntegerNode (location: (1,12)-(1,13))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]="
diff --git a/test/yarp/snapshots/whitequark/send_index_cmd.txt b/test/yarp/snapshots/whitequark/send_index_cmd.txt
index a62fd1d882..a5a4f9586f 100644
--- a/test/yarp/snapshots/whitequark/send_index_cmd.txt
+++ b/test/yarp/snapshots/whitequark/send_index_cmd.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallNode (location: (0...10))
+ └── @ CallNode (location: (1,0)-(1,10))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,23 +16,23 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...10) = "[m bar]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,10) = "[m bar]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...9))
+ │ @ ArgumentsNode (location: (1,4)-(1,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (4...9))
+ │ └── @ CallNode (location: (1,4)-(1,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (4...5) = "m"
+ │ ├── message_loc: (1,4)-(1,5) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...9))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6...9))
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "bar"
+ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -43,7 +43,7 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "m"
- ├── closing_loc: (9...10) = "]"
+ ├── closing_loc: (1,9)-(1,10) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/send_index_legacy.txt b/test/yarp/snapshots/whitequark/send_index_legacy.txt
index 696056d542..1689635083 100644
--- a/test/yarp/snapshots/whitequark/send_index_legacy.txt
+++ b/test/yarp/snapshots/whitequark/send_index_legacy.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,16 +16,16 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (3...9) = "[1, 2]"
- ├── opening_loc: (3...4) = "["
+ ├── message_loc: (1,3)-(1,9) = "[1, 2]"
+ ├── opening_loc: (1,3)-(1,4) = "["
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ └── arguments: (length: 2)
- │ ├── @ IntegerNode (location: (4...5))
+ │ ├── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (7...8))
+ │ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
- ├── closing_loc: (8...9) = "]"
+ ├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
├── flags: ∅
└── name: "[]"
diff --git a/test/yarp/snapshots/whitequark/send_lambda.txt b/test/yarp/snapshots/whitequark/send_lambda.txt
index a4924611fe..aa21442971 100644
--- a/test/yarp/snapshots/whitequark/send_lambda.txt
+++ b/test/yarp/snapshots/whitequark/send_lambda.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...26))
+@ ProgramNode (location: (1,0)-(5,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...26))
+ @ StatementsNode (location: (1,0)-(5,5))
└── body: (length: 3)
- ├── @ LambdaNode (location: (0...8))
+ ├── @ LambdaNode (location: (1,0)-(1,8))
│ ├── locals: [:*]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (5...6) = "{"
- │ ├── closing_loc: (7...8) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,5)-(1,6) = "{"
+ │ ├── closing_loc: (1,7)-(1,8) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (3...4))
+ │ │ @ BlockParametersNode (location: (1,3)-(1,4))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3...4))
+ │ │ │ @ ParametersNode (location: (1,3)-(1,4))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
- │ │ │ │ @ RestParameterNode (location: (3...4))
+ │ │ │ │ @ RestParameterNode (location: (1,3)-(1,4))
│ │ │ │ ├── name: nil
│ │ │ │ ├── name_loc: ∅
- │ │ │ │ └── operator_loc: (3...4) = "*"
+ │ │ │ │ └── operator_loc: (1,3)-(1,4) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
@@ -27,17 +27,17 @@
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body: ∅
- ├── @ LambdaNode (location: (10...19))
+ ├── @ LambdaNode (location: (3,0)-(3,9))
│ ├── locals: []
- │ ├── operator_loc: (10...12) = "->"
- │ ├── opening_loc: (13...15) = "do"
- │ ├── closing_loc: (16...19) = "end"
+ │ ├── operator_loc: (3,0)-(3,2) = "->"
+ │ ├── opening_loc: (3,3)-(3,5) = "do"
+ │ ├── closing_loc: (3,6)-(3,9) = "end"
│ ├── parameters: ∅
│ └── body: ∅
- └── @ LambdaNode (location: (21...26))
+ └── @ LambdaNode (location: (5,0)-(5,5))
├── locals: []
- ├── operator_loc: (21...23) = "->"
- ├── opening_loc: (23...24) = "{"
- ├── closing_loc: (25...26) = "}"
+ ├── operator_loc: (5,0)-(5,2) = "->"
+ ├── opening_loc: (5,2)-(5,3) = "{"
+ ├── closing_loc: (5,4)-(5,5) = "}"
├── parameters: ∅
└── body: ∅
diff --git a/test/yarp/snapshots/whitequark/send_lambda_args.txt b/test/yarp/snapshots/whitequark/send_lambda_args.txt
index c331007637..0e5dd9a7c0 100644
--- a/test/yarp/snapshots/whitequark/send_lambda_args.txt
+++ b/test/yarp/snapshots/whitequark/send_lambda_args.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...21))
+@ ProgramNode (location: (1,0)-(3,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...21))
+ @ StatementsNode (location: (1,0)-(3,9))
└── body: (length: 2)
- ├── @ LambdaNode (location: (0...10))
+ ├── @ LambdaNode (location: (1,0)-(1,10))
│ ├── locals: [:a]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (7...8) = "{"
- │ ├── closing_loc: (9...10) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ ├── closing_loc: (1,9)-(1,10) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (3...6))
+ │ │ @ BlockParametersNode (location: (1,3)-(1,6))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (4...5))
+ │ │ │ @ ParametersNode (location: (1,4)-(1,5))
│ │ │ ├── requireds: (length: 1)
- │ │ │ │ └── @ RequiredParameterNode (location: (4...5))
+ │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
@@ -22,20 +22,20 @@
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
- │ │ ├── opening_loc: (3...4) = "("
- │ │ └── closing_loc: (5...6) = ")"
+ │ │ ├── opening_loc: (1,3)-(1,4) = "("
+ │ │ └── closing_loc: (1,5)-(1,6) = ")"
│ └── body: ∅
- └── @ LambdaNode (location: (12...21))
+ └── @ LambdaNode (location: (3,0)-(3,9))
├── locals: [:a]
- ├── operator_loc: (12...14) = "->"
- ├── opening_loc: (18...19) = "{"
- ├── closing_loc: (20...21) = "}"
+ ├── operator_loc: (3,0)-(3,2) = "->"
+ ├── opening_loc: (3,6)-(3,7) = "{"
+ ├── closing_loc: (3,8)-(3,9) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (14...17))
+ │ @ BlockParametersNode (location: (3,2)-(3,5))
│ ├── parameters:
- │ │ @ ParametersNode (location: (15...16))
+ │ │ @ ParametersNode (location: (3,3)-(3,4))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (15...16))
+ │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -44,6 +44,6 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
- │ ├── opening_loc: (14...15) = "("
- │ └── closing_loc: (16...17) = ")"
+ │ ├── opening_loc: (3,2)-(3,3) = "("
+ │ └── closing_loc: (3,4)-(3,5) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/whitequark/send_lambda_args_noparen.txt b/test/yarp/snapshots/whitequark/send_lambda_args_noparen.txt
index 0b5a2d4d06..f28ed889a8 100644
--- a/test/yarp/snapshots/whitequark/send_lambda_args_noparen.txt
+++ b/test/yarp/snapshots/whitequark/send_lambda_args_noparen.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...22))
+@ ProgramNode (location: (1,0)-(3,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...22))
+ @ StatementsNode (location: (1,0)-(3,9))
└── body: (length: 2)
- ├── @ LambdaNode (location: (0...11))
+ ├── @ LambdaNode (location: (1,0)-(1,11))
│ ├── locals: [:a]
- │ ├── operator_loc: (0...2) = "->"
- │ ├── opening_loc: (8...9) = "{"
- │ ├── closing_loc: (10...11) = "}"
+ │ ├── operator_loc: (1,0)-(1,2) = "->"
+ │ ├── opening_loc: (1,8)-(1,9) = "{"
+ │ ├── closing_loc: (1,10)-(1,11) = "}"
│ ├── parameters:
- │ │ @ BlockParametersNode (location: (3...7))
+ │ │ @ BlockParametersNode (location: (1,3)-(1,7))
│ │ ├── parameters:
- │ │ │ @ ParametersNode (location: (3...7))
+ │ │ │ @ ParametersNode (location: (1,3)-(1,7))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
- │ │ │ │ └── @ KeywordParameterNode (location: (3...7))
+ │ │ │ │ └── @ KeywordParameterNode (location: (1,3)-(1,7))
│ │ │ │ ├── name: :a
- │ │ │ │ ├── name_loc: (3...5) = "a:"
+ │ │ │ │ ├── name_loc: (1,3)-(1,5) = "a:"
│ │ │ │ └── value:
- │ │ │ │ @ IntegerNode (location: (6...7))
+ │ │ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
@@ -29,23 +29,23 @@
│ │ ├── opening_loc: ∅
│ │ └── closing_loc: ∅
│ └── body: ∅
- └── @ LambdaNode (location: (13...22))
+ └── @ LambdaNode (location: (3,0)-(3,9))
├── locals: [:a]
- ├── operator_loc: (13...15) = "->"
- ├── opening_loc: (19...20) = "{"
- ├── closing_loc: (21...22) = "}"
+ ├── operator_loc: (3,0)-(3,2) = "->"
+ ├── opening_loc: (3,6)-(3,7) = "{"
+ ├── closing_loc: (3,8)-(3,9) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (16...18))
+ │ @ BlockParametersNode (location: (3,3)-(3,5))
│ ├── parameters:
- │ │ @ ParametersNode (location: (16...18))
+ │ │ @ ParametersNode (location: (3,3)-(3,5))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
- │ │ │ └── @ KeywordParameterNode (location: (16...18))
+ │ │ │ └── @ KeywordParameterNode (location: (3,3)-(3,5))
│ │ │ ├── name: :a
- │ │ │ ├── name_loc: (16...18) = "a:"
+ │ │ │ ├── name_loc: (3,3)-(3,5) = "a:"
│ │ │ └── value: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
diff --git a/test/yarp/snapshots/whitequark/send_lambda_args_shadow.txt b/test/yarp/snapshots/whitequark/send_lambda_args_shadow.txt
index 7fa4ed350c..2e1160427c 100644
--- a/test/yarp/snapshots/whitequark/send_lambda_args_shadow.txt
+++ b/test/yarp/snapshots/whitequark/send_lambda_args_shadow.txt
@@ -1,19 +1,19 @@
-@ ProgramNode (location: (0...19))
+@ ProgramNode (location: (1,0)-(1,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...19))
+ @ StatementsNode (location: (1,0)-(1,19))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...19))
+ └── @ LambdaNode (location: (1,0)-(1,19))
├── locals: [:a, :foo, :bar]
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (16...17) = "{"
- ├── closing_loc: (18...19) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,16)-(1,17) = "{"
+ ├── closing_loc: (1,18)-(1,19) = "}"
├── parameters:
- │ @ BlockParametersNode (location: (2...15))
+ │ @ BlockParametersNode (location: (1,2)-(1,15))
│ ├── parameters:
- │ │ @ ParametersNode (location: (3...4))
+ │ │ @ ParametersNode (location: (1,3)-(1,4))
│ │ ├── requireds: (length: 1)
- │ │ │ └── @ RequiredParameterNode (location: (3...4))
+ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
@@ -22,10 +22,10 @@
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 2)
- │ │ ├── @ BlockLocalVariableNode (location: (6...9))
+ │ │ ├── @ BlockLocalVariableNode (location: (1,6)-(1,9))
│ │ │ └── name: :foo
- │ │ └── @ BlockLocalVariableNode (location: (11...14))
+ │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,14))
│ │ └── name: :bar
- │ ├── opening_loc: (2...3) = "("
- │ └── closing_loc: (14...15) = ")"
+ │ ├── opening_loc: (1,2)-(1,3) = "("
+ │ └── closing_loc: (1,14)-(1,15) = ")"
└── body: ∅
diff --git a/test/yarp/snapshots/whitequark/send_lambda_legacy.txt b/test/yarp/snapshots/whitequark/send_lambda_legacy.txt
index 61a2b77f4e..3a64e941b6 100644
--- a/test/yarp/snapshots/whitequark/send_lambda_legacy.txt
+++ b/test/yarp/snapshots/whitequark/send_lambda_legacy.txt
@@ -1,12 +1,12 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ LambdaNode (location: (0...5))
+ └── @ LambdaNode (location: (1,0)-(1,5))
├── locals: []
- ├── operator_loc: (0...2) = "->"
- ├── opening_loc: (2...3) = "{"
- ├── closing_loc: (4...5) = "}"
+ ├── operator_loc: (1,0)-(1,2) = "->"
+ ├── opening_loc: (1,2)-(1,3) = "{"
+ ├── closing_loc: (1,4)-(1,5) = "}"
├── parameters: ∅
└── body: ∅
diff --git a/test/yarp/snapshots/whitequark/send_op_asgn_conditional.txt b/test/yarp/snapshots/whitequark/send_op_asgn_conditional.txt
index 160d598cc9..2507dfa904 100644
--- a/test/yarp/snapshots/whitequark/send_op_asgn_conditional.txt
+++ b/test/yarp/snapshots/whitequark/send_op_asgn_conditional.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...10))
+@ ProgramNode (location: (1,0)-(1,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...10))
+ @ StatementsNode (location: (1,0)-(1,10))
└── body: (length: 1)
- └── @ CallAndWriteNode (location: (0...10))
+ └── @ CallAndWriteNode (location: (1,0)-(1,10))
├── receiver:
- │ @ CallNode (location: (0...1))
+ │ @ CallNode (location: (1,0)-(1,1))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "a"
+ │ ├── message_loc: (1,0)-(1,1) = "a"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "a"
- ├── call_operator_loc: (1...3) = "&."
- ├── message_loc: (3...4) = "b"
+ ├── call_operator_loc: (1,1)-(1,3) = "&."
+ ├── message_loc: (1,3)-(1,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── flags: safe_navigation
├── read_name: "b"
├── write_name: "b="
- ├── operator_loc: (5...8) = "&&="
+ ├── operator_loc: (1,5)-(1,8) = "&&="
└── value:
- @ IntegerNode (location: (9...10))
+ @ IntegerNode (location: (1,9)-(1,10))
└── flags: decimal
diff --git a/test/yarp/snapshots/whitequark/send_plain.txt b/test/yarp/snapshots/whitequark/send_plain.txt
index ef9f066435..de49cba3c3 100644
--- a/test/yarp/snapshots/whitequark/send_plain.txt
+++ b/test/yarp/snapshots/whitequark/send_plain.txt
@@ -1,62 +1,62 @@
-@ ProgramNode (location: (0...29))
+@ ProgramNode (location: (1,0)-(5,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...29))
+ @ StatementsNode (location: (1,0)-(5,8))
└── body: (length: 3)
- ├── @ CallNode (location: (0...7))
+ ├── @ CallNode (location: (1,0)-(1,7))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...7) = "fun"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (9...19))
+ ├── @ CallNode (location: (3,0)-(3,10))
│ ├── receiver:
- │ │ @ CallNode (location: (9...12))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (9...12) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (12...14) = "::"
- │ ├── message_loc: (14...17) = "Fun"
- │ ├── opening_loc: (17...18) = "("
+ │ ├── call_operator_loc: (3,3)-(3,5) = "::"
+ │ ├── message_loc: (3,5)-(3,8) = "Fun"
+ │ ├── opening_loc: (3,8)-(3,9) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (18...19) = ")"
+ │ ├── closing_loc: (3,9)-(3,10) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Fun"
- └── @ CallNode (location: (21...29))
+ └── @ CallNode (location: (5,0)-(5,8))
├── receiver:
- │ @ CallNode (location: (21...24))
+ │ @ CallNode (location: (5,0)-(5,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "foo"
+ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (24...26) = "::"
- ├── message_loc: (26...29) = "fun"
+ ├── call_operator_loc: (5,3)-(5,5) = "::"
+ ├── message_loc: (5,5)-(5,8) = "fun"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/send_plain_cmd.txt b/test/yarp/snapshots/whitequark/send_plain_cmd.txt
index ad6da783fd..1ddca9e15e 100644
--- a/test/yarp/snapshots/whitequark/send_plain_cmd.txt
+++ b/test/yarp/snapshots/whitequark/send_plain_cmd.txt
@@ -1,30 +1,30 @@
-@ ProgramNode (location: (0...39))
+@ ProgramNode (location: (1,0)-(5,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...39))
+ @ StatementsNode (location: (1,0)-(5,12))
└── body: (length: 3)
- ├── @ CallNode (location: (0...11))
+ ├── @ CallNode (location: (1,0)-(1,11))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...7) = "fun"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...11))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (8...11))
+ │ │ └── @ CallNode (location: (1,8)-(1,11))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (8...11) = "bar"
+ │ │ ├── message_loc: (1,8)-(1,11) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -35,28 +35,28 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (13...25))
+ ├── @ CallNode (location: (3,0)-(3,12))
│ ├── receiver:
- │ │ @ CallNode (location: (13...16))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...16) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (16...18) = "::"
- │ ├── message_loc: (18...21) = "Fun"
+ │ ├── call_operator_loc: (3,3)-(3,5) = "::"
+ │ ├── message_loc: (3,5)-(3,8) = "Fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (22...25))
+ │ │ @ ArgumentsNode (location: (3,9)-(3,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (22...25))
+ │ │ └── @ CallNode (location: (3,9)-(3,12))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (22...25) = "bar"
+ │ │ ├── message_loc: (3,9)-(3,12) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -67,28 +67,28 @@
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "Fun"
- └── @ CallNode (location: (27...39))
+ └── @ CallNode (location: (5,0)-(5,12))
├── receiver:
- │ @ CallNode (location: (27...30))
+ │ @ CallNode (location: (5,0)-(5,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (27...30) = "foo"
+ │ ├── message_loc: (5,0)-(5,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── call_operator_loc: (30...32) = "::"
- ├── message_loc: (32...35) = "fun"
+ ├── call_operator_loc: (5,3)-(5,5) = "::"
+ ├── message_loc: (5,5)-(5,8) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (36...39))
+ │ @ ArgumentsNode (location: (5,9)-(5,12))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (36...39))
+ │ └── @ CallNode (location: (5,9)-(5,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (36...39) = "bar"
+ │ ├── message_loc: (5,9)-(5,12) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/send_self.txt b/test/yarp/snapshots/whitequark/send_self.txt
index 69218da4f9..aa1de85d59 100644
--- a/test/yarp/snapshots/whitequark/send_self.txt
+++ b/test/yarp/snapshots/whitequark/send_self.txt
@@ -1,39 +1,39 @@
-@ ProgramNode (location: (0...17))
+@ ProgramNode (location: (1,0)-(5,6))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...17))
+ @ StatementsNode (location: (1,0)-(5,6))
└── body: (length: 3)
- ├── @ CallNode (location: (0...3))
+ ├── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "fun"
- ├── @ CallNode (location: (5...9))
+ ├── @ CallNode (location: (3,0)-(3,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...9) = "fun!"
+ │ ├── message_loc: (3,0)-(3,4) = "fun!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "fun!"
- └── @ CallNode (location: (11...17))
+ └── @ CallNode (location: (5,0)-(5,6))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (11...14) = "fun"
- ├── opening_loc: (14...15) = "("
+ ├── message_loc: (5,0)-(5,3) = "fun"
+ ├── opening_loc: (5,3)-(5,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (15...16))
+ │ @ ArgumentsNode (location: (5,4)-(5,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (15...16))
+ │ └── @ IntegerNode (location: (5,4)-(5,5))
│ └── flags: decimal
- ├── closing_loc: (16...17) = ")"
+ ├── closing_loc: (5,5)-(5,6) = ")"
├── block: ∅
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/send_self_block.txt b/test/yarp/snapshots/whitequark/send_self_block.txt
index cffc4590be..929f3ecaf2 100644
--- a/test/yarp/snapshots/whitequark/send_self_block.txt
+++ b/test/yarp/snapshots/whitequark/send_self_block.txt
@@ -1,73 +1,73 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(7,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
- ├── @ CallNode (location: (0...10))
+ ├── @ CallNode (location: (1,0)-(1,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "fun"
+ │ ├── message_loc: (1,0)-(1,3) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (4...10))
+ │ │ @ BlockNode (location: (1,4)-(1,10))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (4...6) = "do"
- │ │ └── closing_loc: (7...10) = "end"
+ │ │ ├── opening_loc: (1,4)-(1,6) = "do"
+ │ │ └── closing_loc: (1,7)-(1,10) = "end"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (12...19))
+ ├── @ CallNode (location: (3,0)-(3,7))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...15) = "fun"
+ │ ├── message_loc: (3,0)-(3,3) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (16...19))
+ │ │ @ BlockNode (location: (3,4)-(3,7))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (16...17) = "{"
- │ │ └── closing_loc: (18...19) = "}"
+ │ │ ├── opening_loc: (3,4)-(3,5) = "{"
+ │ │ └── closing_loc: (3,6)-(3,7) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (21...30))
+ ├── @ CallNode (location: (5,0)-(5,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "fun"
- │ ├── opening_loc: (24...25) = "("
+ │ ├── message_loc: (5,0)-(5,3) = "fun"
+ │ ├── opening_loc: (5,3)-(5,4) = "("
│ ├── arguments: ∅
- │ ├── closing_loc: (25...26) = ")"
+ │ ├── closing_loc: (5,4)-(5,5) = ")"
│ ├── block:
- │ │ @ BlockNode (location: (27...30))
+ │ │ @ BlockNode (location: (5,6)-(5,9))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (27...28) = "{"
- │ │ └── closing_loc: (29...30) = "}"
+ │ │ ├── opening_loc: (5,6)-(5,7) = "{"
+ │ │ └── closing_loc: (5,8)-(5,9) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (32...42))
+ └── @ CallNode (location: (7,0)-(7,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (32...35) = "fun"
- ├── opening_loc: (35...36) = "("
+ ├── message_loc: (7,0)-(7,3) = "fun"
+ ├── opening_loc: (7,3)-(7,4) = "("
├── arguments:
- │ @ ArgumentsNode (location: (36...37))
+ │ @ ArgumentsNode (location: (7,4)-(7,5))
│ └── arguments: (length: 1)
- │ └── @ IntegerNode (location: (36...37))
+ │ └── @ IntegerNode (location: (7,4)-(7,5))
│ └── flags: decimal
- ├── closing_loc: (37...38) = ")"
+ ├── closing_loc: (7,5)-(7,6) = ")"
├── block:
- │ @ BlockNode (location: (39...42))
+ │ @ BlockNode (location: (7,7)-(7,10))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (39...40) = "{"
- │ └── closing_loc: (41...42) = "}"
+ │ ├── opening_loc: (7,7)-(7,8) = "{"
+ │ └── closing_loc: (7,9)-(7,10) = "}"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/send_unary_op.txt b/test/yarp/snapshots/whitequark/send_unary_op.txt
index 532b692bc8..6b1f4a383b 100644
--- a/test/yarp/snapshots/whitequark/send_unary_op.txt
+++ b/test/yarp/snapshots/whitequark/send_unary_op.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...16))
+@ ProgramNode (location: (1,0)-(5,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...16))
+ @ StatementsNode (location: (1,0)-(5,4))
└── body: (length: 3)
- ├── @ CallNode (location: (0...4))
+ ├── @ CallNode (location: (1,0)-(1,4))
│ ├── receiver:
- │ │ @ CallNode (location: (1...4))
+ │ │ @ CallNode (location: (1,1)-(1,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (1...4) = "foo"
+ │ │ ├── message_loc: (1,1)-(1,4) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -16,19 +16,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...1) = "+"
+ │ ├── message_loc: (1,0)-(1,1) = "+"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "+@"
- ├── @ CallNode (location: (6...10))
+ ├── @ CallNode (location: (3,0)-(3,4))
│ ├── receiver:
- │ │ @ CallNode (location: (7...10))
+ │ │ @ CallNode (location: (3,1)-(3,4))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...10) = "foo"
+ │ │ ├── message_loc: (3,1)-(3,4) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -36,19 +36,19 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (6...7) = "-"
+ │ ├── message_loc: (3,0)-(3,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-@"
- └── @ CallNode (location: (12...16))
+ └── @ CallNode (location: (5,0)-(5,4))
├── receiver:
- │ @ CallNode (location: (13...16))
+ │ @ CallNode (location: (5,1)-(5,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (13...16) = "foo"
+ │ ├── message_loc: (5,1)-(5,4) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -56,7 +56,7 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── call_operator_loc: ∅
- ├── message_loc: (12...13) = "~"
+ ├── message_loc: (5,0)-(5,1) = "~"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/slash_newline_in_heredocs.txt b/test/yarp/snapshots/whitequark/slash_newline_in_heredocs.txt
index 4f9c8fe273..2a63c8cb0b 100644
--- a/test/yarp/snapshots/whitequark/slash_newline_in_heredocs.txt
+++ b/test/yarp/snapshots/whitequark/slash_newline_in_heredocs.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...33))
+@ ProgramNode (location: (1,0)-(8,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...33))
+ @ StatementsNode (location: (1,0)-(8,4))
└── body: (length: 2)
- ├── @ StringNode (location: (0...4))
+ ├── @ StringNode (location: (1,0)-(1,4))
│ ├── flags: ∅
- │ ├── opening_loc: (0...4) = "<<-E"
- │ ├── content_loc: (5...25) = " 1 \\\n 2\n 3\n"
- │ ├── closing_loc: (25...27) = "E\n"
+ │ ├── opening_loc: (1,0)-(1,4) = "<<-E"
+ │ ├── content_loc: (2,0)-(4,0) = " 1 \\\n 2\n 3\n"
+ │ ├── closing_loc: (5,0)-(5,0) = "E\n"
│ └── unescaped: " 1 2\n 3\n"
- └── @ StringNode (location: (29...33))
+ └── @ StringNode (location: (8,0)-(8,4))
├── flags: ∅
- ├── opening_loc: (29...33) = "<<~E"
- ├── content_loc: (34...54) = " 1 \\\n 2\n 3\n"
- ├── closing_loc: (54...56) = "E\n"
+ ├── opening_loc: (8,0)-(8,4) = "<<~E"
+ ├── content_loc: (9,0)-(11,0) = " 1 \\\n 2\n 3\n"
+ ├── closing_loc: (12,0)-(12,0) = "E\n"
└── unescaped: "1 2\n3\n"
diff --git a/test/yarp/snapshots/whitequark/space_args_arg.txt b/test/yarp/snapshots/whitequark/space_args_arg.txt
index b72badde97..78e1933537 100644
--- a/test/yarp/snapshots/whitequark/space_args_arg.txt
+++ b/test/yarp/snapshots/whitequark/space_args_arg.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ CallNode (location: (0...7))
+ └── @ CallNode (location: (1,0)-(1,7))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
+ ├── message_loc: (1,0)-(1,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...7))
+ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...7))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,7))
│ ├── body:
- │ │ @ StatementsNode (location: (5...6))
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (5...6))
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (6...7) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,6)-(1,7) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/space_args_arg_block.txt b/test/yarp/snapshots/whitequark/space_args_arg_block.txt
index fbc95fd36e..f16e099147 100644
--- a/test/yarp/snapshots/whitequark/space_args_arg_block.txt
+++ b/test/yarp/snapshots/whitequark/space_args_arg_block.txt
@@ -1,103 +1,103 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(5,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(5,10))
└── body: (length: 3)
- ├── @ CallNode (location: (0...14))
+ ├── @ CallNode (location: (1,0)-(1,14))
│ ├── receiver:
- │ │ @ CallNode (location: (0...3))
+ │ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (0...3) = "foo"
+ │ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (3...4) = "."
- │ ├── message_loc: (4...7) = "fun"
+ │ ├── call_operator_loc: (1,3)-(1,4) = "."
+ │ ├── message_loc: (1,4)-(1,7) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...11))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,11))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (8...11))
+ │ │ └── @ ParenthesesNode (location: (1,8)-(1,11))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (9...10))
+ │ │ │ @ StatementsNode (location: (1,9)-(1,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (9...10))
+ │ │ │ └── @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (8...9) = "("
- │ │ └── closing_loc: (10...11) = ")"
+ │ │ ├── opening_loc: (1,8)-(1,9) = "("
+ │ │ └── closing_loc: (1,10)-(1,11) = ")"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (12...14))
+ │ │ @ BlockNode (location: (1,12)-(1,14))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (12...13) = "{"
- │ │ └── closing_loc: (13...14) = "}"
+ │ │ ├── opening_loc: (1,12)-(1,13) = "{"
+ │ │ └── closing_loc: (1,13)-(1,14) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- ├── @ CallNode (location: (16...31))
+ ├── @ CallNode (location: (3,0)-(3,15))
│ ├── receiver:
- │ │ @ CallNode (location: (16...19))
+ │ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "foo"
+ │ │ ├── message_loc: (3,0)-(3,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── call_operator_loc: (19...21) = "::"
- │ ├── message_loc: (21...24) = "fun"
+ │ ├── call_operator_loc: (3,3)-(3,5) = "::"
+ │ ├── message_loc: (3,5)-(3,8) = "fun"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (25...28))
+ │ │ @ ArgumentsNode (location: (3,9)-(3,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ ParenthesesNode (location: (25...28))
+ │ │ └── @ ParenthesesNode (location: (3,9)-(3,12))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (26...27))
+ │ │ │ @ StatementsNode (location: (3,10)-(3,11))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (26...27))
+ │ │ │ └── @ IntegerNode (location: (3,10)-(3,11))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (25...26) = "("
- │ │ └── closing_loc: (27...28) = ")"
+ │ │ ├── opening_loc: (3,9)-(3,10) = "("
+ │ │ └── closing_loc: (3,11)-(3,12) = ")"
│ ├── closing_loc: ∅
│ ├── block:
- │ │ @ BlockNode (location: (29...31))
+ │ │ @ BlockNode (location: (3,13)-(3,15))
│ │ ├── locals: []
│ │ ├── parameters: ∅
│ │ ├── body: ∅
- │ │ ├── opening_loc: (29...30) = "{"
- │ │ └── closing_loc: (30...31) = "}"
+ │ │ ├── opening_loc: (3,13)-(3,14) = "{"
+ │ │ └── closing_loc: (3,14)-(3,15) = "}"
│ ├── flags: ∅
│ └── name: "fun"
- └── @ CallNode (location: (33...43))
+ └── @ CallNode (location: (5,0)-(5,10))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (33...36) = "fun"
+ ├── message_loc: (5,0)-(5,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (37...40))
+ │ @ ArgumentsNode (location: (5,4)-(5,7))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (37...40))
+ │ └── @ ParenthesesNode (location: (5,4)-(5,7))
│ ├── body:
- │ │ @ StatementsNode (location: (38...39))
+ │ │ @ StatementsNode (location: (5,5)-(5,6))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (38...39))
+ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
- │ ├── opening_loc: (37...38) = "("
- │ └── closing_loc: (39...40) = ")"
+ │ ├── opening_loc: (5,4)-(5,5) = "("
+ │ └── closing_loc: (5,6)-(5,7) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (41...43))
+ │ @ BlockNode (location: (5,8)-(5,10))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (41...42) = "{"
- │ └── closing_loc: (42...43) = "}"
+ │ ├── opening_loc: (5,8)-(5,9) = "{"
+ │ └── closing_loc: (5,9)-(5,10) = "}"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/space_args_arg_call.txt b/test/yarp/snapshots/whitequark/space_args_arg_call.txt
index e1931fd38b..5de0873d9a 100644
--- a/test/yarp/snapshots/whitequark/space_args_arg_call.txt
+++ b/test/yarp/snapshots/whitequark/space_args_arg_call.txt
@@ -1,28 +1,28 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ CallNode (location: (0...12))
+ └── @ CallNode (location: (1,0)-(1,12))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
+ ├── message_loc: (1,0)-(1,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...12))
+ │ @ ArgumentsNode (location: (1,4)-(1,12))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (4...12))
+ │ └── @ CallNode (location: (1,4)-(1,12))
│ ├── receiver:
- │ │ @ ParenthesesNode (location: (4...7))
+ │ │ @ ParenthesesNode (location: (1,4)-(1,7))
│ │ ├── body:
- │ │ │ @ StatementsNode (location: (5...6))
+ │ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (5...6))
+ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ │ └── flags: decimal
- │ │ ├── opening_loc: (4...5) = "("
- │ │ └── closing_loc: (6...7) = ")"
- │ ├── call_operator_loc: (7...8) = "."
- │ ├── message_loc: (8...12) = "to_i"
+ │ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ │ └── closing_loc: (1,6)-(1,7) = ")"
+ │ ├── call_operator_loc: (1,7)-(1,8) = "."
+ │ ├── message_loc: (1,8)-(1,12) = "to_i"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/space_args_arg_newline.txt b/test/yarp/snapshots/whitequark/space_args_arg_newline.txt
index 481a79233c..edc8183494 100644
--- a/test/yarp/snapshots/whitequark/space_args_arg_newline.txt
+++ b/test/yarp/snapshots/whitequark/space_args_arg_newline.txt
@@ -1,24 +1,24 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(2,1))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(2,1))
└── body: (length: 1)
- └── @ CallNode (location: (0...8))
+ └── @ CallNode (location: (1,0)-(2,1))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
+ ├── message_loc: (1,0)-(1,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...8))
+ │ @ ArgumentsNode (location: (1,4)-(2,1))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...8))
+ │ └── @ ParenthesesNode (location: (1,4)-(2,1))
│ ├── body:
- │ │ @ StatementsNode (location: (5...6))
+ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (5...6))
+ │ │ └── @ IntegerNode (location: (1,5)-(1,6))
│ │ └── flags: decimal
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (7...8) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (2,0)-(2,1) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/space_args_block.txt b/test/yarp/snapshots/whitequark/space_args_block.txt
index 28d6302d3c..b8e35e9d20 100644
--- a/test/yarp/snapshots/whitequark/space_args_block.txt
+++ b/test/yarp/snapshots/whitequark/space_args_block.txt
@@ -1,27 +1,27 @@
-@ ProgramNode (location: (0...9))
+@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...9))
+ @ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
- └── @ CallNode (location: (0...9))
+ └── @ CallNode (location: (1,0)-(1,9))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
+ ├── message_loc: (1,0)-(1,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...6))
+ │ @ ArgumentsNode (location: (1,4)-(1,6))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...6))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,6))
│ ├── body: ∅
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (5...6) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,5)-(1,6) = ")"
├── closing_loc: ∅
├── block:
- │ @ BlockNode (location: (7...9))
+ │ @ BlockNode (location: (1,7)-(1,9))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (7...8) = "{"
- │ └── closing_loc: (8...9) = "}"
+ │ ├── opening_loc: (1,7)-(1,8) = "{"
+ │ └── closing_loc: (1,8)-(1,9) = "}"
├── flags: ∅
└── name: "fun"
diff --git a/test/yarp/snapshots/whitequark/space_args_cmd.txt b/test/yarp/snapshots/whitequark/space_args_cmd.txt
index 35eb4eadaa..ef1ed11ec0 100644
--- a/test/yarp/snapshots/whitequark/space_args_cmd.txt
+++ b/test/yarp/snapshots/whitequark/space_args_cmd.txt
@@ -1,32 +1,32 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ CallNode (location: (0...11))
+ └── @ CallNode (location: (1,0)-(1,11))
├── receiver: ∅
├── call_operator_loc: ∅
- ├── message_loc: (0...3) = "fun"
+ ├── message_loc: (1,0)-(1,3) = "fun"
├── opening_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (4...11))
+ │ @ ArgumentsNode (location: (1,4)-(1,11))
│ └── arguments: (length: 1)
- │ └── @ ParenthesesNode (location: (4...11))
+ │ └── @ ParenthesesNode (location: (1,4)-(1,11))
│ ├── body:
- │ │ @ StatementsNode (location: (5...10))
+ │ │ @ StatementsNode (location: (1,5)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (5...10))
+ │ │ └── @ CallNode (location: (1,5)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...6) = "f"
+ │ │ ├── message_loc: (1,5)-(1,6) = "f"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (7...10))
+ │ │ │ @ ArgumentsNode (location: (1,7)-(1,10))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ CallNode (location: (7...10))
+ │ │ │ └── @ CallNode (location: (1,7)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...10) = "bar"
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -37,8 +37,8 @@
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "f"
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (10...11) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,10)-(1,11) = ")"
├── closing_loc: ∅
├── block: ∅
├── flags: ∅
diff --git a/test/yarp/snapshots/whitequark/string___FILE__.txt b/test/yarp/snapshots/whitequark/string___FILE__.txt
index ff1ade75d9..c6ce21be5f 100644
--- a/test/yarp/snapshots/whitequark/string___FILE__.txt
+++ b/test/yarp/snapshots/whitequark/string___FILE__.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ SourceFileNode (location: (0...8))
+ └── @ SourceFileNode (location: (1,0)-(1,8))
└── filepath: "whitequark/string___FILE__.txt"
diff --git a/test/yarp/snapshots/whitequark/string_concat.txt b/test/yarp/snapshots/whitequark/string_concat.txt
index 5f70a5803f..2c15895d7e 100644
--- a/test/yarp/snapshots/whitequark/string_concat.txt
+++ b/test/yarp/snapshots/whitequark/string_concat.txt
@@ -1,29 +1,29 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ StringConcatNode (location: (0...14))
+ └── @ StringConcatNode (location: (1,0)-(1,14))
├── left:
- │ @ InterpolatedStringNode (location: (0...8))
- │ ├── opening_loc: (0...1) = "\""
+ │ @ InterpolatedStringNode (location: (1,0)-(1,8))
+ │ ├── opening_loc: (1,0)-(1,1) = "\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (1...4))
+ │ │ ├── @ StringNode (location: (1,1)-(1,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (1...4) = "foo"
+ │ │ │ ├── content_loc: (1,1)-(1,4) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedVariableNode (location: (4...7))
- │ │ ├── operator_loc: (4...5) = "#"
+ │ │ └── @ EmbeddedVariableNode (location: (1,4)-(1,7))
+ │ │ ├── operator_loc: (1,4)-(1,5) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (5...7))
+ │ │ @ InstanceVariableReadNode (location: (1,5)-(1,7))
│ │ └── name: :@a
- │ └── closing_loc: (7...8) = "\""
+ │ └── closing_loc: (1,7)-(1,8) = "\""
└── right:
- @ StringNode (location: (9...14))
+ @ StringNode (location: (1,9)-(1,14))
├── flags: ∅
- ├── opening_loc: (9...10) = "\""
- ├── content_loc: (10...13) = "bar"
- ├── closing_loc: (13...14) = "\""
+ ├── opening_loc: (1,9)-(1,10) = "\""
+ ├── content_loc: (1,10)-(1,13) = "bar"
+ ├── closing_loc: (1,13)-(1,14) = "\""
└── unescaped: "bar"
diff --git a/test/yarp/snapshots/whitequark/string_dvar.txt b/test/yarp/snapshots/whitequark/string_dvar.txt
index ffb5b2f8e9..123b36e01d 100644
--- a/test/yarp/snapshots/whitequark/string_dvar.txt
+++ b/test/yarp/snapshots/whitequark/string_dvar.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...14))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,14))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 5)
- │ ├── @ EmbeddedVariableNode (location: (1...4))
- │ │ ├── operator_loc: (1...2) = "#"
+ │ ├── @ EmbeddedVariableNode (location: (1,1)-(1,4))
+ │ │ ├── operator_loc: (1,1)-(1,2) = "#"
│ │ └── variable:
- │ │ @ InstanceVariableReadNode (location: (2...4))
+ │ │ @ InstanceVariableReadNode (location: (1,2)-(1,4))
│ │ └── name: :@a
- │ ├── @ StringNode (location: (4...5))
+ │ ├── @ StringNode (location: (1,4)-(1,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (4...5) = " "
+ │ │ ├── content_loc: (1,4)-(1,5) = " "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " "
- │ ├── @ EmbeddedVariableNode (location: (5...9))
- │ │ ├── operator_loc: (5...6) = "#"
+ │ ├── @ EmbeddedVariableNode (location: (1,5)-(1,9))
+ │ │ ├── operator_loc: (1,5)-(1,6) = "#"
│ │ └── variable:
- │ │ @ ClassVariableReadNode (location: (6...9))
+ │ │ @ ClassVariableReadNode (location: (1,6)-(1,9))
│ │ └── name: :@@a
- │ ├── @ StringNode (location: (9...10))
+ │ ├── @ StringNode (location: (1,9)-(1,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (9...10) = " "
+ │ │ ├── content_loc: (1,9)-(1,10) = " "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " "
- │ └── @ EmbeddedVariableNode (location: (10...13))
- │ ├── operator_loc: (10...11) = "#"
+ │ └── @ EmbeddedVariableNode (location: (1,10)-(1,13))
+ │ ├── operator_loc: (1,10)-(1,11) = "#"
│ └── variable:
- │ @ GlobalVariableReadNode (location: (11...13))
+ │ @ GlobalVariableReadNode (location: (1,11)-(1,13))
│ └── name: :$a
- └── closing_loc: (13...14) = "\""
+ └── closing_loc: (1,13)-(1,14) = "\""
diff --git a/test/yarp/snapshots/whitequark/string_interp.txt b/test/yarp/snapshots/whitequark/string_interp.txt
index 30ee6adc20..9c372473fe 100644
--- a/test/yarp/snapshots/whitequark/string_interp.txt
+++ b/test/yarp/snapshots/whitequark/string_interp.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ InterpolatedStringNode (location: (0...14))
- ├── opening_loc: (0...1) = "\""
+ └── @ InterpolatedStringNode (location: (1,0)-(1,14))
+ ├── opening_loc: (1,0)-(1,1) = "\""
├── parts: (length: 3)
- │ ├── @ StringNode (location: (1...4))
+ │ ├── @ StringNode (location: (1,1)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...4) = "foo"
+ │ │ ├── content_loc: (1,1)-(1,4) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ ├── @ EmbeddedStatementsNode (location: (4...10))
- │ │ ├── opening_loc: (4...6) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10))
+ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (6...9))
+ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (6...9))
+ │ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (6...9) = "bar"
+ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── closing_loc: (9...10) = "}"
- │ └── @ StringNode (location: (10...13))
+ │ │ └── closing_loc: (1,9)-(1,10) = "}"
+ │ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (10...13) = "baz"
+ │ ├── content_loc: (1,10)-(1,13) = "baz"
│ ├── closing_loc: ∅
│ └── unescaped: "baz"
- └── closing_loc: (13...14) = "\""
+ └── closing_loc: (1,13)-(1,14) = "\""
diff --git a/test/yarp/snapshots/whitequark/string_plain.txt b/test/yarp/snapshots/whitequark/string_plain.txt
index d3f87f768e..7534ac1844 100644
--- a/test/yarp/snapshots/whitequark/string_plain.txt
+++ b/test/yarp/snapshots/whitequark/string_plain.txt
@@ -1,17 +1,17 @@
-@ ProgramNode (location: (0...20))
+@ ProgramNode (location: (1,0)-(3,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...20))
+ @ StatementsNode (location: (1,0)-(3,8))
└── body: (length: 2)
- ├── @ StringNode (location: (0...10))
+ ├── @ StringNode (location: (1,0)-(1,10))
│ ├── flags: ∅
- │ ├── opening_loc: (0...3) = "%q("
- │ ├── content_loc: (3...9) = "foobar"
- │ ├── closing_loc: (9...10) = ")"
+ │ ├── opening_loc: (1,0)-(1,3) = "%q("
+ │ ├── content_loc: (1,3)-(1,9) = "foobar"
+ │ ├── closing_loc: (1,9)-(1,10) = ")"
│ └── unescaped: "foobar"
- └── @ StringNode (location: (12...20))
+ └── @ StringNode (location: (3,0)-(3,8))
├── flags: ∅
- ├── opening_loc: (12...13) = "'"
- ├── content_loc: (13...19) = "foobar"
- ├── closing_loc: (19...20) = "'"
+ ├── opening_loc: (3,0)-(3,1) = "'"
+ ├── content_loc: (3,1)-(3,7) = "foobar"
+ ├── closing_loc: (3,7)-(3,8) = "'"
└── unescaped: "foobar"
diff --git a/test/yarp/snapshots/whitequark/super.txt b/test/yarp/snapshots/whitequark/super.txt
index e912a4f1e6..694b4c796d 100644
--- a/test/yarp/snapshots/whitequark/super.txt
+++ b/test/yarp/snapshots/whitequark/super.txt
@@ -1,18 +1,18 @@
-@ ProgramNode (location: (0...30))
+@ ProgramNode (location: (1,0)-(5,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...30))
+ @ StatementsNode (location: (1,0)-(5,10))
└── body: (length: 3)
- ├── @ SuperNode (location: (0...9))
- │ ├── keyword_loc: (0...5) = "super"
+ ├── @ SuperNode (location: (1,0)-(1,9))
+ │ ├── keyword_loc: (1,0)-(1,5) = "super"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (6...9))
+ │ │ @ ArgumentsNode (location: (1,6)-(1,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (6...9))
+ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "foo"
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -21,27 +21,27 @@
│ │ └── name: "foo"
│ ├── rparen_loc: ∅
│ └── block: ∅
- ├── @ SuperNode (location: (11...18))
- │ ├── keyword_loc: (11...16) = "super"
- │ ├── lparen_loc: (16...17) = "("
+ ├── @ SuperNode (location: (3,0)-(3,7))
+ │ ├── keyword_loc: (3,0)-(3,5) = "super"
+ │ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments: ∅
- │ ├── rparen_loc: (17...18) = ")"
+ │ ├── rparen_loc: (3,6)-(3,7) = ")"
│ └── block: ∅
- └── @ SuperNode (location: (20...30))
- ├── keyword_loc: (20...25) = "super"
- ├── lparen_loc: (25...26) = "("
+ └── @ SuperNode (location: (5,0)-(5,10))
+ ├── keyword_loc: (5,0)-(5,5) = "super"
+ ├── lparen_loc: (5,5)-(5,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (26...29))
+ │ @ ArgumentsNode (location: (5,6)-(5,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (26...29))
+ │ └── @ CallNode (location: (5,6)-(5,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...29) = "foo"
+ │ ├── message_loc: (5,6)-(5,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- ├── rparen_loc: (29...30) = ")"
+ ├── rparen_loc: (5,9)-(5,10) = ")"
└── block: ∅
diff --git a/test/yarp/snapshots/whitequark/super_block.txt b/test/yarp/snapshots/whitequark/super_block.txt
index 54e82b4b4e..ffb07e7715 100644
--- a/test/yarp/snapshots/whitequark/super_block.txt
+++ b/test/yarp/snapshots/whitequark/super_block.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...35))
+@ ProgramNode (location: (1,0)-(3,21))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...35))
+ @ StatementsNode (location: (1,0)-(3,21))
└── body: (length: 2)
- ├── @ ForwardingSuperNode (location: (0...12))
+ ├── @ ForwardingSuperNode (location: (1,0)-(1,12))
│ └── block:
- │ @ BlockNode (location: (6...12))
+ │ @ BlockNode (location: (1,6)-(1,12))
│ ├── locals: []
│ ├── parameters: ∅
│ ├── body: ∅
- │ ├── opening_loc: (6...8) = "do"
- │ └── closing_loc: (9...12) = "end"
- └── @ SuperNode (location: (14...35))
- ├── keyword_loc: (14...19) = "super"
+ │ ├── opening_loc: (1,6)-(1,8) = "do"
+ │ └── closing_loc: (1,9)-(1,12) = "end"
+ └── @ SuperNode (location: (3,0)-(3,21))
+ ├── keyword_loc: (3,0)-(3,5) = "super"
├── lparen_loc: ∅
├── arguments:
- │ @ ArgumentsNode (location: (20...28))
+ │ @ ArgumentsNode (location: (3,6)-(3,14))
│ └── arguments: (length: 2)
- │ ├── @ CallNode (location: (20...23))
+ │ ├── @ CallNode (location: (3,6)-(3,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (20...23) = "foo"
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ └── @ CallNode (location: (25...28))
+ │ └── @ CallNode (location: (3,11)-(3,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (25...28) = "bar"
+ │ ├── message_loc: (3,11)-(3,14) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -39,9 +39,9 @@
│ └── name: "bar"
├── rparen_loc: ∅
└── block:
- @ BlockNode (location: (29...35))
+ @ BlockNode (location: (3,15)-(3,21))
├── locals: []
├── parameters: ∅
├── body: ∅
- ├── opening_loc: (29...31) = "do"
- └── closing_loc: (32...35) = "end"
+ ├── opening_loc: (3,15)-(3,17) = "do"
+ └── closing_loc: (3,18)-(3,21) = "end"
diff --git a/test/yarp/snapshots/whitequark/symbol_interp.txt b/test/yarp/snapshots/whitequark/symbol_interp.txt
index a6a31bad94..fae980d98a 100644
--- a/test/yarp/snapshots/whitequark/symbol_interp.txt
+++ b/test/yarp/snapshots/whitequark/symbol_interp.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...15))
+@ ProgramNode (location: (1,0)-(1,15))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...15))
+ @ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
- └── @ InterpolatedSymbolNode (location: (0...15))
- ├── opening_loc: (0...2) = ":\""
+ └── @ InterpolatedSymbolNode (location: (1,0)-(1,15))
+ ├── opening_loc: (1,0)-(1,2) = ":\""
├── parts: (length: 3)
- │ ├── @ StringNode (location: (2...5))
+ │ ├── @ StringNode (location: (1,2)-(1,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (2...5) = "foo"
+ │ │ ├── content_loc: (1,2)-(1,5) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ ├── @ EmbeddedStatementsNode (location: (5...11))
- │ │ ├── opening_loc: (5...7) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,5)-(1,11))
+ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (7...10))
+ │ │ │ @ StatementsNode (location: (1,7)-(1,10))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (7...10))
+ │ │ │ └── @ CallNode (location: (1,7)-(1,10))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (7...10) = "bar"
+ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── closing_loc: (10...11) = "}"
- │ └── @ StringNode (location: (11...14))
+ │ │ └── closing_loc: (1,10)-(1,11) = "}"
+ │ └── @ StringNode (location: (1,11)-(1,14))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (11...14) = "baz"
+ │ ├── content_loc: (1,11)-(1,14) = "baz"
│ ├── closing_loc: ∅
│ └── unescaped: "baz"
- └── closing_loc: (14...15) = "\""
+ └── closing_loc: (1,14)-(1,15) = "\""
diff --git a/test/yarp/snapshots/whitequark/symbol_plain.txt b/test/yarp/snapshots/whitequark/symbol_plain.txt
index 8bc5045bef..95b1246d41 100644
--- a/test/yarp/snapshots/whitequark/symbol_plain.txt
+++ b/test/yarp/snapshots/whitequark/symbol_plain.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(3,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
- ├── @ SymbolNode (location: (0...6))
- │ ├── opening_loc: (0...2) = ":'"
- │ ├── value_loc: (2...5) = "foo"
- │ ├── closing_loc: (5...6) = "'"
+ ├── @ SymbolNode (location: (1,0)-(1,6))
+ │ ├── opening_loc: (1,0)-(1,2) = ":'"
+ │ ├── value_loc: (1,2)-(1,5) = "foo"
+ │ ├── closing_loc: (1,5)-(1,6) = "'"
│ └── unescaped: "foo"
- └── @ SymbolNode (location: (8...12))
- ├── opening_loc: (8...9) = ":"
- ├── value_loc: (9...12) = "foo"
+ └── @ SymbolNode (location: (3,0)-(3,4))
+ ├── opening_loc: (3,0)-(3,1) = ":"
+ ├── value_loc: (3,1)-(3,4) = "foo"
├── closing_loc: ∅
└── unescaped: "foo"
diff --git a/test/yarp/snapshots/whitequark/ternary.txt b/test/yarp/snapshots/whitequark/ternary.txt
index 8a7632ba9a..ce65ca09ec 100644
--- a/test/yarp/snapshots/whitequark/ternary.txt
+++ b/test/yarp/snapshots/whitequark/ternary.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...11))
+@ ProgramNode (location: (1,0)-(1,11))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...11))
+ @ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
- └── @ IfNode (location: (0...11))
+ └── @ IfNode (location: (1,0)-(1,11))
├── if_keyword_loc: ∅
├── predicate:
- │ @ CallNode (location: (0...3))
+ │ @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "foo"
+ │ ├── message_loc: (1,0)-(1,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,17 +17,17 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (6...7))
+ │ @ StatementsNode (location: (1,6)-(1,7))
│ └── body: (length: 1)
- │ └── @ IntegerNode (location: (6...7))
+ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── consequent:
- │ @ ElseNode (location: (8...11))
- │ ├── else_keyword_loc: (8...9) = ":"
+ │ @ ElseNode (location: (1,8)-(1,11))
+ │ ├── else_keyword_loc: (1,8)-(1,9) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (10...11))
+ │ │ @ StatementsNode (location: (1,10)-(1,11))
│ │ └── body: (length: 1)
- │ │ └── @ IntegerNode (location: (10...11))
+ │ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/ternary_ambiguous_symbol.txt b/test/yarp/snapshots/whitequark/ternary_ambiguous_symbol.txt
index 331f34793c..3b9457d471 100644
--- a/test/yarp/snapshots/whitequark/ternary_ambiguous_symbol.txt
+++ b/test/yarp/snapshots/whitequark/ternary_ambiguous_symbol.txt
@@ -1,48 +1,48 @@
-@ ProgramNode (location: (0...13))
+@ ProgramNode (location: (1,0)-(1,13))
├── locals: [:t]
└── statements:
- @ StatementsNode (location: (0...13))
+ @ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 2)
- ├── @ LocalVariableWriteNode (location: (0...3))
+ ├── @ LocalVariableWriteNode (location: (1,0)-(1,3))
│ ├── name: :t
│ ├── depth: 0
- │ ├── name_loc: (0...1) = "t"
+ │ ├── name_loc: (1,0)-(1,1) = "t"
│ ├── value:
- │ │ @ IntegerNode (location: (2...3))
+ │ │ @ IntegerNode (location: (1,2)-(1,3))
│ │ └── flags: decimal
- │ └── operator_loc: (1...2) = "="
- └── @ IfNode (location: (4...13))
+ │ └── operator_loc: (1,1)-(1,2) = "="
+ └── @ IfNode (location: (1,4)-(1,13))
├── if_keyword_loc: ∅
├── predicate:
- │ @ ParenthesesNode (location: (4...9))
+ │ @ ParenthesesNode (location: (1,4)-(1,9))
│ ├── body:
- │ │ @ StatementsNode (location: (5...8))
+ │ │ @ StatementsNode (location: (1,5)-(1,8))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (5...8))
+ │ │ └── @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (5...8) = "foo"
+ │ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "foo"
- │ ├── opening_loc: (4...5) = "("
- │ └── closing_loc: (8...9) = ")"
+ │ ├── opening_loc: (1,4)-(1,5) = "("
+ │ └── closing_loc: (1,8)-(1,9) = ")"
├── statements:
- │ @ StatementsNode (location: (10...11))
+ │ @ StatementsNode (location: (1,10)-(1,11))
│ └── body: (length: 1)
- │ └── @ LocalVariableReadNode (location: (10...11))
+ │ └── @ LocalVariableReadNode (location: (1,10)-(1,11))
│ ├── name: :t
│ └── depth: 0
├── consequent:
- │ @ ElseNode (location: (11...13))
- │ ├── else_keyword_loc: (11...12) = ":"
+ │ @ ElseNode (location: (1,11)-(1,13))
+ │ ├── else_keyword_loc: (1,11)-(1,12) = ":"
│ ├── statements:
- │ │ @ StatementsNode (location: (12...13))
+ │ │ @ StatementsNode (location: (1,12)-(1,13))
│ │ └── body: (length: 1)
- │ │ └── @ ConstantReadNode (location: (12...13))
+ │ │ └── @ ConstantReadNode (location: (1,12)-(1,13))
│ │ └── name: :T
│ └── end_keyword_loc: ∅
└── end_keyword_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/trailing_forward_arg.txt b/test/yarp/snapshots/whitequark/trailing_forward_arg.txt
index ad5bd64d4d..a67b8552b5 100644
--- a/test/yarp/snapshots/whitequark/trailing_forward_arg.txt
+++ b/test/yarp/snapshots/whitequark/trailing_forward_arg.txt
@@ -1,51 +1,51 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(1,40))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(1,40))
└── body: (length: 1)
- └── @ DefNode (location: (0...40))
+ └── @ DefNode (location: (1,0)-(1,40))
├── name: :foo
- ├── name_loc: (4...7) = "foo"
+ ├── name_loc: (1,4)-(1,7) = "foo"
├── receiver: ∅
├── parameters:
- │ @ ParametersNode (location: (8...17))
+ │ @ ParametersNode (location: (1,8)-(1,17))
│ ├── requireds: (length: 2)
- │ │ ├── @ RequiredParameterNode (location: (8...9))
+ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ └── name: :a
- │ │ └── @ RequiredParameterNode (location: (11...12))
+ │ │ └── @ RequiredParameterNode (location: (1,11)-(1,12))
│ │ └── name: :b
│ ├── optionals: (length: 0)
│ ├── rest: ∅
│ ├── posts: (length: 0)
│ ├── keywords: (length: 0)
│ ├── keyword_rest:
- │ │ @ ForwardingParameterNode (location: (14...17))
+ │ │ @ ForwardingParameterNode (location: (1,14)-(1,17))
│ └── block: ∅
├── body:
- │ @ StatementsNode (location: (20...35))
+ │ @ StatementsNode (location: (1,20)-(1,35))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (20...35))
+ │ └── @ CallNode (location: (1,20)-(1,35))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (20...23) = "bar"
- │ ├── opening_loc: (23...24) = "("
+ │ ├── message_loc: (1,20)-(1,23) = "bar"
+ │ ├── opening_loc: (1,23)-(1,24) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (24...34))
+ │ │ @ ArgumentsNode (location: (1,24)-(1,34))
│ │ └── arguments: (length: 3)
- │ │ ├── @ LocalVariableReadNode (location: (24...25))
+ │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
- │ │ ├── @ IntegerNode (location: (27...29))
+ │ │ ├── @ IntegerNode (location: (1,27)-(1,29))
│ │ │ └── flags: decimal
- │ │ └── @ ForwardingArgumentsNode (location: (31...34))
- │ ├── closing_loc: (34...35) = ")"
+ │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34))
+ │ ├── closing_loc: (1,34)-(1,35) = ")"
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "bar"
├── locals: [:a, :b, :"..."]
- ├── def_keyword_loc: (0...3) = "def"
+ ├── def_keyword_loc: (1,0)-(1,3) = "def"
├── operator_loc: ∅
- ├── lparen_loc: (7...8) = "("
- ├── rparen_loc: (17...18) = ")"
+ ├── lparen_loc: (1,7)-(1,8) = "("
+ ├── rparen_loc: (1,17)-(1,18) = ")"
├── equal_loc: ∅
- └── end_keyword_loc: (37...40) = "end"
+ └── end_keyword_loc: (1,37)-(1,40) = "end"
diff --git a/test/yarp/snapshots/whitequark/true.txt b/test/yarp/snapshots/whitequark/true.txt
index 48711e2d48..3e1ceef586 100644
--- a/test/yarp/snapshots/whitequark/true.txt
+++ b/test/yarp/snapshots/whitequark/true.txt
@@ -1,6 +1,6 @@
-@ ProgramNode (location: (0...4))
+@ ProgramNode (location: (1,0)-(1,4))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...4))
+ @ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
- └── @ TrueNode (location: (0...4))
+ └── @ TrueNode (location: (1,0)-(1,4))
diff --git a/test/yarp/snapshots/whitequark/unary_num_pow_precedence.txt b/test/yarp/snapshots/whitequark/unary_num_pow_precedence.txt
index 239a36d669..e0efa7e17c 100644
--- a/test/yarp/snapshots/whitequark/unary_num_pow_precedence.txt
+++ b/test/yarp/snapshots/whitequark/unary_num_pow_precedence.txt
@@ -1,68 +1,68 @@
-@ ProgramNode (location: (0...32))
+@ ProgramNode (location: (1,0)-(5,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...32))
+ @ StatementsNode (location: (1,0)-(5,10))
└── body: (length: 3)
- ├── @ CallNode (location: (0...10))
+ ├── @ CallNode (location: (1,0)-(1,10))
│ ├── receiver:
- │ │ @ FloatNode (location: (0...4))
+ │ │ @ FloatNode (location: (1,0)-(1,4))
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...7) = "**"
+ │ ├── message_loc: (1,5)-(1,7) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (8...10))
+ │ │ @ ArgumentsNode (location: (1,8)-(1,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (8...10))
+ │ │ └── @ IntegerNode (location: (1,8)-(1,10))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
- ├── @ CallNode (location: (12...20))
+ ├── @ CallNode (location: (3,0)-(3,8))
│ ├── receiver:
- │ │ @ CallNode (location: (13...20))
+ │ │ @ CallNode (location: (3,1)-(3,8))
│ │ ├── receiver:
- │ │ │ @ IntegerNode (location: (13...14))
+ │ │ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (15...17) = "**"
+ │ │ ├── message_loc: (3,3)-(3,5) = "**"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
- │ │ │ @ ArgumentsNode (location: (18...20))
+ │ │ │ @ ArgumentsNode (location: (3,6)-(3,8))
│ │ │ └── arguments: (length: 1)
- │ │ │ └── @ IntegerNode (location: (18...20))
+ │ │ │ └── @ IntegerNode (location: (3,6)-(3,8))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: ∅
│ │ └── name: "**"
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (12...13) = "-"
+ │ ├── message_loc: (3,0)-(3,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "-@"
- └── @ CallNode (location: (22...32))
+ └── @ CallNode (location: (5,0)-(5,10))
├── receiver:
- │ @ CallNode (location: (23...32))
+ │ @ CallNode (location: (5,1)-(5,10))
│ ├── receiver:
- │ │ @ FloatNode (location: (23...26))
+ │ │ @ FloatNode (location: (5,1)-(5,4))
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (27...29) = "**"
+ │ ├── message_loc: (5,5)-(5,7) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (30...32))
+ │ │ @ ArgumentsNode (location: (5,8)-(5,10))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (30...32))
+ │ │ └── @ IntegerNode (location: (5,8)-(5,10))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: ∅
│ └── name: "**"
├── call_operator_loc: ∅
- ├── message_loc: (22...23) = "-"
+ ├── message_loc: (5,0)-(5,1) = "-"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/undef.txt b/test/yarp/snapshots/whitequark/undef.txt
index fd9104bb7e..1012a03c57 100644
--- a/test/yarp/snapshots/whitequark/undef.txt
+++ b/test/yarp/snapshots/whitequark/undef.txt
@@ -1,36 +1,36 @@
-@ ProgramNode (location: (0...27))
+@ ProgramNode (location: (1,0)-(1,27))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...27))
+ @ StatementsNode (location: (1,0)-(1,27))
└── body: (length: 1)
- └── @ UndefNode (location: (0...27))
+ └── @ UndefNode (location: (1,0)-(1,27))
├── names: (length: 3)
- │ ├── @ SymbolNode (location: (6...9))
+ │ ├── @ SymbolNode (location: (1,6)-(1,9))
│ │ ├── opening_loc: ∅
- │ │ ├── value_loc: (6...9) = "foo"
+ │ │ ├── value_loc: (1,6)-(1,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ ├── @ SymbolNode (location: (11...15))
- │ │ ├── opening_loc: (11...12) = ":"
- │ │ ├── value_loc: (12...15) = "bar"
+ │ ├── @ SymbolNode (location: (1,11)-(1,15))
+ │ │ ├── opening_loc: (1,11)-(1,12) = ":"
+ │ │ ├── value_loc: (1,12)-(1,15) = "bar"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "bar"
- │ └── @ InterpolatedSymbolNode (location: (17...27))
- │ ├── opening_loc: (17...19) = ":\""
+ │ └── @ InterpolatedSymbolNode (location: (1,17)-(1,27))
+ │ ├── opening_loc: (1,17)-(1,19) = ":\""
│ ├── parts: (length: 2)
- │ │ ├── @ StringNode (location: (19...22))
+ │ │ ├── @ StringNode (location: (1,19)-(1,22))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (19...22) = "foo"
+ │ │ │ ├── content_loc: (1,19)-(1,22) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
- │ │ └── @ EmbeddedStatementsNode (location: (22...26))
- │ │ ├── opening_loc: (22...24) = "\#{"
+ │ │ └── @ EmbeddedStatementsNode (location: (1,22)-(1,26))
+ │ │ ├── opening_loc: (1,22)-(1,24) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (24...25))
+ │ │ │ @ StatementsNode (location: (1,24)-(1,25))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ IntegerNode (location: (24...25))
+ │ │ │ └── @ IntegerNode (location: (1,24)-(1,25))
│ │ │ └── flags: decimal
- │ │ └── closing_loc: (25...26) = "}"
- │ └── closing_loc: (26...27) = "\""
- └── keyword_loc: (0...5) = "undef"
+ │ │ └── closing_loc: (1,25)-(1,26) = "}"
+ │ └── closing_loc: (1,26)-(1,27) = "\""
+ └── keyword_loc: (1,0)-(1,5) = "undef"
diff --git a/test/yarp/snapshots/whitequark/unless.txt b/test/yarp/snapshots/whitequark/unless.txt
index f08bba46f8..8f34c0f21f 100644
--- a/test/yarp/snapshots/whitequark/unless.txt
+++ b/test/yarp/snapshots/whitequark/unless.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...46))
+@ ProgramNode (location: (1,0)-(3,20))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...46))
+ @ StatementsNode (location: (1,0)-(3,20))
└── body: (length: 2)
- ├── @ UnlessNode (location: (0...24))
- │ ├── keyword_loc: (0...6) = "unless"
+ ├── @ UnlessNode (location: (1,0)-(1,24))
+ │ ├── keyword_loc: (1,0)-(1,6) = "unless"
│ ├── predicate:
- │ │ @ CallNode (location: (7...10))
+ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...10) = "foo"
+ │ │ ├── message_loc: (1,7)-(1,10) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (16...19))
+ │ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...19))
+ │ │ └── @ CallNode (location: (1,16)-(1,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "bar"
+ │ │ ├── message_loc: (1,16)-(1,19) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,14 +30,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent: ∅
- │ └── end_keyword_loc: (21...24) = "end"
- └── @ UnlessNode (location: (26...46))
- ├── keyword_loc: (26...32) = "unless"
+ │ └── end_keyword_loc: (1,21)-(1,24) = "end"
+ └── @ UnlessNode (location: (3,0)-(3,20))
+ ├── keyword_loc: (3,0)-(3,6) = "unless"
├── predicate:
- │ @ CallNode (location: (33...36))
+ │ @ CallNode (location: (3,7)-(3,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...36) = "foo"
+ │ ├── message_loc: (3,7)-(3,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -45,12 +45,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (38...41))
+ │ @ StatementsNode (location: (3,12)-(3,15))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (38...41))
+ │ └── @ CallNode (location: (3,12)-(3,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (38...41) = "bar"
+ │ ├── message_loc: (3,12)-(3,15) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -58,4 +58,4 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- └── end_keyword_loc: (43...46) = "end"
+ └── end_keyword_loc: (3,17)-(3,20) = "end"
diff --git a/test/yarp/snapshots/whitequark/unless_else.txt b/test/yarp/snapshots/whitequark/unless_else.txt
index c087aae0c9..77ca14355c 100644
--- a/test/yarp/snapshots/whitequark/unless_else.txt
+++ b/test/yarp/snapshots/whitequark/unless_else.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...66))
+@ ProgramNode (location: (1,0)-(3,30))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...66))
+ @ StatementsNode (location: (1,0)-(3,30))
└── body: (length: 2)
- ├── @ UnlessNode (location: (0...34))
- │ ├── keyword_loc: (0...6) = "unless"
+ ├── @ UnlessNode (location: (1,0)-(1,34))
+ │ ├── keyword_loc: (1,0)-(1,6) = "unless"
│ ├── predicate:
- │ │ @ CallNode (location: (7...10))
+ │ │ @ CallNode (location: (1,7)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (7...10) = "foo"
+ │ │ ├── message_loc: (1,7)-(1,10) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (16...19))
+ │ │ @ StatementsNode (location: (1,16)-(1,19))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (16...19))
+ │ │ └── @ CallNode (location: (1,16)-(1,19))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (16...19) = "bar"
+ │ │ ├── message_loc: (1,16)-(1,19) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -30,30 +30,30 @@
│ │ ├── flags: variable_call
│ │ └── name: "bar"
│ ├── consequent:
- │ │ @ ElseNode (location: (21...34))
- │ │ ├── else_keyword_loc: (21...25) = "else"
+ │ │ @ ElseNode (location: (1,21)-(1,34))
+ │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (26...29))
+ │ │ │ @ StatementsNode (location: (1,26)-(1,29))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (26...29))
+ │ │ │ └── @ CallNode (location: (1,26)-(1,29))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (26...29) = "baz"
+ │ │ │ ├── message_loc: (1,26)-(1,29) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
- │ │ └── end_keyword_loc: (31...34) = "end"
- │ └── end_keyword_loc: (31...34) = "end"
- └── @ UnlessNode (location: (36...66))
- ├── keyword_loc: (36...42) = "unless"
+ │ │ └── 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: (43...46))
+ │ @ CallNode (location: (3,7)-(3,10))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (43...46) = "foo"
+ │ ├── message_loc: (3,7)-(3,10) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -61,12 +61,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (48...51))
+ │ @ StatementsNode (location: (3,12)-(3,15))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (48...51))
+ │ └── @ CallNode (location: (3,12)-(3,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (48...51) = "bar"
+ │ ├── message_loc: (3,12)-(3,15) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -74,20 +74,20 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent:
- │ @ ElseNode (location: (53...66))
- │ ├── else_keyword_loc: (53...57) = "else"
+ │ @ ElseNode (location: (3,17)-(3,30))
+ │ ├── else_keyword_loc: (3,17)-(3,21) = "else"
│ ├── statements:
- │ │ @ StatementsNode (location: (58...61))
+ │ │ @ StatementsNode (location: (3,22)-(3,25))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (58...61))
+ │ │ └── @ CallNode (location: (3,22)-(3,25))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (58...61) = "baz"
+ │ │ ├── message_loc: (3,22)-(3,25) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "baz"
- │ └── end_keyword_loc: (63...66) = "end"
- └── end_keyword_loc: (63...66) = "end"
+ │ └── end_keyword_loc: (3,27)-(3,30) = "end"
+ └── end_keyword_loc: (3,27)-(3,30) = "end"
diff --git a/test/yarp/snapshots/whitequark/unless_mod.txt b/test/yarp/snapshots/whitequark/unless_mod.txt
index 427a950c45..923b4d3cc0 100644
--- a/test/yarp/snapshots/whitequark/unless_mod.txt
+++ b/test/yarp/snapshots/whitequark/unless_mod.txt
@@ -1,15 +1,15 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ UnlessNode (location: (0...14))
- ├── keyword_loc: (4...10) = "unless"
+ └── @ UnlessNode (location: (1,0)-(1,14))
+ ├── keyword_loc: (1,4)-(1,10) = "unless"
├── predicate:
- │ @ CallNode (location: (11...14))
+ │ @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "foo"
+ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -17,12 +17,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...3))
+ │ @ StatementsNode (location: (1,0)-(1,3))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (0...3))
+ │ └── @ CallNode (location: (1,0)-(1,3))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...3) = "bar"
+ │ ├── message_loc: (1,0)-(1,3) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/until.txt b/test/yarp/snapshots/whitequark/until.txt
index c830dd16dd..a00febb20a 100644
--- a/test/yarp/snapshots/whitequark/until.txt
+++ b/test/yarp/snapshots/whitequark/until.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(3,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
- ├── @ UntilNode (location: (0...21))
- │ ├── keyword_loc: (0...5) = "until"
- │ ├── closing_loc: (18...21) = "end"
+ ├── @ UntilNode (location: (1,0)-(1,21))
+ │ ├── keyword_loc: (1,0)-(1,5) = "until"
+ │ ├── closing_loc: (1,18)-(1,21) = "end"
│ ├── predicate:
- │ │ @ CallNode (location: (6...9))
+ │ │ @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "foo"
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -18,12 +18,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (13...17))
+ │ │ @ StatementsNode (location: (1,13)-(1,17))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (13...17))
+ │ │ └── @ CallNode (location: (1,13)-(1,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...17) = "meth"
+ │ │ ├── message_loc: (1,13)-(1,17) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -31,14 +31,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "meth"
│ └── flags: ∅
- └── @ UntilNode (location: (23...42))
- ├── keyword_loc: (23...28) = "until"
- ├── closing_loc: (39...42) = "end"
+ └── @ UntilNode (location: (3,0)-(3,19))
+ ├── keyword_loc: (3,0)-(3,5) = "until"
+ ├── closing_loc: (3,16)-(3,19) = "end"
├── predicate:
- │ @ CallNode (location: (29...32))
+ │ @ CallNode (location: (3,6)-(3,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...32) = "foo"
+ │ ├── message_loc: (3,6)-(3,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -46,12 +46,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (34...38))
+ │ @ StatementsNode (location: (3,11)-(3,15))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (34...38))
+ │ └── @ CallNode (location: (3,11)-(3,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (34...38) = "meth"
+ │ ├── message_loc: (3,11)-(3,15) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/until_mod.txt b/test/yarp/snapshots/whitequark/until_mod.txt
index a574f9a304..56cc47b9d7 100644
--- a/test/yarp/snapshots/whitequark/until_mod.txt
+++ b/test/yarp/snapshots/whitequark/until_mod.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ UntilNode (location: (0...14))
- ├── keyword_loc: (5...10) = "until"
+ └── @ UntilNode (location: (1,0)-(1,14))
+ ├── keyword_loc: (1,5)-(1,10) = "until"
├── closing_loc: ∅
├── predicate:
- │ @ CallNode (location: (11...14))
+ │ @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "foo"
+ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -18,12 +18,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...4))
+ │ @ StatementsNode (location: (1,0)-(1,4))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (0...4))
+ │ └── @ CallNode (location: (1,0)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "meth"
+ │ ├── message_loc: (1,0)-(1,4) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/until_post.txt b/test/yarp/snapshots/whitequark/until_post.txt
index 6750200540..7bcfd2678b 100644
--- a/test/yarp/snapshots/whitequark/until_post.txt
+++ b/test/yarp/snapshots/whitequark/until_post.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ UntilNode (location: (0...24))
- ├── keyword_loc: (15...20) = "until"
+ └── @ UntilNode (location: (1,0)-(1,24))
+ ├── keyword_loc: (1,15)-(1,20) = "until"
├── closing_loc: ∅
├── predicate:
- │ @ CallNode (location: (21...24))
+ │ @ CallNode (location: (1,21)-(1,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "foo"
+ │ ├── message_loc: (1,21)-(1,24) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -18,17 +18,17 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...14))
+ │ @ StatementsNode (location: (1,0)-(1,14))
│ └── body: (length: 1)
- │ └── @ BeginNode (location: (0...14))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ │ └── @ BeginNode (location: (1,0)-(1,14))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (6...10))
+ │ │ @ StatementsNode (location: (1,6)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (6...10))
+ │ │ └── @ CallNode (location: (1,6)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...10) = "meth"
+ │ │ ├── message_loc: (1,6)-(1,10) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -38,5 +38,5 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (11...14) = "end"
+ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
└── flags: begin_modifier
diff --git a/test/yarp/snapshots/whitequark/var_and_asgn.txt b/test/yarp/snapshots/whitequark/var_and_asgn.txt
index 2a45611849..fc746a9350 100644
--- a/test/yarp/snapshots/whitequark/var_and_asgn.txt
+++ b/test/yarp/snapshots/whitequark/var_and_asgn.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ LocalVariableAndWriteNode (location: (0...7))
- ├── name_loc: (0...1) = "a"
- ├── operator_loc: (2...5) = "&&="
+ └── @ LocalVariableAndWriteNode (location: (1,0)-(1,7))
+ ├── name_loc: (1,0)-(1,1) = "a"
+ ├── operator_loc: (1,2)-(1,5) = "&&="
├── value:
- │ @ IntegerNode (location: (6...7))
+ │ @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── name: :a
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/var_op_asgn.txt b/test/yarp/snapshots/whitequark/var_op_asgn.txt
index 6085055890..7160141b07 100644
--- a/test/yarp/snapshots/whitequark/var_op_asgn.txt
+++ b/test/yarp/snapshots/whitequark/var_op_asgn.txt
@@ -1,53 +1,53 @@
-@ ProgramNode (location: (0...53))
+@ ProgramNode (location: (1,0)-(7,23))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...53))
+ @ StatementsNode (location: (1,0)-(7,23))
└── body: (length: 4)
- ├── @ ClassVariableOperatorWriteNode (location: (0...11))
+ ├── @ ClassVariableOperatorWriteNode (location: (1,0)-(1,11))
│ ├── name: :@@var
- │ ├── name_loc: (0...5) = "@@var"
- │ ├── operator_loc: (6...8) = "|="
+ │ ├── name_loc: (1,0)-(1,5) = "@@var"
+ │ ├── operator_loc: (1,6)-(1,8) = "|="
│ ├── value:
- │ │ @ IntegerNode (location: (9...11))
+ │ │ @ IntegerNode (location: (1,9)-(1,11))
│ │ └── flags: decimal
│ └── operator: :|
- ├── @ InstanceVariableOperatorWriteNode (location: (13...20))
+ ├── @ InstanceVariableOperatorWriteNode (location: (3,0)-(3,7))
│ ├── name: :@a
- │ ├── name_loc: (13...15) = "@a"
- │ ├── operator_loc: (16...18) = "|="
+ │ ├── name_loc: (3,0)-(3,2) = "@a"
+ │ ├── operator_loc: (3,3)-(3,5) = "|="
│ ├── value:
- │ │ @ IntegerNode (location: (19...20))
+ │ │ @ IntegerNode (location: (3,6)-(3,7))
│ │ └── flags: decimal
│ └── operator: :|
- ├── @ LocalVariableOperatorWriteNode (location: (22...28))
- │ ├── name_loc: (22...23) = "a"
- │ ├── operator_loc: (24...26) = "+="
+ ├── @ LocalVariableOperatorWriteNode (location: (5,0)-(5,6))
+ │ ├── name_loc: (5,0)-(5,1) = "a"
+ │ ├── operator_loc: (5,2)-(5,4) = "+="
│ ├── value:
- │ │ @ IntegerNode (location: (27...28))
+ │ │ @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
- └── @ DefNode (location: (30...53))
+ └── @ DefNode (location: (7,0)-(7,23))
├── name: :a
- ├── name_loc: (34...35) = "a"
+ ├── name_loc: (7,4)-(7,5) = "a"
├── receiver: ∅
├── parameters: ∅
├── body:
- │ @ StatementsNode (location: (37...48))
+ │ @ StatementsNode (location: (7,7)-(7,18))
│ └── body: (length: 1)
- │ └── @ ClassVariableOperatorWriteNode (location: (37...48))
+ │ └── @ ClassVariableOperatorWriteNode (location: (7,7)-(7,18))
│ ├── name: :@@var
- │ ├── name_loc: (37...42) = "@@var"
- │ ├── operator_loc: (43...45) = "|="
+ │ ├── name_loc: (7,7)-(7,12) = "@@var"
+ │ ├── operator_loc: (7,13)-(7,15) = "|="
│ ├── value:
- │ │ @ IntegerNode (location: (46...48))
+ │ │ @ IntegerNode (location: (7,16)-(7,18))
│ │ └── flags: decimal
│ └── operator: :|
├── locals: []
- ├── def_keyword_loc: (30...33) = "def"
+ ├── def_keyword_loc: (7,0)-(7,3) = "def"
├── operator_loc: ∅
├── lparen_loc: ∅
├── rparen_loc: ∅
├── equal_loc: ∅
- └── end_keyword_loc: (50...53) = "end"
+ └── end_keyword_loc: (7,20)-(7,23) = "end"
diff --git a/test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt b/test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt
index 3a2e4209f0..9f9750cedd 100644
--- a/test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt
+++ b/test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt
@@ -1,21 +1,21 @@
-@ ProgramNode (location: (0...12))
+@ ProgramNode (location: (1,0)-(1,12))
├── locals: [:foo]
└── statements:
- @ StatementsNode (location: (0...12))
+ @ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
- └── @ LocalVariableOperatorWriteNode (location: (0...12))
- ├── name_loc: (0...3) = "foo"
- ├── operator_loc: (4...6) = "+="
+ └── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,12))
+ ├── name_loc: (1,0)-(1,3) = "foo"
+ ├── operator_loc: (1,4)-(1,6) = "+="
├── value:
- │ @ CallNode (location: (7...12))
+ │ @ CallNode (location: (1,7)-(1,12))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (7...8) = "m"
+ │ ├── message_loc: (1,7)-(1,8) = "m"
│ ├── opening_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (9...12))
+ │ │ @ ArgumentsNode (location: (1,9)-(1,12))
│ │ └── arguments: (length: 1)
- │ │ └── @ LocalVariableReadNode (location: (9...12))
+ │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12))
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/var_or_asgn.txt b/test/yarp/snapshots/whitequark/var_or_asgn.txt
index 9aaf4a23d0..d5064bc55b 100644
--- a/test/yarp/snapshots/whitequark/var_or_asgn.txt
+++ b/test/yarp/snapshots/whitequark/var_or_asgn.txt
@@ -1,13 +1,13 @@
-@ ProgramNode (location: (0...7))
+@ ProgramNode (location: (1,0)-(1,7))
├── locals: [:a]
└── statements:
- @ StatementsNode (location: (0...7))
+ @ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
- └── @ LocalVariableOrWriteNode (location: (0...7))
- ├── name_loc: (0...1) = "a"
- ├── operator_loc: (2...5) = "||="
+ └── @ LocalVariableOrWriteNode (location: (1,0)-(1,7))
+ ├── name_loc: (1,0)-(1,1) = "a"
+ ├── operator_loc: (1,2)-(1,5) = "||="
├── value:
- │ @ IntegerNode (location: (6...7))
+ │ @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
├── name: :a
└── depth: 0
diff --git a/test/yarp/snapshots/whitequark/when_multi.txt b/test/yarp/snapshots/whitequark/when_multi.txt
index abd9f3ae42..499369644d 100644
--- a/test/yarp/snapshots/whitequark/when_multi.txt
+++ b/test/yarp/snapshots/whitequark/when_multi.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(1,37))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(1,37))
└── body: (length: 1)
- └── @ CaseNode (location: (0...37))
+ └── @ CaseNode (location: (1,0)-(1,37))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,28 +16,28 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (10...32))
- │ ├── keyword_loc: (10...14) = "when"
+ │ └── @ WhenNode (location: (1,10)-(1,32))
+ │ ├── keyword_loc: (1,10)-(1,14) = "when"
│ ├── conditions: (length: 2)
- │ │ ├── @ StringNode (location: (15...20))
+ │ │ ├── @ StringNode (location: (1,15)-(1,20))
│ │ │ ├── flags: ∅
- │ │ │ ├── opening_loc: (15...16) = "'"
- │ │ │ ├── content_loc: (16...19) = "bar"
- │ │ │ ├── closing_loc: (19...20) = "'"
+ │ │ │ ├── opening_loc: (1,15)-(1,16) = "'"
+ │ │ │ ├── content_loc: (1,16)-(1,19) = "bar"
+ │ │ │ ├── closing_loc: (1,19)-(1,20) = "'"
│ │ │ └── unescaped: "bar"
- │ │ └── @ StringNode (location: (22...27))
+ │ │ └── @ StringNode (location: (1,22)-(1,27))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (22...23) = "'"
- │ │ ├── content_loc: (23...26) = "baz"
- │ │ ├── closing_loc: (26...27) = "'"
+ │ │ ├── opening_loc: (1,22)-(1,23) = "'"
+ │ │ ├── content_loc: (1,23)-(1,26) = "baz"
+ │ │ ├── closing_loc: (1,26)-(1,27) = "'"
│ │ └── unescaped: "baz"
│ └── statements:
- │ @ StatementsNode (location: (29...32))
+ │ @ StatementsNode (location: (1,29)-(1,32))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (29...32))
+ │ └── @ CallNode (location: (1,29)-(1,32))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...32) = "bar"
+ │ ├── message_loc: (1,29)-(1,32) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -45,5 +45,5 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (34...37) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,34)-(1,37) = "end"
diff --git a/test/yarp/snapshots/whitequark/when_splat.txt b/test/yarp/snapshots/whitequark/when_splat.txt
index 09ed87ec19..d09637b1a1 100644
--- a/test/yarp/snapshots/whitequark/when_splat.txt
+++ b/test/yarp/snapshots/whitequark/when_splat.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...43))
+@ ProgramNode (location: (1,0)-(1,43))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...43))
+ @ StatementsNode (location: (1,0)-(1,43))
└── body: (length: 1)
- └── @ CaseNode (location: (0...43))
+ └── @ CaseNode (location: (1,0)-(1,43))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,18 +16,18 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 2)
- │ ├── @ WhenNode (location: (10...27))
- │ │ ├── keyword_loc: (10...14) = "when"
+ │ ├── @ WhenNode (location: (1,10)-(1,27))
+ │ │ ├── keyword_loc: (1,10)-(1,14) = "when"
│ │ ├── conditions: (length: 2)
- │ │ │ ├── @ IntegerNode (location: (15...16))
+ │ │ │ ├── @ IntegerNode (location: (1,15)-(1,16))
│ │ │ │ └── flags: decimal
- │ │ │ └── @ SplatNode (location: (18...22))
- │ │ │ ├── operator_loc: (18...19) = "*"
+ │ │ │ └── @ SplatNode (location: (1,18)-(1,22))
+ │ │ │ ├── operator_loc: (1,18)-(1,19) = "*"
│ │ │ └── expression:
- │ │ │ @ CallNode (location: (19...22))
+ │ │ │ @ CallNode (location: (1,19)-(1,22))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (19...22) = "baz"
+ │ │ │ ├── message_loc: (1,19)-(1,22) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
@@ -35,28 +35,28 @@
│ │ │ ├── flags: variable_call
│ │ │ └── name: "baz"
│ │ └── statements:
- │ │ @ StatementsNode (location: (24...27))
+ │ │ @ StatementsNode (location: (1,24)-(1,27))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (24...27))
+ │ │ └── @ CallNode (location: (1,24)-(1,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (24...27) = "bar"
+ │ │ ├── message_loc: (1,24)-(1,27) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ ├── flags: variable_call
│ │ └── name: "bar"
- │ └── @ WhenNode (location: (29...38))
- │ ├── keyword_loc: (29...33) = "when"
+ │ └── @ WhenNode (location: (1,29)-(1,38))
+ │ ├── keyword_loc: (1,29)-(1,33) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ SplatNode (location: (34...38))
- │ │ ├── operator_loc: (34...35) = "*"
+ │ │ └── @ SplatNode (location: (1,34)-(1,38))
+ │ │ ├── operator_loc: (1,34)-(1,35) = "*"
│ │ └── expression:
- │ │ @ CallNode (location: (35...38))
+ │ │ @ CallNode (location: (1,35)-(1,38))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (35...38) = "foo"
+ │ │ ├── message_loc: (1,35)-(1,38) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -65,5 +65,5 @@
│ │ └── name: "foo"
│ └── statements: ∅
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (40...43) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,40)-(1,43) = "end"
diff --git a/test/yarp/snapshots/whitequark/when_then.txt b/test/yarp/snapshots/whitequark/when_then.txt
index 64275498c7..01feb88737 100644
--- a/test/yarp/snapshots/whitequark/when_then.txt
+++ b/test/yarp/snapshots/whitequark/when_then.txt
@@ -1,14 +1,14 @@
-@ ProgramNode (location: (0...34))
+@ ProgramNode (location: (1,0)-(1,34))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...34))
+ @ StatementsNode (location: (1,0)-(1,34))
└── body: (length: 1)
- └── @ CaseNode (location: (0...34))
+ └── @ CaseNode (location: (1,0)-(1,34))
├── predicate:
- │ @ CallNode (location: (5...8))
+ │ @ CallNode (location: (1,5)-(1,8))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (5...8) = "foo"
+ │ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -16,22 +16,22 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── conditions: (length: 1)
- │ └── @ WhenNode (location: (10...29))
- │ ├── keyword_loc: (10...14) = "when"
+ │ └── @ WhenNode (location: (1,10)-(1,29))
+ │ ├── keyword_loc: (1,10)-(1,14) = "when"
│ ├── conditions: (length: 1)
- │ │ └── @ StringNode (location: (15...20))
+ │ │ └── @ StringNode (location: (1,15)-(1,20))
│ │ ├── flags: ∅
- │ │ ├── opening_loc: (15...16) = "'"
- │ │ ├── content_loc: (16...19) = "bar"
- │ │ ├── closing_loc: (19...20) = "'"
+ │ │ ├── opening_loc: (1,15)-(1,16) = "'"
+ │ │ ├── content_loc: (1,16)-(1,19) = "bar"
+ │ │ ├── closing_loc: (1,19)-(1,20) = "'"
│ │ └── unescaped: "bar"
│ └── statements:
- │ @ StatementsNode (location: (26...29))
+ │ @ StatementsNode (location: (1,26)-(1,29))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (26...29))
+ │ └── @ CallNode (location: (1,26)-(1,29))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (26...29) = "bar"
+ │ ├── message_loc: (1,26)-(1,29) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -39,5 +39,5 @@
│ ├── flags: variable_call
│ └── name: "bar"
├── consequent: ∅
- ├── case_keyword_loc: (0...4) = "case"
- └── end_keyword_loc: (31...34) = "end"
+ ├── case_keyword_loc: (1,0)-(1,4) = "case"
+ └── end_keyword_loc: (1,31)-(1,34) = "end"
diff --git a/test/yarp/snapshots/whitequark/while.txt b/test/yarp/snapshots/whitequark/while.txt
index 7655b4d3a3..2fae4e412f 100644
--- a/test/yarp/snapshots/whitequark/while.txt
+++ b/test/yarp/snapshots/whitequark/while.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...42))
+@ ProgramNode (location: (1,0)-(3,19))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...42))
+ @ StatementsNode (location: (1,0)-(3,19))
└── body: (length: 2)
- ├── @ WhileNode (location: (0...21))
- │ ├── keyword_loc: (0...5) = "while"
- │ ├── closing_loc: (18...21) = "end"
+ ├── @ WhileNode (location: (1,0)-(1,21))
+ │ ├── keyword_loc: (1,0)-(1,5) = "while"
+ │ ├── closing_loc: (1,18)-(1,21) = "end"
│ ├── predicate:
- │ │ @ CallNode (location: (6...9))
+ │ │ @ CallNode (location: (1,6)-(1,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...9) = "foo"
+ │ │ ├── message_loc: (1,6)-(1,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -18,12 +18,12 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ ├── statements:
- │ │ @ StatementsNode (location: (13...17))
+ │ │ @ StatementsNode (location: (1,13)-(1,17))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (13...17))
+ │ │ └── @ CallNode (location: (1,13)-(1,17))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...17) = "meth"
+ │ │ ├── message_loc: (1,13)-(1,17) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -31,14 +31,14 @@
│ │ ├── flags: variable_call
│ │ └── name: "meth"
│ └── flags: ∅
- └── @ WhileNode (location: (23...42))
- ├── keyword_loc: (23...28) = "while"
- ├── closing_loc: (39...42) = "end"
+ └── @ WhileNode (location: (3,0)-(3,19))
+ ├── keyword_loc: (3,0)-(3,5) = "while"
+ ├── closing_loc: (3,16)-(3,19) = "end"
├── predicate:
- │ @ CallNode (location: (29...32))
+ │ @ CallNode (location: (3,6)-(3,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (29...32) = "foo"
+ │ ├── message_loc: (3,6)-(3,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -46,12 +46,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (34...38))
+ │ @ StatementsNode (location: (3,11)-(3,15))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (34...38))
+ │ └── @ CallNode (location: (3,11)-(3,15))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (34...38) = "meth"
+ │ ├── message_loc: (3,11)-(3,15) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/while_mod.txt b/test/yarp/snapshots/whitequark/while_mod.txt
index d123a4deff..46b1d20033 100644
--- a/test/yarp/snapshots/whitequark/while_mod.txt
+++ b/test/yarp/snapshots/whitequark/while_mod.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ WhileNode (location: (0...14))
- ├── keyword_loc: (5...10) = "while"
+ └── @ WhileNode (location: (1,0)-(1,14))
+ ├── keyword_loc: (1,5)-(1,10) = "while"
├── closing_loc: ∅
├── predicate:
- │ @ CallNode (location: (11...14))
+ │ @ CallNode (location: (1,11)-(1,14))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (11...14) = "foo"
+ │ ├── message_loc: (1,11)-(1,14) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -18,12 +18,12 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...4))
+ │ @ StatementsNode (location: (1,0)-(1,4))
│ └── body: (length: 1)
- │ └── @ CallNode (location: (0...4))
+ │ └── @ CallNode (location: (1,0)-(1,4))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (0...4) = "meth"
+ │ ├── message_loc: (1,0)-(1,4) = "meth"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
diff --git a/test/yarp/snapshots/whitequark/while_post.txt b/test/yarp/snapshots/whitequark/while_post.txt
index 2ad5e8a84e..7ec16db0a1 100644
--- a/test/yarp/snapshots/whitequark/while_post.txt
+++ b/test/yarp/snapshots/whitequark/while_post.txt
@@ -1,16 +1,16 @@
-@ ProgramNode (location: (0...24))
+@ ProgramNode (location: (1,0)-(1,24))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...24))
+ @ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
- └── @ WhileNode (location: (0...24))
- ├── keyword_loc: (15...20) = "while"
+ └── @ WhileNode (location: (1,0)-(1,24))
+ ├── keyword_loc: (1,15)-(1,20) = "while"
├── closing_loc: ∅
├── predicate:
- │ @ CallNode (location: (21...24))
+ │ @ CallNode (location: (1,21)-(1,24))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (21...24) = "foo"
+ │ ├── message_loc: (1,21)-(1,24) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
@@ -18,17 +18,17 @@
│ ├── flags: variable_call
│ └── name: "foo"
├── statements:
- │ @ StatementsNode (location: (0...14))
+ │ @ StatementsNode (location: (1,0)-(1,14))
│ └── body: (length: 1)
- │ └── @ BeginNode (location: (0...14))
- │ ├── begin_keyword_loc: (0...5) = "begin"
+ │ └── @ BeginNode (location: (1,0)-(1,14))
+ │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin"
│ ├── statements:
- │ │ @ StatementsNode (location: (6...10))
+ │ │ @ StatementsNode (location: (1,6)-(1,10))
│ │ └── body: (length: 1)
- │ │ └── @ CallNode (location: (6...10))
+ │ │ └── @ CallNode (location: (1,6)-(1,10))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (6...10) = "meth"
+ │ │ ├── message_loc: (1,6)-(1,10) = "meth"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -38,5 +38,5 @@
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
- │ └── end_keyword_loc: (11...14) = "end"
+ │ └── end_keyword_loc: (1,11)-(1,14) = "end"
└── flags: begin_modifier
diff --git a/test/yarp/snapshots/whitequark/xstring_interp.txt b/test/yarp/snapshots/whitequark/xstring_interp.txt
index 58f18d8e59..53844dfbe2 100644
--- a/test/yarp/snapshots/whitequark/xstring_interp.txt
+++ b/test/yarp/snapshots/whitequark/xstring_interp.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...14))
+@ ProgramNode (location: (1,0)-(1,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...14))
+ @ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
- └── @ InterpolatedXStringNode (location: (0...14))
- ├── opening_loc: (0...1) = "`"
+ └── @ InterpolatedXStringNode (location: (1,0)-(1,14))
+ ├── opening_loc: (1,0)-(1,1) = "`"
├── parts: (length: 3)
- │ ├── @ StringNode (location: (1...4))
+ │ ├── @ StringNode (location: (1,1)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (1...4) = "foo"
+ │ │ ├── content_loc: (1,1)-(1,4) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
- │ ├── @ EmbeddedStatementsNode (location: (4...10))
- │ │ ├── opening_loc: (4...6) = "\#{"
+ │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10))
+ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{"
│ │ ├── statements:
- │ │ │ @ StatementsNode (location: (6...9))
+ │ │ │ @ StatementsNode (location: (1,6)-(1,9))
│ │ │ └── body: (length: 1)
- │ │ │ └── @ CallNode (location: (6...9))
+ │ │ │ └── @ CallNode (location: (1,6)-(1,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
- │ │ │ ├── message_loc: (6...9) = "bar"
+ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ ├── flags: variable_call
│ │ │ └── name: "bar"
- │ │ └── closing_loc: (9...10) = "}"
- │ └── @ StringNode (location: (10...13))
+ │ │ └── closing_loc: (1,9)-(1,10) = "}"
+ │ └── @ StringNode (location: (1,10)-(1,13))
│ ├── flags: ∅
│ ├── opening_loc: ∅
- │ ├── content_loc: (10...13) = "baz"
+ │ ├── content_loc: (1,10)-(1,13) = "baz"
│ ├── closing_loc: ∅
│ └── unescaped: "baz"
- └── closing_loc: (13...14) = "`"
+ └── closing_loc: (1,13)-(1,14) = "`"
diff --git a/test/yarp/snapshots/whitequark/xstring_plain.txt b/test/yarp/snapshots/whitequark/xstring_plain.txt
index 4e73240258..2546f9829f 100644
--- a/test/yarp/snapshots/whitequark/xstring_plain.txt
+++ b/test/yarp/snapshots/whitequark/xstring_plain.txt
@@ -1,10 +1,10 @@
-@ ProgramNode (location: (0...8))
+@ ProgramNode (location: (1,0)-(1,8))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...8))
+ @ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
- └── @ XStringNode (location: (0...8))
- ├── opening_loc: (0...1) = "`"
- ├── content_loc: (1...7) = "foobar"
- ├── closing_loc: (7...8) = "`"
+ └── @ XStringNode (location: (1,0)-(1,8))
+ ├── opening_loc: (1,0)-(1,1) = "`"
+ ├── content_loc: (1,1)-(1,7) = "foobar"
+ ├── closing_loc: (1,7)-(1,8) = "`"
└── unescaped: "foobar"
diff --git a/test/yarp/snapshots/whitequark/yield.txt b/test/yarp/snapshots/whitequark/yield.txt
index 0331729a8a..4d1ca051cc 100644
--- a/test/yarp/snapshots/whitequark/yield.txt
+++ b/test/yarp/snapshots/whitequark/yield.txt
@@ -1,23 +1,23 @@
-@ ProgramNode (location: (0...37))
+@ ProgramNode (location: (1,0)-(7,10))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...37))
+ @ StatementsNode (location: (1,0)-(7,10))
└── body: (length: 4)
- ├── @ YieldNode (location: (0...5))
- │ ├── keyword_loc: (0...5) = "yield"
+ ├── @ YieldNode (location: (1,0)-(1,5))
+ │ ├── keyword_loc: (1,0)-(1,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments: ∅
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (7...16))
- │ ├── keyword_loc: (7...12) = "yield"
+ ├── @ YieldNode (location: (3,0)-(3,9))
+ │ ├── keyword_loc: (3,0)-(3,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (13...16))
+ │ │ @ ArgumentsNode (location: (3,6)-(3,9))
│ │ └── arguments: (length: 1)
- │ │ └── @ CallNode (location: (13...16))
+ │ │ └── @ CallNode (location: (3,6)-(3,9))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
- │ │ ├── message_loc: (13...16) = "foo"
+ │ │ ├── message_loc: (3,6)-(3,9) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
@@ -25,25 +25,25 @@
│ │ ├── flags: variable_call
│ │ └── name: "foo"
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (18...25))
- │ ├── keyword_loc: (18...23) = "yield"
- │ ├── lparen_loc: (23...24) = "("
+ ├── @ YieldNode (location: (5,0)-(5,7))
+ │ ├── keyword_loc: (5,0)-(5,5) = "yield"
+ │ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments: ∅
- │ └── rparen_loc: (24...25) = ")"
- └── @ YieldNode (location: (27...37))
- ├── keyword_loc: (27...32) = "yield"
- ├── lparen_loc: (32...33) = "("
+ │ └── rparen_loc: (5,6)-(5,7) = ")"
+ └── @ YieldNode (location: (7,0)-(7,10))
+ ├── keyword_loc: (7,0)-(7,5) = "yield"
+ ├── lparen_loc: (7,5)-(7,6) = "("
├── arguments:
- │ @ ArgumentsNode (location: (33...36))
+ │ @ ArgumentsNode (location: (7,6)-(7,9))
│ └── arguments: (length: 1)
- │ └── @ CallNode (location: (33...36))
+ │ └── @ CallNode (location: (7,6)-(7,9))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
- │ ├── message_loc: (33...36) = "foo"
+ │ ├── message_loc: (7,6)-(7,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ ├── flags: variable_call
│ └── name: "foo"
- └── rparen_loc: (36...37) = ")"
+ └── rparen_loc: (7,9)-(7,10) = ")"
diff --git a/test/yarp/snapshots/whitequark/zsuper.txt b/test/yarp/snapshots/whitequark/zsuper.txt
index 0055d2d590..9c28128d06 100644
--- a/test/yarp/snapshots/whitequark/zsuper.txt
+++ b/test/yarp/snapshots/whitequark/zsuper.txt
@@ -1,7 +1,7 @@
-@ ProgramNode (location: (0...5))
+@ ProgramNode (location: (1,0)-(1,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...5))
+ @ StatementsNode (location: (1,0)-(1,5))
└── body: (length: 1)
- └── @ ForwardingSuperNode (location: (0...5))
+ └── @ ForwardingSuperNode (location: (1,0)-(1,5))
└── block: ∅
diff --git a/test/yarp/snapshots/xstring.txt b/test/yarp/snapshots/xstring.txt
index c7d9967279..5cea973e4f 100644
--- a/test/yarp/snapshots/xstring.txt
+++ b/test/yarp/snapshots/xstring.txt
@@ -1,52 +1,52 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(7,5))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(7,5))
└── body: (length: 4)
- ├── @ XStringNode (location: (0...7))
- │ ├── opening_loc: (0...3) = "%x["
- │ ├── content_loc: (3...6) = "foo"
- │ ├── closing_loc: (6...7) = "]"
+ ├── @ XStringNode (location: (1,0)-(1,7))
+ │ ├── opening_loc: (1,0)-(1,3) = "%x["
+ │ ├── content_loc: (1,3)-(1,6) = "foo"
+ │ ├── closing_loc: (1,6)-(1,7) = "]"
│ └── unescaped: "foo"
- ├── @ InterpolatedXStringNode (location: (9...25))
- │ ├── opening_loc: (9...10) = "`"
+ ├── @ InterpolatedXStringNode (location: (3,0)-(3,16))
+ │ ├── opening_loc: (3,0)-(3,1) = "`"
│ ├── parts: (length: 3)
- │ │ ├── @ StringNode (location: (10...14))
+ │ │ ├── @ StringNode (location: (3,1)-(3,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
- │ │ │ ├── content_loc: (10...14) = "foo "
+ │ │ │ ├── content_loc: (3,1)-(3,5) = "foo "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo "
- │ │ ├── @ EmbeddedStatementsNode (location: (14...20))
- │ │ │ ├── opening_loc: (14...16) = "\#{"
+ │ │ ├── @ EmbeddedStatementsNode (location: (3,5)-(3,11))
+ │ │ │ ├── opening_loc: (3,5)-(3,7) = "\#{"
│ │ │ ├── statements:
- │ │ │ │ @ StatementsNode (location: (16...19))
+ │ │ │ │ @ StatementsNode (location: (3,7)-(3,10))
│ │ │ │ └── body: (length: 1)
- │ │ │ │ └── @ CallNode (location: (16...19))
+ │ │ │ │ └── @ CallNode (location: (3,7)-(3,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
- │ │ │ │ ├── message_loc: (16...19) = "bar"
+ │ │ │ │ ├── message_loc: (3,7)-(3,10) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ ├── flags: variable_call
│ │ │ │ └── name: "bar"
- │ │ │ └── closing_loc: (19...20) = "}"
- │ │ └── @ StringNode (location: (20...24))
+ │ │ │ └── closing_loc: (3,10)-(3,11) = "}"
+ │ │ └── @ StringNode (location: (3,11)-(3,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
- │ │ ├── content_loc: (20...24) = " baz"
+ │ │ ├── content_loc: (3,11)-(3,15) = " baz"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " baz"
- │ └── closing_loc: (24...25) = "`"
- ├── @ XStringNode (location: (27...33))
- │ ├── opening_loc: (27...28) = "`"
- │ ├── content_loc: (28...32) = "f\\oo"
- │ ├── closing_loc: (32...33) = "`"
+ │ └── closing_loc: (3,15)-(3,16) = "`"
+ ├── @ XStringNode (location: (5,0)-(5,6))
+ │ ├── opening_loc: (5,0)-(5,1) = "`"
+ │ ├── content_loc: (5,1)-(5,5) = "f\\oo"
+ │ ├── closing_loc: (5,5)-(5,6) = "`"
│ └── unescaped: "foo"
- └── @ XStringNode (location: (35...40))
- ├── opening_loc: (35...36) = "`"
- ├── content_loc: (36...39) = "foo"
- ├── closing_loc: (39...40) = "`"
+ └── @ XStringNode (location: (7,0)-(7,5))
+ ├── opening_loc: (7,0)-(7,1) = "`"
+ ├── content_loc: (7,1)-(7,4) = "foo"
+ ├── closing_loc: (7,4)-(7,5) = "`"
└── unescaped: "foo"
diff --git a/test/yarp/snapshots/yield.txt b/test/yarp/snapshots/yield.txt
index 68b01a7abc..ecdf48f026 100644
--- a/test/yarp/snapshots/yield.txt
+++ b/test/yarp/snapshots/yield.txt
@@ -1,37 +1,37 @@
-@ ProgramNode (location: (0...40))
+@ ProgramNode (location: (1,0)-(7,14))
├── locals: []
└── statements:
- @ StatementsNode (location: (0...40))
+ @ StatementsNode (location: (1,0)-(7,14))
└── body: (length: 4)
- ├── @ YieldNode (location: (0...5))
- │ ├── keyword_loc: (0...5) = "yield"
+ ├── @ YieldNode (location: (1,0)-(1,5))
+ │ ├── keyword_loc: (1,0)-(1,5) = "yield"
│ ├── lparen_loc: ∅
│ ├── arguments: ∅
│ └── rparen_loc: ∅
- ├── @ YieldNode (location: (7...14))
- │ ├── keyword_loc: (7...12) = "yield"
- │ ├── lparen_loc: (12...13) = "("
+ ├── @ YieldNode (location: (3,0)-(3,7))
+ │ ├── keyword_loc: (3,0)-(3,5) = "yield"
+ │ ├── lparen_loc: (3,5)-(3,6) = "("
│ ├── arguments: ∅
- │ └── rparen_loc: (13...14) = ")"
- ├── @ YieldNode (location: (16...24))
- │ ├── keyword_loc: (16...21) = "yield"
- │ ├── lparen_loc: (21...22) = "("
+ │ └── rparen_loc: (3,6)-(3,7) = ")"
+ ├── @ YieldNode (location: (5,0)-(5,8))
+ │ ├── keyword_loc: (5,0)-(5,5) = "yield"
+ │ ├── lparen_loc: (5,5)-(5,6) = "("
│ ├── arguments:
- │ │ @ ArgumentsNode (location: (22...23))
+ │ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ └── arguments: (length: 1)
- │ │ └── @ IntegerNode (location: (22...23))
+ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ └── flags: decimal
- │ └── rparen_loc: (23...24) = ")"
- └── @ YieldNode (location: (26...40))
- ├── keyword_loc: (26...31) = "yield"
- ├── lparen_loc: (31...32) = "("
+ │ └── 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: (32...39))
+ │ @ ArgumentsNode (location: (7,6)-(7,13))
│ └── arguments: (length: 3)
- │ ├── @ IntegerNode (location: (32...33))
+ │ ├── @ IntegerNode (location: (7,6)-(7,7))
│ │ └── flags: decimal
- │ ├── @ IntegerNode (location: (35...36))
+ │ ├── @ IntegerNode (location: (7,9)-(7,10))
│ │ └── flags: decimal
- │ └── @ IntegerNode (location: (38...39))
+ │ └── @ IntegerNode (location: (7,12)-(7,13))
│ └── flags: decimal
- └── rparen_loc: (39...40) = ")"
+ └── rparen_loc: (7,13)-(7,14) = ")"