From d6abca459f5c785aee0e77883710ec47fed1a98f Mon Sep 17 00:00:00 2001 From: Jemma Issroff Date: Tue, 19 Sep 2023 11:46:04 -0400 Subject: [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 --- test/yarp/snapshots/alias.txt | 188 +- test/yarp/snapshots/arithmetic.txt | 114 +- test/yarp/snapshots/arrays.txt | 656 ++-- test/yarp/snapshots/begin_ensure.txt | 194 +- test/yarp/snapshots/begin_rescue.txt | 442 +-- test/yarp/snapshots/blocks.txt | 492 +-- test/yarp/snapshots/boolean_operators.txt | 34 +- test/yarp/snapshots/booleans.txt | 8 +- test/yarp/snapshots/break.txt | 202 +- test/yarp/snapshots/case.txt | 228 +- test/yarp/snapshots/classes.txt | 300 +- test/yarp/snapshots/comments.txt | 70 +- test/yarp/snapshots/constants.txt | 850 ++--- test/yarp/snapshots/dash_heredocs.txt | 236 +- test/yarp/snapshots/defined.txt | 62 +- test/yarp/snapshots/dos_endings.txt | 90 +- test/yarp/snapshots/embdoc_no_newline_at_end.txt | 4 +- test/yarp/snapshots/endless_methods.txt | 68 +- .../snapshots/endless_range_in_conditional.txt | 42 +- test/yarp/snapshots/for.txt | 148 +- test/yarp/snapshots/global_variables.txt | 190 +- test/yarp/snapshots/hashes.txt | 260 +- .../heredoc_with_escaped_newline_at_start.txt | 68 +- .../snapshots/heredoc_with_trailing_newline.txt | 12 +- test/yarp/snapshots/heredocs_nested.txt | 34 +- .../snapshots/heredocs_with_ignored_newlines.txt | 20 +- ...eredocs_with_ignored_newlines_and_non_empty.txt | 12 +- test/yarp/snapshots/if.txt | 348 +- test/yarp/snapshots/indented_file_end.txt | 12 +- test/yarp/snapshots/integer_operations.txt | 348 +- test/yarp/snapshots/keyword_method_names.txt | 136 +- test/yarp/snapshots/keywords.txt | 16 +- test/yarp/snapshots/lambda.txt | 138 +- test/yarp/snapshots/method_calls.txt | 1628 ++++----- test/yarp/snapshots/methods.txt | 1274 +++---- test/yarp/snapshots/modules.txt | 150 +- test/yarp/snapshots/newline_terminated.txt | 140 +- test/yarp/snapshots/next.txt | 146 +- test/yarp/snapshots/nils.txt | 42 +- test/yarp/snapshots/non_alphanumeric_methods.txt | 326 +- test/yarp/snapshots/not.txt | 176 +- test/yarp/snapshots/numbers.txt | 104 +- test/yarp/snapshots/patterns.txt | 3536 ++++++++++---------- test/yarp/snapshots/procs.txt | 336 +- test/yarp/snapshots/range_begin_open_exclusive.txt | 10 +- test/yarp/snapshots/range_begin_open_inclusive.txt | 10 +- test/yarp/snapshots/range_end_open_exclusive.txt | 10 +- test/yarp/snapshots/range_end_open_inclusive.txt | 10 +- test/yarp/snapshots/ranges.txt | 140 +- test/yarp/snapshots/regex.txt | 196 +- test/yarp/snapshots/rescue.txt | 270 +- test/yarp/snapshots/return.txt | 152 +- test/yarp/snapshots/seattlerb/BEGIN.txt | 16 +- .../snapshots/seattlerb/TestRubyParserShared.txt | 306 +- test/yarp/snapshots/seattlerb/__ENCODING__.txt | 6 +- .../snapshots/seattlerb/alias_gvar_backref.txt | 12 +- test/yarp/snapshots/seattlerb/alias_resword.txt | 16 +- test/yarp/snapshots/seattlerb/and_multi.txt | 22 +- test/yarp/snapshots/seattlerb/aref_args_assocs.txt | 20 +- .../snapshots/seattlerb/aref_args_lit_assocs.txt | 22 +- test/yarp/snapshots/seattlerb/args_kw_block.txt | 30 +- .../yarp/snapshots/seattlerb/array_line_breaks.txt | 28 +- .../seattlerb/array_lits_trailing_calls.txt | 28 +- test/yarp/snapshots/seattlerb/assoc__bare.txt | 24 +- test/yarp/snapshots/seattlerb/assoc_label.txt | 26 +- .../snapshots/seattlerb/attr_asgn_colon_id.txt | 16 +- .../snapshots/seattlerb/attrasgn_array_arg.txt | 30 +- .../snapshots/seattlerb/attrasgn_array_lhs.txt | 70 +- .../seattlerb/attrasgn_primary_dot_constant.txt | 18 +- .../seattlerb/backticks_interpolation_line.txt | 28 +- test/yarp/snapshots/seattlerb/bang_eq.txt | 14 +- test/yarp/snapshots/seattlerb/bdot2.txt | 22 +- test/yarp/snapshots/seattlerb/bdot3.txt | 22 +- .../snapshots/seattlerb/begin_ensure_no_bodies.txt | 16 +- .../seattlerb/begin_rescue_else_ensure_bodies.txt | 42 +- .../begin_rescue_else_ensure_no_bodies.txt | 26 +- .../seattlerb/begin_rescue_ensure_no_bodies.txt | 20 +- test/yarp/snapshots/seattlerb/block_arg__bare.txt | 22 +- .../yarp/snapshots/seattlerb/block_arg_kwsplat.txt | 28 +- .../seattlerb/block_arg_opt_arg_block.txt | 40 +- .../snapshots/seattlerb/block_arg_opt_splat.txt | 38 +- .../block_arg_opt_splat_arg_block_omfg.txt | 46 +- .../snapshots/seattlerb/block_arg_optional.txt | 30 +- test/yarp/snapshots/seattlerb/block_arg_scope.txt | 26 +- test/yarp/snapshots/seattlerb/block_arg_scope2.txt | 28 +- .../snapshots/seattlerb/block_arg_splat_arg.txt | 32 +- .../yarp/snapshots/seattlerb/block_args_kwargs.txt | 32 +- .../snapshots/seattlerb/block_args_no_kwargs.txt | 28 +- test/yarp/snapshots/seattlerb/block_args_opt1.txt | 44 +- test/yarp/snapshots/seattlerb/block_args_opt2.txt | 38 +- .../yarp/snapshots/seattlerb/block_args_opt2_2.txt | 54 +- test/yarp/snapshots/seattlerb/block_args_opt3.txt | 62 +- test/yarp/snapshots/seattlerb/block_break.txt | 36 +- .../seattlerb/block_call_defn_call_block_call.txt | 48 +- .../seattlerb/block_call_dot_op2_brace_block.txt | 64 +- .../block_call_dot_op2_cmd_args_do_block.txt | 70 +- .../seattlerb/block_call_operation_colon.txt | 32 +- .../seattlerb/block_call_operation_dot.txt | 32 +- .../seattlerb/block_call_paren_call_block_call.txt | 38 +- .../seattlerb/block_command_operation_colon.txt | 36 +- .../seattlerb/block_command_operation_dot.txt | 36 +- .../seattlerb/block_decomp_anon_splat_arg.txt | 34 +- .../snapshots/seattlerb/block_decomp_arg_splat.txt | 34 +- .../seattlerb/block_decomp_arg_splat_arg.txt | 38 +- .../snapshots/seattlerb/block_decomp_splat.txt | 34 +- test/yarp/snapshots/seattlerb/block_kw.txt | 28 +- .../snapshots/seattlerb/block_kw__required.txt | 26 +- test/yarp/snapshots/seattlerb/block_kwarg_lvar.txt | 36 +- .../seattlerb/block_kwarg_lvar_multiple.txt | 46 +- test/yarp/snapshots/seattlerb/block_next.txt | 36 +- test/yarp/snapshots/seattlerb/block_opt_arg.txt | 32 +- test/yarp/snapshots/seattlerb/block_opt_splat.txt | 36 +- .../seattlerb/block_opt_splat_arg_block_omfg.txt | 44 +- test/yarp/snapshots/seattlerb/block_optarg.txt | 34 +- .../yarp/snapshots/seattlerb/block_paren_splat.txt | 36 +- test/yarp/snapshots/seattlerb/block_reg_optarg.txt | 36 +- test/yarp/snapshots/seattlerb/block_return.txt | 36 +- test/yarp/snapshots/seattlerb/block_scope.txt | 22 +- test/yarp/snapshots/seattlerb/block_splat_reg.txt | 30 +- test/yarp/snapshots/seattlerb/bug169.txt | 22 +- test/yarp/snapshots/seattlerb/bug179.txt | 22 +- test/yarp/snapshots/seattlerb/bug190.txt | 12 +- test/yarp/snapshots/seattlerb/bug191.txt | 56 +- test/yarp/snapshots/seattlerb/bug202.txt | 20 +- test/yarp/snapshots/seattlerb/bug236.txt | 48 +- test/yarp/snapshots/seattlerb/bug290.txt | 16 +- test/yarp/snapshots/seattlerb/bug_187.txt | 36 +- test/yarp/snapshots/seattlerb/bug_215.txt | 16 +- test/yarp/snapshots/seattlerb/bug_249.txt | 68 +- test/yarp/snapshots/seattlerb/bug_and.txt | 24 +- test/yarp/snapshots/seattlerb/bug_args__19.txt | 38 +- test/yarp/snapshots/seattlerb/bug_args_masgn.txt | 34 +- test/yarp/snapshots/seattlerb/bug_args_masgn2.txt | 42 +- .../seattlerb/bug_args_masgn_outer_parens__19.txt | 40 +- .../seattlerb/bug_call_arglist_parens.txt | 82 +- .../snapshots/seattlerb/bug_case_when_regexp.txt | 28 +- test/yarp/snapshots/seattlerb/bug_comma.txt | 26 +- test/yarp/snapshots/seattlerb/bug_cond_pct.txt | 22 +- test/yarp/snapshots/seattlerb/bug_hash_args.txt | 32 +- .../seattlerb/bug_hash_args_trailing_comma.txt | 32 +- .../snapshots/seattlerb/bug_hash_interp_array.txt | 30 +- test/yarp/snapshots/seattlerb/bug_masgn_right.txt | 34 +- test/yarp/snapshots/seattlerb/bug_not_parens.txt | 16 +- .../snapshots/seattlerb/bug_op_asgn_rescue.txt | 20 +- test/yarp/snapshots/seattlerb/call_and.txt | 14 +- test/yarp/snapshots/seattlerb/call_arg_assoc.txt | 26 +- .../snapshots/seattlerb/call_arg_assoc_kwsplat.txt | 34 +- test/yarp/snapshots/seattlerb/call_arg_kwsplat.txt | 26 +- .../snapshots/seattlerb/call_args_assoc_quoted.txt | 74 +- .../seattlerb/call_args_assoc_trailing_comma.txt | 26 +- .../yarp/snapshots/seattlerb/call_args_command.txt | 30 +- test/yarp/snapshots/seattlerb/call_array_arg.txt | 30 +- .../snapshots/seattlerb/call_array_block_call.txt | 28 +- .../seattlerb/call_array_lambda_block_call.txt | 36 +- .../seattlerb/call_array_lit_inline_hash.txt | 40 +- test/yarp/snapshots/seattlerb/call_assoc.txt | 24 +- test/yarp/snapshots/seattlerb/call_assoc_new.txt | 26 +- .../seattlerb/call_assoc_new_if_multiline.txt | 50 +- .../seattlerb/call_assoc_trailing_comma.txt | 24 +- .../snapshots/seattlerb/call_bang_command_call.txt | 22 +- .../snapshots/seattlerb/call_bang_squiggle.txt | 14 +- .../seattlerb/call_begin_call_block_call.txt | 34 +- .../snapshots/seattlerb/call_block_arg_named.txt | 20 +- test/yarp/snapshots/seattlerb/call_carat.txt | 14 +- test/yarp/snapshots/seattlerb/call_colon2.txt | 12 +- .../yarp/snapshots/seattlerb/call_colon_parens.txt | 14 +- test/yarp/snapshots/seattlerb/call_div.txt | 14 +- test/yarp/snapshots/seattlerb/call_dot_parens.txt | 14 +- test/yarp/snapshots/seattlerb/call_env.txt | 14 +- test/yarp/snapshots/seattlerb/call_eq3.txt | 14 +- test/yarp/snapshots/seattlerb/call_gt.txt | 14 +- test/yarp/snapshots/seattlerb/call_kwsplat.txt | 22 +- .../yarp/snapshots/seattlerb/call_leading_dots.txt | 20 +- .../seattlerb/call_leading_dots_comment.txt | 20 +- test/yarp/snapshots/seattlerb/call_lt.txt | 14 +- test/yarp/snapshots/seattlerb/call_lte.txt | 14 +- test/yarp/snapshots/seattlerb/call_not.txt | 10 +- test/yarp/snapshots/seattlerb/call_pipe.txt | 14 +- test/yarp/snapshots/seattlerb/call_rshift.txt | 14 +- .../snapshots/seattlerb/call_self_brackets.txt | 18 +- test/yarp/snapshots/seattlerb/call_spaceship.txt | 14 +- .../seattlerb/call_stabby_do_end_with_block.txt | 32 +- .../seattlerb/call_stabby_with_braces_block.txt | 32 +- test/yarp/snapshots/seattlerb/call_star.txt | 14 +- test/yarp/snapshots/seattlerb/call_star2.txt | 14 +- .../snapshots/seattlerb/call_trailing_comma.txt | 16 +- .../snapshots/seattlerb/call_trailing_dots.txt | 20 +- test/yarp/snapshots/seattlerb/call_unary_bang.txt | 10 +- test/yarp/snapshots/seattlerb/case_in.txt | 860 ++--- test/yarp/snapshots/seattlerb/case_in_31.txt | 46 +- test/yarp/snapshots/seattlerb/case_in_37.txt | 54 +- test/yarp/snapshots/seattlerb/case_in_42.txt | 40 +- test/yarp/snapshots/seattlerb/case_in_42_2.txt | 40 +- test/yarp/snapshots/seattlerb/case_in_47.txt | 50 +- test/yarp/snapshots/seattlerb/case_in_67.txt | 32 +- test/yarp/snapshots/seattlerb/case_in_86.txt | 50 +- test/yarp/snapshots/seattlerb/case_in_86_2.txt | 50 +- .../seattlerb/case_in_array_pat_const.txt | 38 +- .../seattlerb/case_in_array_pat_const2.txt | 44 +- .../seattlerb/case_in_array_pat_paren_assign.txt | 44 +- test/yarp/snapshots/seattlerb/case_in_const.txt | 26 +- test/yarp/snapshots/seattlerb/case_in_else.txt | 40 +- test/yarp/snapshots/seattlerb/case_in_find.txt | 40 +- .../snapshots/seattlerb/case_in_find_array.txt | 42 +- test/yarp/snapshots/seattlerb/case_in_hash_pat.txt | 68 +- .../seattlerb/case_in_hash_pat_assign.txt | 76 +- .../seattlerb/case_in_hash_pat_paren_assign.txt | 46 +- .../seattlerb/case_in_hash_pat_paren_true.txt | 42 +- .../snapshots/seattlerb/case_in_hash_pat_rest.txt | 48 +- .../seattlerb/case_in_hash_pat_rest_solo.txt | 38 +- .../seattlerb/case_in_if_unless_post_mod.txt | 60 +- test/yarp/snapshots/seattlerb/case_in_multiple.txt | 56 +- test/yarp/snapshots/seattlerb/case_in_or.txt | 36 +- test/yarp/snapshots/seattlerb/class_comments.txt | 22 +- test/yarp/snapshots/seattlerb/cond_unary_minus.txt | 12 +- .../snapshots/seattlerb/const_2_op_asgn_or2.txt | 22 +- .../snapshots/seattlerb/const_3_op_asgn_or.txt | 16 +- .../snapshots/seattlerb/const_op_asgn_and1.txt | 16 +- .../snapshots/seattlerb/const_op_asgn_and2.txt | 16 +- test/yarp/snapshots/seattlerb/const_op_asgn_or.txt | 18 +- test/yarp/snapshots/seattlerb/dasgn_icky2.txt | 52 +- .../yarp/snapshots/seattlerb/defined_eh_parens.txt | 14 +- .../snapshots/seattlerb/defn_arg_asplat_arg.txt | 26 +- .../snapshots/seattlerb/defn_arg_forward_args.txt | 38 +- .../snapshots/seattlerb/defn_args_forward_args.txt | 48 +- test/yarp/snapshots/seattlerb/defn_comments.txt | 12 +- .../snapshots/seattlerb/defn_endless_command.txt | 22 +- .../seattlerb/defn_endless_command_rescue.txt | 28 +- .../yarp/snapshots/seattlerb/defn_forward_args.txt | 34 +- .../seattlerb/defn_forward_args__no_parens.txt | 30 +- test/yarp/snapshots/seattlerb/defn_kwarg_env.txt | 44 +- test/yarp/snapshots/seattlerb/defn_kwarg_kwarg.txt | 32 +- .../snapshots/seattlerb/defn_kwarg_kwsplat.txt | 30 +- .../seattlerb/defn_kwarg_kwsplat_anon.txt | 28 +- test/yarp/snapshots/seattlerb/defn_kwarg_lvar.txt | 32 +- .../snapshots/seattlerb/defn_kwarg_no_parens.txt | 20 +- test/yarp/snapshots/seattlerb/defn_kwarg_val.txt | 26 +- test/yarp/snapshots/seattlerb/defn_no_kwargs.txt | 24 +- test/yarp/snapshots/seattlerb/defn_oneliner.txt | 34 +- .../yarp/snapshots/seattlerb/defn_oneliner_eq2.txt | 34 +- .../snapshots/seattlerb/defn_oneliner_noargs.txt | 18 +- .../seattlerb/defn_oneliner_noargs_parentheses.txt | 22 +- .../snapshots/seattlerb/defn_oneliner_rescue.txt | 118 +- .../yarp/snapshots/seattlerb/defn_opt_last_arg.txt | 22 +- test/yarp/snapshots/seattlerb/defn_opt_reg.txt | 28 +- .../snapshots/seattlerb/defn_opt_splat_arg.txt | 34 +- test/yarp/snapshots/seattlerb/defn_powarg.txt | 24 +- test/yarp/snapshots/seattlerb/defn_reg_opt_reg.txt | 34 +- test/yarp/snapshots/seattlerb/defn_splat_arg.txt | 24 +- test/yarp/snapshots/seattlerb/defn_unary_not.txt | 16 +- test/yarp/snapshots/seattlerb/defns_reserved.txt | 16 +- .../seattlerb/defs_as_arg_with_do_block_inside.txt | 40 +- test/yarp/snapshots/seattlerb/defs_comments.txt | 16 +- .../snapshots/seattlerb/defs_endless_command.txt | 28 +- .../seattlerb/defs_endless_command_rescue.txt | 34 +- test/yarp/snapshots/seattlerb/defs_kwarg.txt | 24 +- test/yarp/snapshots/seattlerb/defs_oneliner.txt | 38 +- .../yarp/snapshots/seattlerb/defs_oneliner_eq2.txt | 38 +- .../snapshots/seattlerb/defs_oneliner_rescue.txt | 130 +- test/yarp/snapshots/seattlerb/difficult0_.txt | 52 +- .../seattlerb/difficult1_line_numbers.txt | 170 +- .../seattlerb/difficult1_line_numbers2.txt | 60 +- test/yarp/snapshots/seattlerb/difficult2_.txt | 54 +- test/yarp/snapshots/seattlerb/difficult3_.txt | 38 +- test/yarp/snapshots/seattlerb/difficult3_2.txt | 30 +- test/yarp/snapshots/seattlerb/difficult3_3.txt | 36 +- test/yarp/snapshots/seattlerb/difficult3_4.txt | 28 +- test/yarp/snapshots/seattlerb/difficult3_5.txt | 36 +- test/yarp/snapshots/seattlerb/difficult3__10.txt | 38 +- test/yarp/snapshots/seattlerb/difficult3__11.txt | 34 +- test/yarp/snapshots/seattlerb/difficult3__12.txt | 36 +- test/yarp/snapshots/seattlerb/difficult3__6.txt | 40 +- test/yarp/snapshots/seattlerb/difficult3__7.txt | 36 +- test/yarp/snapshots/seattlerb/difficult3__8.txt | 38 +- test/yarp/snapshots/seattlerb/difficult3__9.txt | 36 +- .../seattlerb/difficult4__leading_dots.txt | 14 +- .../seattlerb/difficult4__leading_dots2.txt | 12 +- test/yarp/snapshots/seattlerb/difficult6_.txt | 48 +- test/yarp/snapshots/seattlerb/difficult6__7.txt | 38 +- test/yarp/snapshots/seattlerb/difficult6__8.txt | 38 +- test/yarp/snapshots/seattlerb/difficult7_.txt | 66 +- test/yarp/snapshots/seattlerb/do_bug.txt | 38 +- test/yarp/snapshots/seattlerb/do_lambda.txt | 18 +- test/yarp/snapshots/seattlerb/dot2_nil__26.txt | 12 +- test/yarp/snapshots/seattlerb/dot3_nil__26.txt | 12 +- test/yarp/snapshots/seattlerb/dstr_evstr.txt | 38 +- .../snapshots/seattlerb/dstr_evstr_empty_end.txt | 22 +- test/yarp/snapshots/seattlerb/dstr_lex_state.txt | 30 +- test/yarp/snapshots/seattlerb/dstr_str.txt | 30 +- test/yarp/snapshots/seattlerb/dsym_esc_to_sym.txt | 12 +- test/yarp/snapshots/seattlerb/dsym_to_sym.txt | 40 +- .../snapshots/seattlerb/eq_begin_line_numbers.txt | 8 +- ...eq_begin_why_wont_people_use_their_spacebar.txt | 32 +- test/yarp/snapshots/seattlerb/evstr_evstr.txt | 34 +- test/yarp/snapshots/seattlerb/evstr_str.txt | 26 +- test/yarp/snapshots/seattlerb/expr_not_bang.txt | 18 +- test/yarp/snapshots/seattlerb/f_kw.txt | 20 +- test/yarp/snapshots/seattlerb/f_kw__required.txt | 18 +- test/yarp/snapshots/seattlerb/flip2_env_lvar.txt | 22 +- .../snapshots/seattlerb/float_with_if_modifier.txt | 14 +- .../seattlerb/heredoc__backslash_dos_format.txt | 18 +- .../snapshots/seattlerb/heredoc_backslash_nl.txt | 20 +- .../snapshots/seattlerb/heredoc_bad_hex_escape.txt | 18 +- .../snapshots/seattlerb/heredoc_bad_oct_escape.txt | 18 +- .../yarp/snapshots/seattlerb/heredoc_comma_arg.txt | 32 +- test/yarp/snapshots/seattlerb/heredoc_lineno.txt | 26 +- test/yarp/snapshots/seattlerb/heredoc_nested.txt | 42 +- test/yarp/snapshots/seattlerb/heredoc_squiggly.txt | 18 +- ...edoc_squiggly_blank_line_plus_interpolation.txt | 52 +- .../seattlerb/heredoc_squiggly_blank_lines.txt | 18 +- .../snapshots/seattlerb/heredoc_squiggly_empty.txt | 12 +- .../seattlerb/heredoc_squiggly_interp.txt | 34 +- .../seattlerb/heredoc_squiggly_no_indent.txt | 12 +- .../snapshots/seattlerb/heredoc_squiggly_tabs.txt | 18 +- .../seattlerb/heredoc_squiggly_tabs_extra.txt | 18 +- .../heredoc_squiggly_visually_blank_lines.txt | 18 +- .../heredoc_trailing_slash_continued_call.txt | 18 +- test/yarp/snapshots/seattlerb/heredoc_unicode.txt | 12 +- .../heredoc_with_carriage_return_escapes.txt | 12 +- ...eredoc_with_carriage_return_escapes_windows.txt | 12 +- .../heredoc_with_extra_carriage_horrible_mix.txt | 12 +- .../heredoc_with_extra_carriage_returns.txt | 12 +- ...heredoc_with_extra_carriage_returns_windows.txt | 12 +- ...h_interpolation_and_carriage_return_escapes.txt | 24 +- ...olation_and_carriage_return_escapes_windows.txt | 24 +- .../heredoc_with_not_global_interpolation.txt | 12 +- .../heredoc_with_only_carriage_returns.txt | 12 +- .../heredoc_with_only_carriage_returns_windows.txt | 12 +- test/yarp/snapshots/seattlerb/if_elsif.txt | 20 +- test/yarp/snapshots/seattlerb/if_symbol.txt | 22 +- test/yarp/snapshots/seattlerb/in_expr_no_case.txt | 18 +- test/yarp/snapshots/seattlerb/index_0.txt | 22 +- test/yarp/snapshots/seattlerb/index_0_opasgn.txt | 22 +- .../seattlerb/integer_with_if_modifier.txt | 14 +- .../interpolated_symbol_array_line_breaks.txt | 20 +- .../interpolated_word_array_line_breaks.txt | 20 +- test/yarp/snapshots/seattlerb/iter_args_1.txt | 26 +- test/yarp/snapshots/seattlerb/iter_args_10_1.txt | 38 +- test/yarp/snapshots/seattlerb/iter_args_10_2.txt | 44 +- test/yarp/snapshots/seattlerb/iter_args_11_1.txt | 40 +- test/yarp/snapshots/seattlerb/iter_args_11_2.txt | 46 +- test/yarp/snapshots/seattlerb/iter_args_2__19.txt | 32 +- test/yarp/snapshots/seattlerb/iter_args_3.txt | 36 +- test/yarp/snapshots/seattlerb/iter_args_4.txt | 32 +- test/yarp/snapshots/seattlerb/iter_args_5.txt | 30 +- test/yarp/snapshots/seattlerb/iter_args_6.txt | 34 +- test/yarp/snapshots/seattlerb/iter_args_7_1.txt | 36 +- test/yarp/snapshots/seattlerb/iter_args_7_2.txt | 42 +- test/yarp/snapshots/seattlerb/iter_args_8_1.txt | 38 +- test/yarp/snapshots/seattlerb/iter_args_8_2.txt | 44 +- test/yarp/snapshots/seattlerb/iter_args_9_1.txt | 32 +- test/yarp/snapshots/seattlerb/iter_args_9_2.txt | 38 +- test/yarp/snapshots/seattlerb/iter_kwarg.txt | 28 +- .../snapshots/seattlerb/iter_kwarg_kwsplat.txt | 34 +- test/yarp/snapshots/seattlerb/label_vs_string.txt | 22 +- .../snapshots/seattlerb/lambda_do_vs_brace.txt | 72 +- .../snapshots/seattlerb/lasgn_arg_rescue_arg.txt | 18 +- .../seattlerb/lasgn_call_bracket_rescue_arg.txt | 28 +- .../seattlerb/lasgn_call_nobracket_rescue_arg.txt | 24 +- test/yarp/snapshots/seattlerb/lasgn_command.txt | 24 +- test/yarp/snapshots/seattlerb/lasgn_env.txt | 12 +- test/yarp/snapshots/seattlerb/lasgn_ivar_env.txt | 12 +- .../seattlerb/lasgn_lasgn_command_call.txt | 24 +- .../snapshots/seattlerb/lasgn_middle_splat.txt | 28 +- .../snapshots/seattlerb/magic_encoding_comment.txt | 40 +- .../snapshots/seattlerb/masgn_anon_splat_arg.txt | 20 +- .../snapshots/seattlerb/masgn_arg_colon_arg.txt | 24 +- test/yarp/snapshots/seattlerb/masgn_arg_ident.txt | 24 +- .../snapshots/seattlerb/masgn_arg_splat_arg.txt | 22 +- test/yarp/snapshots/seattlerb/masgn_colon2.txt | 26 +- test/yarp/snapshots/seattlerb/masgn_colon3.txt | 26 +- .../snapshots/seattlerb/masgn_command_call.txt | 28 +- .../snapshots/seattlerb/masgn_double_paren.txt | 26 +- test/yarp/snapshots/seattlerb/masgn_lhs_splat.txt | 22 +- test/yarp/snapshots/seattlerb/masgn_paren.txt | 26 +- test/yarp/snapshots/seattlerb/masgn_splat_arg.txt | 22 +- .../snapshots/seattlerb/masgn_splat_arg_arg.txt | 24 +- test/yarp/snapshots/seattlerb/masgn_star.txt | 14 +- .../snapshots/seattlerb/masgn_var_star_var.txt | 20 +- .../snapshots/seattlerb/messy_op_asgn_lineno.txt | 40 +- .../seattlerb/method_call_assoc_trailing_comma.txt | 30 +- .../seattlerb/method_call_trailing_comma.txt | 22 +- .../snapshots/seattlerb/mlhs_back_anonsplat.txt | 22 +- test/yarp/snapshots/seattlerb/mlhs_back_splat.txt | 24 +- .../snapshots/seattlerb/mlhs_front_anonsplat.txt | 24 +- test/yarp/snapshots/seattlerb/mlhs_front_splat.txt | 26 +- test/yarp/snapshots/seattlerb/mlhs_keyword.txt | 24 +- .../snapshots/seattlerb/mlhs_mid_anonsplat.txt | 28 +- test/yarp/snapshots/seattlerb/mlhs_mid_splat.txt | 30 +- test/yarp/snapshots/seattlerb/mlhs_rescue.txt | 22 +- test/yarp/snapshots/seattlerb/module_comments.txt | 22 +- .../seattlerb/multiline_hash_declaration.txt | 82 +- .../non_interpolated_symbol_array_line_breaks.txt | 20 +- .../non_interpolated_word_array_line_breaks.txt | 20 +- .../snapshots/seattlerb/op_asgn_command_call.txt | 24 +- .../seattlerb/op_asgn_dot_ident_command_call.txt | 22 +- .../seattlerb/op_asgn_index_command_call.txt | 36 +- .../op_asgn_primary_colon_const_command_call.txt | 26 +- .../op_asgn_primary_colon_identifier1.txt | 16 +- ..._asgn_primary_colon_identifier_command_call.txt | 24 +- .../op_asgn_val_dot_ident_command_call.txt | 24 +- .../snapshots/seattlerb/parse_def_special_name.txt | 12 +- .../snapshots/seattlerb/parse_if_not_canonical.txt | 50 +- .../seattlerb/parse_if_not_noncanonical.txt | 50 +- test/yarp/snapshots/seattlerb/parse_line_block.txt | 20 +- .../seattlerb/parse_line_block_inline_comment.txt | 16 +- ..._line_block_inline_comment_leading_newlines.txt | 16 +- .../parse_line_block_inline_multiline_comment.txt | 16 +- ...rse_line_call_ivar_arg_no_parens_line_break.txt | 12 +- .../parse_line_call_ivar_line_break_paren.txt | 16 +- .../seattlerb/parse_line_call_no_args.txt | 38 +- .../seattlerb/parse_line_defn_complex.txt | 50 +- .../seattlerb/parse_line_defn_no_parens.txt | 20 +- .../seattlerb/parse_line_defn_no_parens_args.txt | 16 +- test/yarp/snapshots/seattlerb/parse_line_dot2.txt | 28 +- .../snapshots/seattlerb/parse_line_dot2_open.txt | 22 +- test/yarp/snapshots/seattlerb/parse_line_dot3.txt | 28 +- .../snapshots/seattlerb/parse_line_dot3_open.txt | 22 +- .../seattlerb/parse_line_dstr_escaped_newline.txt | 22 +- .../seattlerb/parse_line_dstr_soft_newline.txt | 22 +- .../seattlerb/parse_line_evstr_after_break.txt | 32 +- .../snapshots/seattlerb/parse_line_hash_lit.txt | 22 +- .../snapshots/seattlerb/parse_line_heredoc.txt | 32 +- .../seattlerb/parse_line_heredoc_evstr.txt | 30 +- .../seattlerb/parse_line_heredoc_hardnewline.txt | 20 +- .../seattlerb/parse_line_heredoc_regexp_chars.txt | 26 +- .../seattlerb/parse_line_iter_call_no_parens.txt | 44 +- .../seattlerb/parse_line_iter_call_parens.txt | 48 +- .../seattlerb/parse_line_multiline_str.txt | 14 +- .../parse_line_multiline_str_literal_n.txt | 14 +- .../snapshots/seattlerb/parse_line_newlines.txt | 6 +- .../snapshots/seattlerb/parse_line_op_asgn.txt | 18 +- .../snapshots/seattlerb/parse_line_postexe.txt | 18 +- .../yarp/snapshots/seattlerb/parse_line_preexe.txt | 18 +- .../yarp/snapshots/seattlerb/parse_line_rescue.txt | 36 +- .../yarp/snapshots/seattlerb/parse_line_return.txt | 32 +- .../parse_line_str_with_newline_escape.txt | 24 +- .../yarp/snapshots/seattlerb/parse_line_to_ary.txt | 20 +- .../seattlerb/parse_line_trailing_newlines.txt | 12 +- .../seattlerb/parse_opt_call_args_assocs_comma.txt | 26 +- .../seattlerb/parse_opt_call_args_lit_comma.txt | 18 +- .../yarp/snapshots/seattlerb/parse_pattern_019.txt | 28 +- .../yarp/snapshots/seattlerb/parse_pattern_044.txt | 30 +- .../yarp/snapshots/seattlerb/parse_pattern_051.txt | 40 +- .../yarp/snapshots/seattlerb/parse_pattern_058.txt | 62 +- .../snapshots/seattlerb/parse_pattern_058_2.txt | 58 +- .../yarp/snapshots/seattlerb/parse_pattern_069.txt | 42 +- .../yarp/snapshots/seattlerb/parse_pattern_076.txt | 56 +- .../seattlerb/parse_until_not_canonical.txt | 34 +- .../seattlerb/parse_until_not_noncanonical.txt | 34 +- .../seattlerb/parse_while_not_canonical.txt | 34 +- .../seattlerb/parse_while_not_noncanonical.txt | 34 +- test/yarp/snapshots/seattlerb/pctW_lineno.txt | 38 +- .../snapshots/seattlerb/pct_Q_backslash_nl.txt | 12 +- test/yarp/snapshots/seattlerb/pct_nl.txt | 18 +- .../seattlerb/pct_w_heredoc_interp_nested.txt | 44 +- test/yarp/snapshots/seattlerb/pipe_semicolon.txt | 28 +- test/yarp/snapshots/seattlerb/pipe_space.txt | 26 +- test/yarp/snapshots/seattlerb/qWords_space.txt | 10 +- test/yarp/snapshots/seattlerb/qsymbols.txt | 22 +- test/yarp/snapshots/seattlerb/qsymbols_empty.txt | 10 +- .../snapshots/seattlerb/qsymbols_empty_space.txt | 10 +- test/yarp/snapshots/seattlerb/qsymbols_interp.txt | 42 +- .../snapshots/seattlerb/quoted_symbol_hash_arg.txt | 28 +- .../snapshots/seattlerb/quoted_symbol_keys.txt | 26 +- test/yarp/snapshots/seattlerb/qw_escape.txt | 12 +- test/yarp/snapshots/seattlerb/qw_escape_term.txt | 12 +- test/yarp/snapshots/seattlerb/qwords_empty.txt | 10 +- .../seattlerb/read_escape_unicode_curlies.txt | 10 +- .../snapshots/seattlerb/read_escape_unicode_h4.txt | 10 +- test/yarp/snapshots/seattlerb/regexp.txt | 44 +- .../snapshots/seattlerb/regexp_esc_C_slash.txt | 12 +- test/yarp/snapshots/seattlerb/regexp_esc_u.txt | 12 +- .../snapshots/seattlerb/regexp_escape_extended.txt | 12 +- .../snapshots/seattlerb/regexp_unicode_curlies.txt | 20 +- .../seattlerb/required_kwarg_no_value.txt | 22 +- .../seattlerb/rescue_do_end_ensure_result.txt | 46 +- .../snapshots/seattlerb/rescue_do_end_no_raise.txt | 66 +- .../snapshots/seattlerb/rescue_do_end_raised.txt | 38 +- .../snapshots/seattlerb/rescue_do_end_rescued.txt | 64 +- test/yarp/snapshots/seattlerb/rescue_in_block.txt | 28 +- test/yarp/snapshots/seattlerb/rescue_parens.txt | 30 +- .../snapshots/seattlerb/return_call_assocs.txt | 166 +- test/yarp/snapshots/seattlerb/rhs_asgn.txt | 12 +- test/yarp/snapshots/seattlerb/ruby21_numbers.txt | 24 +- test/yarp/snapshots/seattlerb/safe_attrasgn.txt | 18 +- .../snapshots/seattlerb/safe_attrasgn_constant.txt | 18 +- test/yarp/snapshots/seattlerb/safe_call.txt | 14 +- .../seattlerb/safe_call_after_newline.txt | 14 +- .../snapshots/seattlerb/safe_call_dot_parens.txt | 16 +- .../yarp/snapshots/seattlerb/safe_call_newline.txt | 14 +- .../snapshots/seattlerb/safe_call_operator.txt | 18 +- .../snapshots/seattlerb/safe_call_rhs_newline.txt | 20 +- test/yarp/snapshots/seattlerb/safe_calls.txt | 28 +- test/yarp/snapshots/seattlerb/safe_op_asgn.txt | 24 +- test/yarp/snapshots/seattlerb/safe_op_asgn2.txt | 20 +- .../seattlerb/slashy_newlines_within_string.txt | 32 +- .../snapshots/seattlerb/stabby_arg_no_paren.txt | 18 +- .../stabby_arg_opt_splat_arg_block_omfg.txt | 44 +- .../snapshots/seattlerb/stabby_block_iter_call.txt | 42 +- .../stabby_block_iter_call_no_target_with_arg.txt | 44 +- test/yarp/snapshots/seattlerb/stabby_block_kw.txt | 26 +- .../seattlerb/stabby_block_kw__required.txt | 24 +- .../yarp/snapshots/seattlerb/stabby_proc_scope.txt | 24 +- test/yarp/snapshots/seattlerb/str_backslashes.txt | 18 +- .../str_double_double_escaped_newline.txt | 22 +- .../seattlerb/str_double_escaped_newline.txt | 22 +- .../snapshots/seattlerb/str_double_newline.txt | 22 +- test/yarp/snapshots/seattlerb/str_evstr.txt | 26 +- test/yarp/snapshots/seattlerb/str_evstr_escape.txt | 30 +- .../snapshots/seattlerb/str_heredoc_interp.txt | 26 +- .../seattlerb/str_interp_ternary_or_label.txt | 78 +- .../seattlerb/str_lit_concat_bad_encodings.txt | 22 +- .../seattlerb/str_newline_hash_line_number.txt | 14 +- test/yarp/snapshots/seattlerb/str_pct_Q_nested.txt | 30 +- .../snapshots/seattlerb/str_pct_nested_nested.txt | 42 +- test/yarp/snapshots/seattlerb/str_pct_q.txt | 12 +- .../str_single_double_escaped_newline.txt | 22 +- .../seattlerb/str_single_escaped_newline.txt | 22 +- .../snapshots/seattlerb/str_single_newline.txt | 22 +- test/yarp/snapshots/seattlerb/str_str.txt | 30 +- test/yarp/snapshots/seattlerb/str_str_str.txt | 34 +- test/yarp/snapshots/seattlerb/super_arg.txt | 12 +- test/yarp/snapshots/seattlerb/symbol_empty.txt | 12 +- test/yarp/snapshots/seattlerb/symbol_list.txt | 38 +- test/yarp/snapshots/seattlerb/symbols.txt | 22 +- test/yarp/snapshots/seattlerb/symbols_empty.txt | 10 +- .../snapshots/seattlerb/symbols_empty_space.txt | 10 +- test/yarp/snapshots/seattlerb/symbols_interp.txt | 22 +- test/yarp/snapshots/seattlerb/thingy.txt | 36 +- test/yarp/snapshots/seattlerb/uminus_float.txt | 6 +- test/yarp/snapshots/seattlerb/unary_minus.txt | 12 +- test/yarp/snapshots/seattlerb/unary_plus.txt | 12 +- .../snapshots/seattlerb/unary_plus_on_literal.txt | 14 +- test/yarp/snapshots/seattlerb/unary_tilde.txt | 12 +- test/yarp/snapshots/seattlerb/utf8_bom.txt | 12 +- test/yarp/snapshots/seattlerb/when_splat.txt | 26 +- test/yarp/snapshots/seattlerb/words_interp.txt | 26 +- test/yarp/snapshots/seattlerb/yield_arg.txt | 12 +- .../yarp/snapshots/seattlerb/yield_call_assocs.txt | 166 +- .../snapshots/seattlerb/yield_empty_parens.txt | 12 +- test/yarp/snapshots/single_quote_heredocs.txt | 12 +- test/yarp/snapshots/spanning_heredoc.txt | 252 +- test/yarp/snapshots/strings.txt | 550 +-- test/yarp/snapshots/super.txt | 42 +- test/yarp/snapshots/symbols.txt | 438 +-- test/yarp/snapshots/ternary_operator.txt | 174 +- test/yarp/snapshots/tilde_heredocs.txt | 236 +- test/yarp/snapshots/undef.txt | 116 +- test/yarp/snapshots/unescaping.txt | 42 +- test/yarp/snapshots/unless.txt | 112 +- .../snapshots/unparser/corpus/literal/alias.txt | 28 +- .../unparser/corpus/literal/assignment.txt | 940 +++--- .../snapshots/unparser/corpus/literal/block.txt | 910 ++--- .../snapshots/unparser/corpus/literal/case.txt | 270 +- .../snapshots/unparser/corpus/literal/class.txt | 186 +- .../snapshots/unparser/corpus/literal/control.txt | 134 +- .../yarp/snapshots/unparser/corpus/literal/def.txt | 844 ++--- .../snapshots/unparser/corpus/literal/defined.txt | 62 +- .../snapshots/unparser/corpus/literal/defs.txt | 254 +- .../snapshots/unparser/corpus/literal/dstr.txt | 318 +- .../snapshots/unparser/corpus/literal/empty.txt | 4 +- .../unparser/corpus/literal/empty_begin.txt | 10 +- .../snapshots/unparser/corpus/literal/flipflop.txt | 132 +- .../yarp/snapshots/unparser/corpus/literal/for.txt | 122 +- .../snapshots/unparser/corpus/literal/hookexe.txt | 36 +- test/yarp/snapshots/unparser/corpus/literal/if.txt | 216 +- .../snapshots/unparser/corpus/literal/kwbegin.txt | 350 +- .../snapshots/unparser/corpus/literal/lambda.txt | 114 +- .../snapshots/unparser/corpus/literal/literal.txt | 1198 +++---- .../snapshots/unparser/corpus/literal/module.txt | 90 +- .../snapshots/unparser/corpus/literal/opasgn.txt | 364 +- .../snapshots/unparser/corpus/literal/pattern.txt | 418 +-- .../snapshots/unparser/corpus/literal/pragma.txt | 14 +- .../snapshots/unparser/corpus/literal/range.txt | 48 +- .../snapshots/unparser/corpus/literal/rescue.txt | 66 +- .../snapshots/unparser/corpus/literal/send.txt | 1426 ++++---- .../snapshots/unparser/corpus/literal/since/27.txt | 38 +- .../snapshots/unparser/corpus/literal/since/30.txt | 80 +- .../snapshots/unparser/corpus/literal/since/31.txt | 70 +- .../snapshots/unparser/corpus/literal/since/32.txt | 82 +- .../unparser/corpus/literal/singletons.txt | 12 +- .../snapshots/unparser/corpus/literal/super.txt | 200 +- .../snapshots/unparser/corpus/literal/unary.txt | 138 +- .../snapshots/unparser/corpus/literal/undef.txt | 30 +- .../unparser/corpus/literal/variables.txt | 46 +- .../snapshots/unparser/corpus/literal/while.txt | 502 +-- .../snapshots/unparser/corpus/literal/yield.txt | 40 +- .../snapshots/unparser/corpus/semantic/and.txt | 128 +- .../snapshots/unparser/corpus/semantic/block.txt | 142 +- .../snapshots/unparser/corpus/semantic/def.txt | 56 +- .../snapshots/unparser/corpus/semantic/dstr.txt | 600 ++-- .../snapshots/unparser/corpus/semantic/kwbegin.txt | 174 +- .../snapshots/unparser/corpus/semantic/literal.txt | 88 +- .../snapshots/unparser/corpus/semantic/send.txt | 92 +- .../snapshots/unparser/corpus/semantic/undef.txt | 24 +- .../snapshots/unparser/corpus/semantic/while.txt | 190 +- test/yarp/snapshots/until.txt | 90 +- test/yarp/snapshots/variables.txt | 270 +- test/yarp/snapshots/while.txt | 244 +- test/yarp/snapshots/whitequark/__ENCODING__.txt | 6 +- .../snapshots/whitequark/__ENCODING___legacy_.txt | 6 +- test/yarp/snapshots/whitequark/alias.txt | 18 +- test/yarp/snapshots/whitequark/alias_gvar.txt | 20 +- .../ambiuous_quoted_label_in_ternary_operator.txt | 38 +- test/yarp/snapshots/whitequark/and.txt | 28 +- test/yarp/snapshots/whitequark/and_asgn.txt | 40 +- test/yarp/snapshots/whitequark/and_or_masgn.txt | 60 +- .../snapshots/whitequark/anonymous_blockarg.txt | 36 +- test/yarp/snapshots/whitequark/arg.txt | 38 +- .../snapshots/whitequark/arg_duplicate_ignored.txt | 40 +- test/yarp/snapshots/whitequark/arg_label.txt | 82 +- test/yarp/snapshots/whitequark/arg_scope.txt | 26 +- test/yarp/snapshots/whitequark/args.txt | 776 ++--- .../yarp/snapshots/whitequark/args_args_assocs.txt | 68 +- .../whitequark/args_args_assocs_comma.txt | 36 +- test/yarp/snapshots/whitequark/args_args_comma.txt | 22 +- test/yarp/snapshots/whitequark/args_args_star.txt | 56 +- test/yarp/snapshots/whitequark/args_assocs.txt | 162 +- .../snapshots/whitequark/args_assocs_comma.txt | 32 +- .../snapshots/whitequark/args_assocs_legacy.txt | 162 +- test/yarp/snapshots/whitequark/args_block_pass.txt | 20 +- test/yarp/snapshots/whitequark/args_cmd.txt | 24 +- test/yarp/snapshots/whitequark/args_star.txt | 48 +- test/yarp/snapshots/whitequark/array_assocs.txt | 38 +- test/yarp/snapshots/whitequark/array_plain.txt | 14 +- test/yarp/snapshots/whitequark/array_splat.txt | 52 +- test/yarp/snapshots/whitequark/array_symbols.txt | 18 +- .../snapshots/whitequark/array_symbols_empty.txt | 16 +- .../snapshots/whitequark/array_symbols_interp.txt | 52 +- test/yarp/snapshots/whitequark/array_words.txt | 18 +- .../snapshots/whitequark/array_words_empty.txt | 16 +- .../snapshots/whitequark/array_words_interp.txt | 62 +- test/yarp/snapshots/whitequark/asgn_cmd.txt | 38 +- test/yarp/snapshots/whitequark/asgn_mrhs.txt | 54 +- test/yarp/snapshots/whitequark/back_ref.txt | 6 +- test/yarp/snapshots/whitequark/bang.txt | 12 +- test/yarp/snapshots/whitequark/bang_cmd.txt | 18 +- test/yarp/snapshots/whitequark/begin_cmdarg.txt | 36 +- .../whitequark/beginless_erange_after_newline.txt | 14 +- .../whitequark/beginless_irange_after_newline.txt | 14 +- test/yarp/snapshots/whitequark/beginless_range.txt | 16 +- test/yarp/snapshots/whitequark/blockarg.txt | 24 +- test/yarp/snapshots/whitequark/blockargs.txt | 974 +++--- test/yarp/snapshots/whitequark/break.txt | 48 +- test/yarp/snapshots/whitequark/break_block.txt | 26 +- test/yarp/snapshots/whitequark/bug_435.txt | 32 +- test/yarp/snapshots/whitequark/bug_447.txt | 42 +- test/yarp/snapshots/whitequark/bug_452.txt | 46 +- test/yarp/snapshots/whitequark/bug_466.txt | 54 +- test/yarp/snapshots/whitequark/bug_473.txt | 30 +- test/yarp/snapshots/whitequark/bug_480.txt | 36 +- test/yarp/snapshots/whitequark/bug_481.txt | 36 +- .../whitequark/bug_ascii_8bit_in_literal.txt | 12 +- .../whitequark/bug_cmd_string_lookahead.txt | 24 +- test/yarp/snapshots/whitequark/bug_cmdarg.txt | 68 +- .../whitequark/bug_def_no_paren_eql_begin.txt | 12 +- .../whitequark/bug_do_block_in_call_args.txt | 34 +- .../whitequark/bug_do_block_in_cmdarg.txt | 28 +- .../whitequark/bug_do_block_in_hash_brace.txt | 280 +- test/yarp/snapshots/whitequark/bug_heredoc_do.txt | 24 +- .../snapshots/whitequark/bug_interp_single.txt | 38 +- .../snapshots/whitequark/bug_lambda_leakage.txt | 26 +- .../whitequark/bug_regex_verification.txt | 12 +- .../snapshots/whitequark/bug_rescue_empty_else.txt | 22 +- .../whitequark/bug_while_not_parens_do.txt | 24 +- test/yarp/snapshots/whitequark/case_cond.txt | 28 +- test/yarp/snapshots/whitequark/case_cond_else.txt | 44 +- test/yarp/snapshots/whitequark/case_expr.txt | 32 +- test/yarp/snapshots/whitequark/case_expr_else.txt | 44 +- test/yarp/snapshots/whitequark/casgn_scoped.txt | 18 +- test/yarp/snapshots/whitequark/casgn_toplevel.txt | 16 +- test/yarp/snapshots/whitequark/casgn_unscoped.txt | 12 +- test/yarp/snapshots/whitequark/character.txt | 10 +- test/yarp/snapshots/whitequark/class.txt | 20 +- .../whitequark/class_definition_in_while_cond.txt | 148 +- test/yarp/snapshots/whitequark/class_super.txt | 16 +- .../snapshots/whitequark/class_super_label.txt | 26 +- .../whitequark/comments_before_leading_dot__27.txt | 44 +- test/yarp/snapshots/whitequark/complex.txt | 24 +- test/yarp/snapshots/whitequark/cond_begin.txt | 28 +- .../yarp/snapshots/whitequark/cond_begin_masgn.txt | 34 +- test/yarp/snapshots/whitequark/cond_eflipflop.txt | 46 +- test/yarp/snapshots/whitequark/cond_iflipflop.txt | 46 +- .../whitequark/cond_match_current_line.txt | 30 +- test/yarp/snapshots/whitequark/const_op_asgn.txt | 84 +- test/yarp/snapshots/whitequark/const_scoped.txt | 12 +- test/yarp/snapshots/whitequark/const_toplevel.txt | 10 +- test/yarp/snapshots/whitequark/const_unscoped.txt | 6 +- test/yarp/snapshots/whitequark/cpath.txt | 30 +- test/yarp/snapshots/whitequark/cvar.txt | 6 +- test/yarp/snapshots/whitequark/cvasgn.txt | 12 +- .../snapshots/whitequark/dedenting_heredoc.txt | 286 +- ...nterpolating_heredoc_fake_line_continuation.txt | 12 +- ...non_interpolating_heredoc_line_continuation.txt | 12 +- test/yarp/snapshots/whitequark/def.txt | 52 +- test/yarp/snapshots/whitequark/defined.txt | 30 +- test/yarp/snapshots/whitequark/defs.txt | 72 +- test/yarp/snapshots/whitequark/empty_stmt.txt | 4 +- .../whitequark/endless_comparison_method.txt | 136 +- test/yarp/snapshots/whitequark/endless_method.txt | 104 +- .../whitequark/endless_method_command_syntax.txt | 294 +- .../endless_method_forwarded_args_legacy.txt | 34 +- .../whitequark/endless_method_with_rescue_mod.txt | 52 +- .../whitequark/endless_method_without_args.txt | 72 +- test/yarp/snapshots/whitequark/ensure.txt | 28 +- test/yarp/snapshots/whitequark/ensure_empty.txt | 16 +- test/yarp/snapshots/whitequark/false.txt | 6 +- test/yarp/snapshots/whitequark/float.txt | 8 +- test/yarp/snapshots/whitequark/for.txt | 54 +- test/yarp/snapshots/whitequark/for_mlhs.txt | 34 +- test/yarp/snapshots/whitequark/forward_arg.txt | 34 +- .../whitequark/forward_arg_with_open_args.txt | 288 +- .../snapshots/whitequark/forward_args_legacy.txt | 80 +- .../forwarded_argument_with_kwrestarg.txt | 44 +- .../whitequark/forwarded_argument_with_restarg.txt | 42 +- .../snapshots/whitequark/forwarded_kwrestarg.txt | 40 +- .../forwarded_kwrestarg_with_additional_kwarg.txt | 50 +- .../snapshots/whitequark/forwarded_restarg.txt | 38 +- test/yarp/snapshots/whitequark/gvar.txt | 6 +- test/yarp/snapshots/whitequark/gvasgn.txt | 12 +- test/yarp/snapshots/whitequark/hash_empty.txt | 10 +- test/yarp/snapshots/whitequark/hash_hashrocket.txt | 50 +- test/yarp/snapshots/whitequark/hash_kwsplat.txt | 28 +- test/yarp/snapshots/whitequark/hash_label.txt | 20 +- test/yarp/snapshots/whitequark/hash_label_end.txt | 90 +- .../whitequark/hash_pair_value_omission.txt | 76 +- test/yarp/snapshots/whitequark/heredoc.txt | 28 +- test/yarp/snapshots/whitequark/if.txt | 36 +- test/yarp/snapshots/whitequark/if_else.txt | 60 +- test/yarp/snapshots/whitequark/if_elsif.txt | 44 +- test/yarp/snapshots/whitequark/if_masgn__24.txt | 30 +- test/yarp/snapshots/whitequark/if_mod.txt | 18 +- test/yarp/snapshots/whitequark/if_nl_then.txt | 20 +- .../whitequark/if_while_after_class__since_32.txt | 112 +- test/yarp/snapshots/whitequark/int.txt | 10 +- test/yarp/snapshots/whitequark/int___LINE__.txt | 6 +- .../yarp/snapshots/whitequark/interp_digit_var.txt | 324 +- test/yarp/snapshots/whitequark/ivar.txt | 6 +- test/yarp/snapshots/whitequark/ivasgn.txt | 12 +- .../whitequark/keyword_argument_omission.txt | 44 +- test/yarp/snapshots/whitequark/kwarg.txt | 22 +- .../yarp/snapshots/whitequark/kwbegin_compstmt.txt | 20 +- test/yarp/snapshots/whitequark/kwnilarg.txt | 70 +- test/yarp/snapshots/whitequark/kwoptarg.txt | 24 +- .../kwoptarg_with_kwrestarg_and_forwarded_args.txt | 46 +- test/yarp/snapshots/whitequark/kwrestarg_named.txt | 24 +- .../snapshots/whitequark/kwrestarg_unnamed.txt | 22 +- .../whitequark/lbrace_arg_after_command_args.txt | 42 +- .../whitequark/lparenarg_after_lvar__since_25.txt | 48 +- test/yarp/snapshots/whitequark/lvar.txt | 8 +- .../snapshots/whitequark/lvar_injecting_match.txt | 30 +- test/yarp/snapshots/whitequark/lvasgn.txt | 14 +- test/yarp/snapshots/whitequark/masgn.txt | 52 +- test/yarp/snapshots/whitequark/masgn_attr.txt | 66 +- test/yarp/snapshots/whitequark/masgn_cmd.txt | 20 +- test/yarp/snapshots/whitequark/masgn_const.txt | 34 +- test/yarp/snapshots/whitequark/masgn_nested.txt | 48 +- test/yarp/snapshots/whitequark/masgn_splat.txt | 170 +- .../whitequark/method_definition_in_while_cond.txt | 152 +- test/yarp/snapshots/whitequark/module.txt | 12 +- .../whitequark/multiple_pattern_matches.txt | 124 +- .../whitequark/newline_in_hash_argument.txt | 106 +- test/yarp/snapshots/whitequark/next.txt | 48 +- test/yarp/snapshots/whitequark/next_block.txt | 26 +- test/yarp/snapshots/whitequark/nil.txt | 6 +- test/yarp/snapshots/whitequark/nil_expression.txt | 16 +- .../whitequark/non_lvar_injecting_match.txt | 38 +- test/yarp/snapshots/whitequark/not.txt | 32 +- test/yarp/snapshots/whitequark/not_cmd.txt | 18 +- test/yarp/snapshots/whitequark/not_masgn__24.txt | 28 +- test/yarp/snapshots/whitequark/nth_ref.txt | 6 +- .../whitequark/numbered_args_after_27.txt | 88 +- .../whitequark/numparam_outside_block.txt | 72 +- test/yarp/snapshots/whitequark/op_asgn.txt | 46 +- test/yarp/snapshots/whitequark/op_asgn_cmd.txt | 94 +- test/yarp/snapshots/whitequark/op_asgn_index.txt | 26 +- .../snapshots/whitequark/op_asgn_index_cmd.txt | 34 +- test/yarp/snapshots/whitequark/optarg.txt | 52 +- test/yarp/snapshots/whitequark/or.txt | 28 +- test/yarp/snapshots/whitequark/or_asgn.txt | 40 +- test/yarp/snapshots/whitequark/parser_bug_272.txt | 28 +- test/yarp/snapshots/whitequark/parser_bug_490.txt | 94 +- test/yarp/snapshots/whitequark/parser_bug_507.txt | 28 +- test/yarp/snapshots/whitequark/parser_bug_518.txt | 16 +- test/yarp/snapshots/whitequark/parser_bug_525.txt | 48 +- test/yarp/snapshots/whitequark/parser_bug_604.txt | 30 +- test/yarp/snapshots/whitequark/parser_bug_640.txt | 12 +- test/yarp/snapshots/whitequark/parser_bug_645.txt | 32 +- test/yarp/snapshots/whitequark/parser_bug_830.txt | 12 +- ...r_drops_truncated_parts_of_squiggly_heredoc.txt | 20 +- .../parser_slash_slash_n_escaping_in_literals.txt | 164 +- .../pattern_matching__FILE__LINE_literals.txt | 46 +- .../whitequark/pattern_matching_blank_else.txt | 28 +- .../snapshots/whitequark/pattern_matching_else.txt | 32 +- .../whitequark/pattern_matching_single_line.txt | 36 +- ...single_line_allowed_omission_of_parentheses.txt | 188 +- test/yarp/snapshots/whitequark/postexe.txt | 16 +- test/yarp/snapshots/whitequark/preexe.txt | 16 +- test/yarp/snapshots/whitequark/procarg0.txt | 52 +- test/yarp/snapshots/whitequark/range_exclusive.txt | 12 +- test/yarp/snapshots/whitequark/range_inclusive.txt | 12 +- test/yarp/snapshots/whitequark/rational.txt | 12 +- test/yarp/snapshots/whitequark/redo.txt | 6 +- test/yarp/snapshots/whitequark/regex_interp.txt | 30 +- test/yarp/snapshots/whitequark/regex_plain.txt | 12 +- test/yarp/snapshots/whitequark/resbody_list.txt | 28 +- .../snapshots/whitequark/resbody_list_mrhs.txt | 32 +- .../yarp/snapshots/whitequark/resbody_list_var.txt | 34 +- test/yarp/snapshots/whitequark/resbody_var.txt | 56 +- test/yarp/snapshots/whitequark/rescue.txt | 26 +- test/yarp/snapshots/whitequark/rescue_else.txt | 38 +- .../snapshots/whitequark/rescue_else_ensure.txt | 50 +- test/yarp/snapshots/whitequark/rescue_ensure.txt | 38 +- .../whitequark/rescue_in_lambda_block.txt | 20 +- test/yarp/snapshots/whitequark/rescue_mod.txt | 16 +- test/yarp/snapshots/whitequark/rescue_mod_asgn.txt | 22 +- .../yarp/snapshots/whitequark/rescue_mod_masgn.txt | 30 +- .../snapshots/whitequark/rescue_mod_op_assign.txt | 22 +- .../whitequark/rescue_without_begin_end.txt | 34 +- test/yarp/snapshots/whitequark/restarg_named.txt | 24 +- test/yarp/snapshots/whitequark/restarg_unnamed.txt | 22 +- test/yarp/snapshots/whitequark/retry.txt | 6 +- test/yarp/snapshots/whitequark/return.txt | 48 +- test/yarp/snapshots/whitequark/return_block.txt | 26 +- test/yarp/snapshots/whitequark/ruby_bug_10279.txt | 30 +- test/yarp/snapshots/whitequark/ruby_bug_10653.txt | 116 +- test/yarp/snapshots/whitequark/ruby_bug_11107.txt | 40 +- test/yarp/snapshots/whitequark/ruby_bug_11380.txt | 44 +- test/yarp/snapshots/whitequark/ruby_bug_11873.txt | 520 +-- .../yarp/snapshots/whitequark/ruby_bug_11873_a.txt | 776 ++--- .../yarp/snapshots/whitequark/ruby_bug_11873_b.txt | 56 +- test/yarp/snapshots/whitequark/ruby_bug_11989.txt | 18 +- test/yarp/snapshots/whitequark/ruby_bug_11990.txt | 28 +- test/yarp/snapshots/whitequark/ruby_bug_12073.txt | 66 +- test/yarp/snapshots/whitequark/ruby_bug_12402.txt | 396 +-- test/yarp/snapshots/whitequark/ruby_bug_12669.txt | 100 +- test/yarp/snapshots/whitequark/ruby_bug_12686.txt | 28 +- test/yarp/snapshots/whitequark/ruby_bug_13547.txt | 22 +- test/yarp/snapshots/whitequark/ruby_bug_14690.txt | 44 +- test/yarp/snapshots/whitequark/ruby_bug_15789.txt | 90 +- test/yarp/snapshots/whitequark/ruby_bug_9669.txt | 46 +- test/yarp/snapshots/whitequark/sclass.txt | 20 +- test/yarp/snapshots/whitequark/self.txt | 6 +- test/yarp/snapshots/whitequark/send_attr_asgn.txt | 62 +- .../whitequark/send_attr_asgn_conditional.txt | 18 +- test/yarp/snapshots/whitequark/send_binary_op.txt | 256 +- .../snapshots/whitequark/send_block_chain_cmd.txt | 210 +- .../whitequark/send_block_conditional.txt | 20 +- test/yarp/snapshots/whitequark/send_call.txt | 36 +- .../yarp/snapshots/whitequark/send_conditional.txt | 14 +- test/yarp/snapshots/whitequark/send_index.txt | 22 +- test/yarp/snapshots/whitequark/send_index_asgn.txt | 24 +- .../whitequark/send_index_asgn_legacy.txt | 24 +- test/yarp/snapshots/whitequark/send_index_cmd.txt | 28 +- .../snapshots/whitequark/send_index_legacy.txt | 22 +- test/yarp/snapshots/whitequark/send_lambda.txt | 36 +- .../yarp/snapshots/whitequark/send_lambda_args.txt | 40 +- .../whitequark/send_lambda_args_noparen.txt | 38 +- .../whitequark/send_lambda_args_shadow.txt | 26 +- .../snapshots/whitequark/send_lambda_legacy.txt | 12 +- .../whitequark/send_op_asgn_conditional.txt | 18 +- test/yarp/snapshots/whitequark/send_plain.txt | 38 +- test/yarp/snapshots/whitequark/send_plain_cmd.txt | 52 +- test/yarp/snapshots/whitequark/send_self.txt | 24 +- test/yarp/snapshots/whitequark/send_self_block.txt | 56 +- test/yarp/snapshots/whitequark/send_unary_op.txt | 28 +- .../whitequark/slash_newline_in_heredocs.txt | 20 +- test/yarp/snapshots/whitequark/space_args_arg.txt | 20 +- .../snapshots/whitequark/space_args_arg_block.txt | 82 +- .../snapshots/whitequark/space_args_arg_call.txt | 26 +- .../whitequark/space_args_arg_newline.txt | 20 +- .../yarp/snapshots/whitequark/space_args_block.txt | 22 +- test/yarp/snapshots/whitequark/space_args_cmd.txt | 28 +- test/yarp/snapshots/whitequark/string___FILE__.txt | 6 +- test/yarp/snapshots/whitequark/string_concat.txt | 30 +- test/yarp/snapshots/whitequark/string_dvar.txt | 36 +- test/yarp/snapshots/whitequark/string_interp.txt | 30 +- test/yarp/snapshots/whitequark/string_plain.txt | 20 +- test/yarp/snapshots/whitequark/super.txt | 36 +- test/yarp/snapshots/whitequark/super_block.txt | 32 +- test/yarp/snapshots/whitequark/symbol_interp.txt | 30 +- test/yarp/snapshots/whitequark/symbol_plain.txt | 18 +- test/yarp/snapshots/whitequark/ternary.txt | 22 +- .../whitequark/ternary_ambiguous_symbol.txt | 38 +- .../snapshots/whitequark/trailing_forward_arg.txt | 42 +- test/yarp/snapshots/whitequark/true.txt | 6 +- .../whitequark/unary_num_pow_precedence.txt | 42 +- test/yarp/snapshots/whitequark/undef.txt | 38 +- test/yarp/snapshots/whitequark/unless.txt | 36 +- test/yarp/snapshots/whitequark/unless_else.txt | 60 +- test/yarp/snapshots/whitequark/unless_mod.txt | 18 +- test/yarp/snapshots/whitequark/until.txt | 36 +- test/yarp/snapshots/whitequark/until_mod.txt | 18 +- test/yarp/snapshots/whitequark/until_post.txt | 26 +- test/yarp/snapshots/whitequark/var_and_asgn.txt | 12 +- test/yarp/snapshots/whitequark/var_op_asgn.txt | 46 +- test/yarp/snapshots/whitequark/var_op_asgn_cmd.txt | 18 +- test/yarp/snapshots/whitequark/var_or_asgn.txt | 12 +- test/yarp/snapshots/whitequark/when_multi.txt | 40 +- test/yarp/snapshots/whitequark/when_splat.txt | 46 +- test/yarp/snapshots/whitequark/when_then.txt | 32 +- test/yarp/snapshots/whitequark/while.txt | 36 +- test/yarp/snapshots/whitequark/while_mod.txt | 18 +- test/yarp/snapshots/whitequark/while_post.txt | 26 +- test/yarp/snapshots/whitequark/xstring_interp.txt | 30 +- test/yarp/snapshots/whitequark/xstring_plain.txt | 12 +- test/yarp/snapshots/whitequark/yield.txt | 40 +- test/yarp/snapshots/whitequark/zsuper.txt | 6 +- test/yarp/snapshots/xstring.txt | 54 +- test/yarp/snapshots/yield.txt | 44 +- 911 files changed, 30184 insertions(+), 30184 deletions(-) (limited to 'test/yarp/snapshots') 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) = "<" + │ ├── 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) = "(?bar)" - │ │ │ │ │ ├── closing_loc: (72...73) = "/" + │ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14)) + │ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/" + │ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?bar)" + │ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/" │ │ │ │ │ ├── unescaped: "(?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) = "<=" - ├── @ 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) = "< 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) = "<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) = "(?bar)" + │ │ ├── content_loc: (1,5)-(1,18) = "(?bar)" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "(?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) = ")" -- cgit v1.2.3