diff --git a/.github/workflows/wasm.yml b/.github/workflows/wasm.yml index 1d2b81772faa76..a47a30ca655243 100644 --- a/.github/workflows/wasm.yml +++ b/.github/workflows/wasm.yml @@ -47,10 +47,10 @@ jobs: env: RUBY_TESTOPTS: '-q --tty=no' GITPULLOPTIONS: --no-tags origin ${{ github.ref }} - WASI_SDK_VERSION_MAJOR: 14 + WASI_SDK_VERSION_MAJOR: 20 WASI_SDK_VERSION_MINOR: 0 - BINARYEN_VERSION: 109 - WASMTIME_VERSION: v0.33.0 + BINARYEN_VERSION: 113 + WASMTIME_VERSION: v15.0.0 runs-on: ubuntu-20.04 @@ -102,10 +102,20 @@ jobs: run: | echo "WASI_SDK_PATH=/opt/wasi-sdk" >> $GITHUB_ENV + - name: Build baseruby + run: | + set -ex + mkdir ../baseruby + pushd ../baseruby + ../src/configure --prefix=$PWD/install + make + make install + - name: Run configure run: | ../src/configure \ --host wasm32-unknown-wasi \ + --with-baseruby=$PWD/../baseruby/install/bin/ruby \ --with-static-linked-ext \ --with-ext=bigdecimal,cgi/escape,continuation,coverage,date,dbm,digest/bubblebabble,digest,digest/md5,digest/rmd160,digest/sha1,digest/sha2,etc,fcntl,fiber,gdbm,json,json/generator,json/parser,nkf,objspace,pathname,racc/cparse,rbconfig/sizeof,ripper,stringio,strscan,monitor \ LDFLAGS=" \ @@ -119,6 +129,15 @@ jobs: # miniruby may not be built when cross-compling - run: make mini ruby + - run: make install DESTDIR=$PWD/../install + - run: tar cfz ../install.tar.gz -C ../install . + + - name: Upload artifacts + uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 + with: + name: ruby-wasm-install + path: ${{ github.workspace }}/install.tar.gz + - name: Run basictest run: wasmtime run ./../build/miniruby --mapdir /::./ -- basictest/test.rb working-directory: src diff --git a/.travis.yml b/.travis.yml index 6d942d142584f6..7b12149408eac2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -104,7 +104,8 @@ matrix: include: - <<: *arm64-linux - <<: *ppc64le-linux - - <<: *s390x-linux + # The s390x builds are not starting. + # - <<: *s390x-linux # FIXME: lib/rubygems/util.rb:104 glob_files_in_dir - # :411:in glob: File name too long - (Errno::ENAMETOOLONG) # https://github.com/rubygems/rubygems/issues/7132 @@ -113,7 +114,7 @@ matrix: # Allow failures for the unstable jobs. # - name: arm64-linux # - name: ppc64le-linux - # - name: s390x-linux + - name: s390x-linux # The 2nd arm64 pipeline may be unstable. # - name: arm32-linux fast_finish: true diff --git a/NEWS.md b/NEWS.md index 967d4780885761..f0eded8381fe60 100644 --- a/NEWS.md +++ b/NEWS.md @@ -115,7 +115,7 @@ Note: We're only listing outstanding class updates. The following default gem is added. -* prism 0.17.1 +* prism 0.18.0 The following default gems are updated. @@ -138,7 +138,7 @@ The following default gems are updated. * find 0.2.0 * getoptlong 0.2.1 * io-console 0.6.1.dev.1 -* irb 1.9.0 +* irb 1.9.1 * logger 1.6.0 * mutex_m 0.2.0 * net-http 0.4.0 @@ -187,9 +187,9 @@ The following bundled gems are updated. * test-unit 3.6.1 * rexml 3.2.6 * rss 0.3.0 -* net-imap 0.4.5 +* net-imap 0.4.6 * net-smtp 0.4.0 -* rbs 3.3.0 +* rbs 3.3.2 * typeprof 0.21.8 * debug 1.8.0 diff --git a/array.c b/array.c index c4a69b677103d0..7fd2830085e1a7 100644 --- a/array.c +++ b/array.c @@ -6297,16 +6297,9 @@ rb_ary_count(int argc, VALUE *argv, VALUE ary) static VALUE flatten(VALUE ary, int level) { - static const rb_data_type_t flatten_memo_data_type = { - .wrap_struct_name = "array_flatten_memo_data_type", - .function = { NULL, (RUBY_DATA_FUNC)st_free_table }, - NULL, NULL, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED - }; - long i; - VALUE stack, result, tmp = 0, elt, vmemo; - st_table *memo = 0; - st_data_t id; + VALUE stack, result, tmp = 0, elt; + VALUE memo = Qfalse; for (i = 0; i < RARRAY_LEN(ary); i++) { elt = RARRAY_AREF(ary, i); @@ -6328,10 +6321,9 @@ flatten(VALUE ary, int level) rb_ary_push(stack, LONG2NUM(i + 1)); if (level < 0) { - memo = st_init_numtable(); - vmemo = TypedData_Wrap_Struct(0, &flatten_memo_data_type, memo); - st_insert(memo, (st_data_t)ary, (st_data_t)Qtrue); - st_insert(memo, (st_data_t)tmp, (st_data_t)Qtrue); + memo = rb_obj_hide(rb_ident_hash_new()); + rb_hash_aset(memo, ary, Qtrue); + rb_hash_aset(memo, tmp, Qtrue); } ary = tmp; @@ -6346,9 +6338,8 @@ flatten(VALUE ary, int level) } tmp = rb_check_array_type(elt); if (RBASIC(result)->klass) { - if (memo) { - RB_GC_GUARD(vmemo); - st_clear(memo); + if (RTEST(memo)) { + rb_hash_clear(memo); } rb_raise(rb_eRuntimeError, "flatten reentered"); } @@ -6357,12 +6348,11 @@ flatten(VALUE ary, int level) } else { if (memo) { - id = (st_data_t)tmp; - if (st_is_member(memo, id)) { - st_clear(memo); + if (rb_hash_aref(memo, tmp) == Qtrue) { + rb_hash_clear(memo); rb_raise(rb_eArgError, "tried to flatten recursive array"); } - st_insert(memo, id, (st_data_t)Qtrue); + rb_hash_aset(memo, tmp, Qtrue); } rb_ary_push(stack, ary); rb_ary_push(stack, LONG2NUM(i)); @@ -6374,8 +6364,7 @@ flatten(VALUE ary, int level) break; } if (memo) { - id = (st_data_t)ary; - st_delete(memo, &id, 0); + rb_hash_delete(memo, ary); } tmp = rb_ary_pop(stack); i = NUM2LONG(tmp); @@ -6383,7 +6372,7 @@ flatten(VALUE ary, int level) } if (memo) { - st_clear(memo); + rb_hash_clear(memo); } RBASIC_SET_CLASS(result, rb_cArray); diff --git a/bootstraptest/test_yjit.rb b/bootstraptest/test_yjit.rb index a2a05c45d72f3c..f55c319707dcf9 100644 --- a/bootstraptest/test_yjit.rb +++ b/bootstraptest/test_yjit.rb @@ -278,6 +278,33 @@ def foo Foo.new.foo } +# getinstancevariable with shape too complex +assert_normal_exit %q{ + class Foo + def initialize + @a = 1 + end + + def getter + @foobar + end + end + + # Initialize ivars in changing order, making the Foo + # class have shape too complex + 100.times do |x| + foo = Foo.new + foo.instance_variable_set(:"@a#{x}", 1) + foo.instance_variable_set(:"@foobar", 777) + + # The getter method eventually sees shape too complex + r = foo.getter + if r != 777 + raise "error" + end + end +} + assert_equal '0', %q{ # This is a regression test for incomplete invalidation from # opt_setinlinecache. This test might be brittle, so @@ -4217,3 +4244,10 @@ def entry = putobject(nil) def entry = yield entry { true } } + +assert_normal_exit %q{ + ivars = 1024.times.map { |i| "@iv_#{i} = #{i}\n" }.join + Foo = Class.new + Foo.class_eval "def initialize() #{ivars} end" + Foo.new +} diff --git a/common.mk b/common.mk index 9749bd5b0805f1..33faed1f48f40b 100644 --- a/common.mk +++ b/common.mk @@ -89,6 +89,7 @@ PRISM_FILES = prism/api_node.$(OBJEXT) \ prism/api_pack.$(OBJEXT) \ prism/diagnostic.$(OBJEXT) \ prism/enc/pm_big5.$(OBJEXT) \ + prism/enc/pm_cp949.$(OBJEXT) \ prism/enc/pm_cp51932.$(OBJEXT) \ prism/enc/pm_euc_jp.$(OBJEXT) \ prism/enc/pm_gbk.$(OBJEXT) \ @@ -11754,6 +11755,10 @@ prism/enc/pm_big5.$(OBJEXT): $(top_srcdir)/prism/defines.h prism/enc/pm_big5.$(OBJEXT): $(top_srcdir)/prism/enc/pm_big5.c prism/enc/pm_big5.$(OBJEXT): $(top_srcdir)/prism/enc/pm_encoding.h prism/enc/pm_big5.$(OBJEXT): {$(VPATH)}config.h +prism/enc/pm_cp949.$(OBJEXT): $(top_srcdir)/prism/defines.h +prism/enc/pm_cp949.$(OBJEXT): $(top_srcdir)/prism/enc/pm_cp949.c +prism/enc/pm_cp949.$(OBJEXT): $(top_srcdir)/prism/enc/pm_encoding.h +prism/enc/pm_cp949.$(OBJEXT): {$(VPATH)}config.h prism/enc/pm_cp51932.$(OBJEXT): $(top_srcdir)/prism/defines.h prism/enc/pm_cp51932.$(OBJEXT): $(top_srcdir)/prism/enc/pm_cp51932.c prism/enc/pm_cp51932.$(OBJEXT): $(top_srcdir)/prism/enc/pm_encoding.h diff --git a/compile.c b/compile.c index 04ccc8f7bc5227..7befab9df82630 100644 --- a/compile.c +++ b/compile.c @@ -11152,15 +11152,13 @@ pinned_list_mark(void *ptr) } } -static size_t -pinned_list_memsize(const void *ptr) -{ - return 0; -} - static const rb_data_type_t pinned_list_type = { "pinned_list", - {pinned_list_mark, RUBY_DEFAULT_FREE, pinned_list_memsize,}, + { + pinned_list_mark, + RUBY_DEFAULT_FREE, + NULL, // No external memory to report, + }, 0, 0, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; @@ -13196,14 +13194,13 @@ ibf_dump_free(void *ptr) st_free_table(dump->iseq_table); dump->iseq_table = 0; } - ruby_xfree(dump); } static size_t ibf_dump_memsize(const void *ptr) { struct ibf_dump *dump = (struct ibf_dump *)ptr; - size_t size = sizeof(*dump); + size_t size = 0; if (dump->iseq_table) size += st_memsize(dump->iseq_table); if (dump->global_buffer.obj_table) size += st_memsize(dump->global_buffer.obj_table); return size; @@ -13212,7 +13209,7 @@ ibf_dump_memsize(const void *ptr) static const rb_data_type_t ibf_dump_type = { "ibf_dump", {ibf_dump_mark, ibf_dump_free, ibf_dump_memsize,}, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; static void @@ -13275,8 +13272,6 @@ rb_iseq_ibf_dump(const rb_iseq_t *iseq, VALUE opt) ibf_dump_overwrite(dump, &header, sizeof(header), 0); str = dump->global_buffer.str; - ibf_dump_free(dump); - DATA_PTR(dump_obj) = NULL; RB_GC_GUARD(dump_obj); return str; } diff --git a/complex.c b/complex.c index c9272778bbee65..b9d99699327959 100644 --- a/complex.c +++ b/complex.c @@ -982,6 +982,84 @@ f_reciprocal(VALUE x) return f_quo(ONE, x); } +static VALUE +zero_for(VALUE x) +{ + if (RB_FLOAT_TYPE_P(x)) + return DBL2NUM(0); + if (RB_TYPE_P(x, T_RATIONAL)) + return rb_rational_new(INT2FIX(0), INT2FIX(1)); + + return INT2FIX(0); +} + +static VALUE +complex_pow_for_special_angle(VALUE self, VALUE other) +{ + if (!rb_integer_type_p(other)) { + return Qundef; + } + + get_dat1(self); + VALUE x = Qundef; + int dir; + if (f_zero_p(dat->imag)) { + x = dat->real; + dir = 0; + } + else if (f_zero_p(dat->real)) { + x = dat->imag; + dir = 2; + } + else if (f_eqeq_p(dat->real, dat->imag)) { + x = dat->real; + dir = 1; + } + else if (f_eqeq_p(dat->real, f_negate(dat->imag))) { + x = dat->imag; + dir = 3; + } + + if (x == Qundef) return x; + + if (f_negative_p(x)) { + x = f_negate(x); + dir += 4; + } + + VALUE zx; + if (dir % 2 == 0) { + zx = rb_num_pow(x, other); + } + else { + zx = rb_num_pow( + rb_funcall(rb_int_mul(TWO, x), '*', 1, x), + rb_int_div(other, TWO) + ); + if (rb_int_odd_p(other)) { + zx = rb_funcall(zx, '*', 1, x); + } + } + static const int dirs[][2] = { + {1, 0}, {1, 1}, {0, 1}, {-1, 1}, {-1, 0}, {-1, -1}, {0, -1}, {1, -1} + }; + int z_dir = FIX2INT(rb_int_modulo(rb_int_mul(INT2FIX(dir), other), INT2FIX(8))); + + VALUE zr = Qfalse, zi = Qfalse; + switch (dirs[z_dir][0]) { + case 0: zr = zero_for(zx); break; + case 1: zr = zx; break; + case -1: zr = f_negate(zx); break; + } + switch (dirs[z_dir][1]) { + case 0: zi = zero_for(zx); break; + case 1: zi = zx; break; + case -1: zi = f_negate(zx); break; + } + return nucomp_s_new_internal(CLASS_OF(self), zr, zi); +} + + /* * call-seq: * cmp ** numeric -> complex @@ -1007,6 +1085,14 @@ rb_complex_pow(VALUE self, VALUE other) other = dat->real; /* c14n */ } + if (other == ONE) { + get_dat1(self); + return nucomp_s_new_internal(CLASS_OF(self), dat->real, dat->imag); + } + + VALUE result = complex_pow_for_special_angle(self, other); + if (result != Qundef) return result; + if (RB_TYPE_P(other, T_COMPLEX)) { VALUE r, theta, nr, ntheta; diff --git a/configure.ac b/configure.ac index e0057d974f2859..ec1d6adc493c94 100644 --- a/configure.ac +++ b/configure.ac @@ -506,12 +506,12 @@ AS_CASE(["$target_os"], ]) rb_cv_binary_elf=no : ${enable_shared=yes} -], -[darwin*], [ - : ${enable_shared=yes} -], + ], [hiuxmpp*], [AC_DEFINE(__HIUX_MPP__)]) # by TOYODA Eizi +USE_LLVM_WINDRES=no +windres_version=`windres --version | grep LLVM` +test -z "$windres_version" || USE_LLVM_WINDRES=yes AC_PROG_LN_S AC_PROG_MAKE_SET @@ -2667,6 +2667,9 @@ AS_CASE([$coroutine_type], [yes|''], [ [*86-mingw*], [ coroutine_type=win32 ], + [aarch64-mingw*], [ + coroutine_type=arm64 + ], [arm*-linux*], [ coroutine_type=arm32 ], @@ -4242,6 +4245,7 @@ AC_SUBST(MINIOBJS) AC_SUBST(THREAD_MODEL) AC_SUBST(COROUTINE_TYPE, ${coroutine_type}) AC_SUBST(PLATFORM_DIR) +AC_SUBST(USE_LLVM_WINDRES) firstmf=`echo $FIRSTMAKEFILE | sed 's/:.*//'` firsttmpl=`echo $FIRSTMAKEFILE | sed 's/.*://'` diff --git a/cygwin/GNUmakefile.in b/cygwin/GNUmakefile.in index 09298590304b53..192a8cc7112b3c 100644 --- a/cygwin/GNUmakefile.in +++ b/cygwin/GNUmakefile.in @@ -3,9 +3,14 @@ gnumake = yes include Makefile DLLWRAP = @DLLWRAP@ --target=$(target_os) --driver-name="$(CC)" -windres-cpp := $(CPP) -xc -windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ - $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) +ifeq (@USE_LLVM_WINDRES@,yes) # USE_LLVM_WINDRES + # llvm-windres fails when preprocessor options are added + windres-cpp := +else + windres-cpp := $(CPP) -xc + windres-cpp := --preprocessor=$(firstword $(windres-cpp)) \ + $(addprefix --preprocessor-arg=,$(wordlist 2,$(words $(windres-cpp)),$(windres-cpp))) +endif WINDRES = @WINDRES@ $(windres-cpp) -DRC_INVOKED STRIP = @STRIP@ diff --git a/dir.c b/dir.c index 05cf36903566ea..ce5a90ebf7bb09 100644 --- a/dir.c +++ b/dir.c @@ -471,13 +471,6 @@ dir_free(void *ptr) struct dir_data *dir = ptr; if (dir->dir) closedir(dir->dir); - xfree(dir); -} - -static size_t -dir_memsize(const void *ptr) -{ - return sizeof(struct dir_data); } RUBY_REFERENCES_START(dir_refs) @@ -486,8 +479,12 @@ RUBY_REFERENCES_END static const rb_data_type_t dir_data_type = { "dir", - {REFS_LIST_PTR(dir_refs), dir_free, dir_memsize,}, - 0, NULL, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_DECL_MARKING + { + REFS_LIST_PTR(dir_refs), + dir_free, + NULL, // Nothing allocated externally, so don't need a memsize function + }, + 0, NULL, RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_DECL_MARKING | RUBY_TYPED_EMBEDDABLE }; static VALUE dir_close(VALUE); @@ -3116,7 +3113,7 @@ push_glob(VALUE ary, VALUE str, VALUE base, int flags) fd = AT_FDCWD; if (!NIL_P(base)) { if (!RB_TYPE_P(base, T_STRING) || !rb_enc_check(str, base)) { - struct dir_data *dirp = DATA_PTR(base); + struct dir_data *dirp = RTYPEDDATA_GET_DATA(base); if (!dirp->dir) dir_closed(); #ifdef HAVE_DIRFD if ((fd = dirfd(dirp->dir)) == -1) diff --git a/dln.c b/dln.c index 77bfe91b2875b5..bbed3af78ce1ac 100644 --- a/dln.c +++ b/dln.c @@ -463,8 +463,10 @@ dln_load(const char *file) void *handle = dln_open(file); #ifdef RUBY_DLN_CHECK_ABI - unsigned long long (*abi_version_fct)(void) = (unsigned long long(*)(void))dln_sym(handle, "ruby_abi_version"); - unsigned long long binary_abi_version = (*abi_version_fct)(); + typedef unsigned long long abi_version_number; + typedef abi_version_number abi_version_func(void); + abi_version_func *abi_version_fct = (abi_version_func *)dln_sym(handle, EXTERNAL_PREFIX "ruby_abi_version"); + abi_version_number binary_abi_version = (*abi_version_fct)(); if (binary_abi_version != ruby_abi_version() && abi_check_enabled_p()) { dln_loaderror("incompatible ABI version of binary - %s", file); } diff --git a/enumerator.c b/enumerator.c index 98432df93d7d44..94f8490ca49dc0 100644 --- a/enumerator.c +++ b/enumerator.c @@ -264,7 +264,7 @@ static const rb_data_type_t enumerator_data_type = { NULL, // Nothing allocated externally, so don't need a memsize function NULL, }, - 0, NULL, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_DECL_MARKING | RUBY_TYPED_EMBEDDABLE + 0, NULL, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_DECL_MARKING | RUBY_TYPED_EMBEDDABLE }; static struct enumerator * @@ -395,7 +395,7 @@ obj_to_enum(int argc, VALUE *argv, VALUE obj) } enumerator = rb_enumeratorize_with_size(obj, meth, argc, argv, 0); if (rb_block_given_p()) { - enumerator_ptr(enumerator)->size = rb_block_proc(); + RB_OBJ_WRITE(enumerator, &enumerator_ptr(enumerator)->size, rb_block_proc()); } return enumerator; } @@ -424,15 +424,15 @@ enumerator_init(VALUE enum_obj, VALUE obj, VALUE meth, int argc, const VALUE *ar rb_raise(rb_eArgError, "unallocated enumerator"); } - ptr->obj = obj; + RB_OBJ_WRITE(enum_obj, &ptr->obj, obj); ptr->meth = rb_to_id(meth); - if (argc) ptr->args = rb_ary_new4(argc, argv); + if (argc) RB_OBJ_WRITE(enum_obj, &ptr->args, rb_ary_new4(argc, argv)); ptr->fib = 0; ptr->dst = Qnil; ptr->lookahead = Qundef; ptr->feedvalue = Qundef; ptr->stop_exc = Qfalse; - ptr->size = size; + RB_OBJ_WRITE(enum_obj, &ptr->size, size); ptr->size_fn = size_fn; ptr->kw_splat = kw_splat; @@ -511,13 +511,13 @@ enumerator_init_copy(VALUE obj, VALUE orig) rb_raise(rb_eArgError, "unallocated enumerator"); } - ptr1->obj = ptr0->obj; - ptr1->meth = ptr0->meth; - ptr1->args = ptr0->args; + RB_OBJ_WRITE(obj, &ptr1->obj, ptr0->obj); + RB_OBJ_WRITE(obj, &ptr1->meth, ptr0->meth); + RB_OBJ_WRITE(obj, &ptr1->args, ptr0->args); ptr1->fib = 0; ptr1->lookahead = Qundef; ptr1->feedvalue = Qundef; - ptr1->size = ptr0->size; + RB_OBJ_WRITE(obj, &ptr1->size, ptr0->size); ptr1->size_fn = ptr0->size_fn; return obj; @@ -626,7 +626,7 @@ enumerator_each(int argc, VALUE *argv, VALUE obj) else { args = rb_ary_new4(argc, argv); } - e->args = args; + RB_OBJ_WRITE(obj, &e->args, args); e->size = Qnil; e->size_fn = 0; } @@ -767,7 +767,7 @@ next_i(RB_BLOCK_CALL_FUNC_ARGLIST(_, obj)) VALUE result; result = rb_block_call(obj, id_each, 0, 0, next_ii, obj); - e->stop_exc = rb_exc_new2(rb_eStopIteration, "iteration reached an end"); + RB_OBJ_WRITE(obj, &e->stop_exc, rb_exc_new2(rb_eStopIteration, "iteration reached an end")); rb_ivar_set(e->stop_exc, id_result, result); return rb_fiber_yield(1, &nil); } @@ -776,8 +776,8 @@ static void next_init(VALUE obj, struct enumerator *e) { VALUE curr = rb_fiber_current(); - e->dst = curr; - e->fib = rb_fiber_new(next_i, obj); + RB_OBJ_WRITE(obj, &e->dst, curr); + RB_OBJ_WRITE(obj, &e->fib, rb_fiber_new(next_i, obj)); e->lookahead = Qundef; } @@ -931,8 +931,9 @@ enumerator_peek_values(VALUE obj) rb_check_frozen(obj); if (UNDEF_P(e->lookahead)) { - e->lookahead = get_next_values(obj, e); + RB_OBJ_WRITE(obj, &e->lookahead, get_next_values(obj, e)); } + return e->lookahead; } @@ -1059,7 +1060,7 @@ enumerator_feed(VALUE obj, VALUE v) if (!UNDEF_P(e->feedvalue)) { rb_raise(rb_eTypeError, "feed value already set"); } - e->feedvalue = v; + RB_OBJ_WRITE(obj, &e->feedvalue, v); return Qnil; } @@ -1293,23 +1294,15 @@ yielder_compact(void *p) ptr->proc = rb_gc_location(ptr->proc); } -#define yielder_free RUBY_TYPED_DEFAULT_FREE - -static size_t -yielder_memsize(const void *p) -{ - return sizeof(struct yielder); -} - static const rb_data_type_t yielder_data_type = { "yielder", { yielder_mark, - yielder_free, - yielder_memsize, + RUBY_TYPED_DEFAULT_FREE, + NULL, yielder_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; static struct yielder * @@ -1433,23 +1426,15 @@ generator_compact(void *p) ptr->obj = rb_gc_location(ptr->obj); } -#define generator_free RUBY_TYPED_DEFAULT_FREE - -static size_t -generator_memsize(const void *p) -{ - return sizeof(struct generator); -} - static const rb_data_type_t generator_data_type = { "generator", { generator_mark, - generator_free, - generator_memsize, + RUBY_TYPED_DEFAULT_FREE, + NULL, generator_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; static struct generator * @@ -1902,8 +1887,8 @@ lazy_add_method(VALUE obj, int argc, VALUE *argv, VALUE args, VALUE memo, new_obj = enumerator_init_copy(enumerator_allocate(rb_cLazy), obj); new_e = RTYPEDDATA_GET_DATA(new_obj); - new_e->obj = new_generator; - new_e->procs = new_procs; + RB_OBJ_WRITE(new_obj, &new_e->obj, new_generator); + RB_OBJ_WRITE(new_obj, &new_e->procs, new_procs); if (argc > 0) { new_e->meth = rb_to_id(*argv++); @@ -1912,7 +1897,9 @@ lazy_add_method(VALUE obj, int argc, VALUE *argv, VALUE args, VALUE memo, else { new_e->meth = id_each; } - new_e->args = rb_ary_new4(argc, argv); + + RB_OBJ_WRITE(new_obj, &new_e->args, rb_ary_new4(argc, argv)); + return new_obj; } @@ -1998,7 +1985,7 @@ lazy_to_enum(int argc, VALUE *argv, VALUE self) } lazy = lazy_to_enum_i(self, meth, argc, argv, 0, rb_keyword_given_p()); if (rb_block_given_p()) { - enumerator_ptr(lazy)->size = rb_block_proc(); + RB_OBJ_WRITE(lazy, &enumerator_ptr(lazy)->size, rb_block_proc()); } return lazy; } @@ -2958,7 +2945,7 @@ static const rb_data_type_t producer_data_type = { producer_memsize, producer_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; static struct producer * diff --git a/error.c b/error.c index 041ab834f359b3..570cb128df624b 100644 --- a/error.c +++ b/error.c @@ -2202,50 +2202,50 @@ rb_nomethod_err_new(VALUE mesg, VALUE recv, VALUE method, VALUE args, int priv) return nometh_err_init_attr(exc, args, priv); } -/* :nodoc: */ -enum { - NAME_ERR_MESG__MESG, - NAME_ERR_MESG__RECV, - NAME_ERR_MESG__NAME, - NAME_ERR_MESG_COUNT -}; +typedef struct name_error_message_struct { + VALUE mesg; + VALUE recv; + VALUE name; +} name_error_message_t; static void name_err_mesg_mark(void *p) { - VALUE *ptr = p; - rb_gc_mark_locations(ptr, ptr+NAME_ERR_MESG_COUNT); + name_error_message_t *ptr = (name_error_message_t *)p; + rb_gc_mark_movable(ptr->mesg); + rb_gc_mark_movable(ptr->recv); + rb_gc_mark_movable(ptr->name); } -#define name_err_mesg_free RUBY_TYPED_DEFAULT_FREE - -static size_t -name_err_mesg_memsize(const void *p) +static void +name_err_mesg_update(void *p) { - return NAME_ERR_MESG_COUNT * sizeof(VALUE); + name_error_message_t *ptr = (name_error_message_t *)p; + ptr->mesg = rb_gc_location(ptr->mesg); + ptr->recv = rb_gc_location(ptr->recv); + ptr->name = rb_gc_location(ptr->name); } static const rb_data_type_t name_err_mesg_data_type = { "name_err_mesg", { name_err_mesg_mark, - name_err_mesg_free, - name_err_mesg_memsize, + RUBY_TYPED_DEFAULT_FREE, + NULL, // No external memory to report, + name_err_mesg_update, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; /* :nodoc: */ static VALUE -rb_name_err_mesg_init(VALUE klass, VALUE mesg, VALUE recv, VALUE method) +rb_name_err_mesg_init(VALUE klass, VALUE mesg, VALUE recv, VALUE name) { - VALUE result = TypedData_Wrap_Struct(klass, &name_err_mesg_data_type, 0); - VALUE *ptr = ALLOC_N(VALUE, NAME_ERR_MESG_COUNT); - - ptr[NAME_ERR_MESG__MESG] = mesg; - ptr[NAME_ERR_MESG__RECV] = recv; - ptr[NAME_ERR_MESG__NAME] = method; - RTYPEDDATA_DATA(result) = ptr; + name_error_message_t *message; + VALUE result = TypedData_Make_Struct(klass, name_error_message_t, &name_err_mesg_data_type, message); + RB_OBJ_WRITE(result, &message->mesg, mesg); + RB_OBJ_WRITE(result, &message->recv, recv); + RB_OBJ_WRITE(result, &message->name, name); return result; } @@ -2267,14 +2267,16 @@ name_err_mesg_alloc(VALUE klass) static VALUE name_err_mesg_init_copy(VALUE obj1, VALUE obj2) { - VALUE *ptr1, *ptr2; - if (obj1 == obj2) return obj1; rb_obj_init_copy(obj1, obj2); - TypedData_Get_Struct(obj1, VALUE, &name_err_mesg_data_type, ptr1); - TypedData_Get_Struct(obj2, VALUE, &name_err_mesg_data_type, ptr2); - MEMCPY(ptr1, ptr2, VALUE, NAME_ERR_MESG_COUNT); + name_error_message_t *ptr1, *ptr2; + TypedData_Get_Struct(obj1, name_error_message_t, &name_err_mesg_data_type, ptr1); + TypedData_Get_Struct(obj2, name_error_message_t, &name_err_mesg_data_type, ptr2); + + RB_OBJ_WRITE(obj1, &ptr1->mesg, ptr2->mesg); + RB_OBJ_WRITE(obj1, &ptr1->recv, ptr2->recv); + RB_OBJ_WRITE(obj1, &ptr1->name, ptr2->name); return obj1; } @@ -2282,19 +2284,18 @@ name_err_mesg_init_copy(VALUE obj1, VALUE obj2) static VALUE name_err_mesg_equal(VALUE obj1, VALUE obj2) { - VALUE *ptr1, *ptr2; - int i; - if (obj1 == obj2) return Qtrue; + if (rb_obj_class(obj2) != rb_cNameErrorMesg) return Qfalse; - TypedData_Get_Struct(obj1, VALUE, &name_err_mesg_data_type, ptr1); - TypedData_Get_Struct(obj2, VALUE, &name_err_mesg_data_type, ptr2); - for (i=0; imesg, ptr2->mesg)) return Qfalse; + if (!rb_equal(ptr1->recv, ptr2->recv)) return Qfalse; + if (!rb_equal(ptr1->name, ptr2->name)) return Qfalse; return Qtrue; } @@ -2313,10 +2314,10 @@ name_err_mesg_receiver_name(VALUE obj) static VALUE name_err_mesg_to_str(VALUE obj) { - VALUE *ptr, mesg; - TypedData_Get_Struct(obj, VALUE, &name_err_mesg_data_type, ptr); + name_error_message_t *ptr; + TypedData_Get_Struct(obj, name_error_message_t, &name_err_mesg_data_type, ptr); - mesg = ptr[NAME_ERR_MESG__MESG]; + VALUE mesg = ptr->mesg; if (NIL_P(mesg)) return Qnil; else { struct RString s_str, c_str, d_str; @@ -2326,7 +2327,7 @@ name_err_mesg_to_str(VALUE obj) #define FAKE_CSTR(v, str) rb_setup_fake_str((v), (str), rb_strlen_lit(str), usascii) c = s = FAKE_CSTR(&s_str, ""); - obj = ptr[NAME_ERR_MESG__RECV]; + obj = ptr->recv; switch (obj) { case Qnil: c = d = FAKE_CSTR(&d_str, "nil"); @@ -2397,7 +2398,7 @@ name_err_mesg_to_str(VALUE obj) c = c2; break; } - args[0] = rb_obj_as_string(ptr[NAME_ERR_MESG__NAME]); + args[0] = rb_obj_as_string(ptr->name); args[1] = d; args[2] = s; args[3] = c; @@ -2430,17 +2431,17 @@ name_err_mesg_load(VALUE klass, VALUE str) static VALUE name_err_receiver(VALUE self) { - VALUE *ptr, recv, mesg; - - recv = rb_ivar_lookup(self, id_recv, Qundef); + VALUE recv = rb_ivar_lookup(self, id_recv, Qundef); if (!UNDEF_P(recv)) return recv; - mesg = rb_attr_get(self, id_mesg); + VALUE mesg = rb_attr_get(self, id_mesg); if (!rb_typeddata_is_kind_of(mesg, &name_err_mesg_data_type)) { rb_raise(rb_eArgError, "no receiver is available"); } - ptr = DATA_PTR(mesg); - return ptr[NAME_ERR_MESG__RECV]; + + name_error_message_t *ptr; + TypedData_Get_Struct(mesg, name_error_message_t, &name_err_mesg_data_type, ptr); + return ptr->recv; } /* diff --git a/ext/objspace/objspace.c b/ext/objspace/objspace.c index ae869a3ed48286..0a7896d5c63014 100644 --- a/ext/objspace/objspace.c +++ b/ext/objspace/objspace.c @@ -19,7 +19,6 @@ #include "internal/hash.h" #include "internal/imemo.h" #include "internal/sanitizers.h" -#include "node.h" #include "ruby/io.h" #include "ruby/re.h" #include "ruby/st.h" @@ -337,17 +336,6 @@ count_symbols(int argc, VALUE *argv, VALUE os) return hash; } -static void -cn_i(VALUE v, void *n) -{ - size_t *nodes = (size_t *)n; - - if (BUILTIN_TYPE(v) == T_NODE) { - size_t s = nd_type((NODE *)v); - nodes[s]++; - } -} - /* * call-seq: * ObjectSpace.count_nodes([result_hash]) -> hash @@ -374,136 +362,7 @@ cn_i(VALUE v, void *n) static VALUE count_nodes(int argc, VALUE *argv, VALUE os) { - size_t nodes[NODE_LAST+1]; - enum node_type i; - VALUE hash = setup_hash(argc, argv); - - for (i = 0; i <= NODE_LAST; i++) { - nodes[i] = 0; - } - - each_object_with_flags(cn_i, &nodes[0]); - - for (i=0; icalled_id; if (mid != 0) { dump_append(dc, ", \"called_id\":"); - dump_append_string_value(dc, rb_id2str(mid)); + dump_append_id(dc, mid); VALUE klass = ((const struct rb_callcache *)obj)->klass; if (klass != 0) { diff --git a/file.c b/file.c index 6a314c80694013..8a537c50f18539 100644 --- a/file.c +++ b/file.c @@ -483,28 +483,29 @@ apply2files(int (*func)(const char *, void *), int argc, VALUE *argv, void *arg) return LONG2FIX(argc); } -static size_t -stat_memsize(const void *p) -{ - return sizeof(struct stat); -} - static const rb_data_type_t stat_data_type = { "stat", - {NULL, RUBY_TYPED_DEFAULT_FREE, stat_memsize,}, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED + { + NULL, + RUBY_TYPED_DEFAULT_FREE, + NULL, // No external memory to report + }, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE +}; + +struct rb_stat { + struct stat stat; + bool initialized; }; static VALUE stat_new_0(VALUE klass, const struct stat *st) { - struct stat *nst = 0; - VALUE obj = TypedData_Wrap_Struct(klass, &stat_data_type, 0); - + struct rb_stat *rb_st; + VALUE obj = TypedData_Make_Struct(klass, struct rb_stat, &stat_data_type, rb_st); if (st) { - nst = ALLOC(struct stat); - *nst = *st; - RTYPEDDATA_DATA(obj) = nst; + rb_st->stat = *st; + rb_st->initialized = true; } return obj; } @@ -518,10 +519,10 @@ rb_stat_new(const struct stat *st) static struct stat* get_stat(VALUE self) { - struct stat* st; - TypedData_Get_Struct(self, struct stat, &stat_data_type, st); - if (!st) rb_raise(rb_eTypeError, "uninitialized File::Stat"); - return st; + struct rb_stat* rb_st; + TypedData_Get_Struct(self, struct rb_stat, &stat_data_type, rb_st); + if (!rb_st->initialized) rb_raise(rb_eTypeError, "uninitialized File::Stat"); + return &rb_st->stat; } static struct timespec stat_mtimespec(const struct stat *st); @@ -1092,9 +1093,9 @@ rb_stat_inspect(VALUE self) #endif }; - struct stat* st; - TypedData_Get_Struct(self, struct stat, &stat_data_type, st); - if (!st) { + struct rb_stat* rb_st; + TypedData_Get_Struct(self, struct rb_stat, &stat_data_type, rb_st); + if (!rb_st->initialized) { return rb_sprintf("#<%s: uninitialized>", rb_obj_classname(self)); } @@ -5557,7 +5558,7 @@ rb_stat_s_alloc(VALUE klass) static VALUE rb_stat_init(VALUE obj, VALUE fname) { - struct stat st, *nst; + struct stat st; FilePathValue(fname); fname = rb_str_encode_ospath(fname); @@ -5565,13 +5566,11 @@ rb_stat_init(VALUE obj, VALUE fname) rb_sys_fail_path(fname); } - if (DATA_PTR(obj)) { - xfree(DATA_PTR(obj)); - DATA_PTR(obj) = NULL; - } - nst = ALLOC(struct stat); - *nst = st; - DATA_PTR(obj) = nst; + struct rb_stat *rb_st; + TypedData_Get_Struct(obj, struct rb_stat, &stat_data_type, rb_st); + + rb_st->stat = st; + rb_st->initialized = true; return Qnil; } @@ -5580,19 +5579,15 @@ rb_stat_init(VALUE obj, VALUE fname) static VALUE rb_stat_init_copy(VALUE copy, VALUE orig) { - struct stat *nst; - if (!OBJ_INIT_COPY(copy, orig)) return copy; - if (DATA_PTR(copy)) { - xfree(DATA_PTR(copy)); - DATA_PTR(copy) = 0; - } - if (DATA_PTR(orig)) { - nst = ALLOC(struct stat); - *nst = *(struct stat*)DATA_PTR(orig); - DATA_PTR(copy) = nst; - } + struct rb_stat *orig_rb_st; + TypedData_Get_Struct(orig, struct rb_stat, &stat_data_type, orig_rb_st); + + struct rb_stat *copy_rb_st; + TypedData_Get_Struct(copy, struct rb_stat, &stat_data_type, copy_rb_st); + + *copy_rb_st = *orig_rb_st; return copy; } diff --git a/gc.c b/gc.c index cfad9b5c42f6a7..741acd21fe4efa 100644 --- a/gc.c +++ b/gc.c @@ -8555,7 +8555,7 @@ gc_mark_children(rb_objspace_t *objspace, VALUE obj) mark_cvc_tbl(objspace, obj); cc_table_mark(objspace, obj); if (rb_shape_obj_too_complex(obj)) { - mark_tbl(objspace, (st_table *)RCLASS_IVPTR(obj)); + mark_tbl_no_pin(objspace, (st_table *)RCLASS_IVPTR(obj)); } else { for (attr_index_t i = 0; i < RCLASS_IV_COUNT(obj); i++) { @@ -12122,13 +12122,15 @@ gc_ref_update_array(rb_objspace_t * objspace, VALUE v) } } +static void gc_ref_update_table_values_only(rb_objspace_t *objspace, st_table *tbl); + static void gc_ref_update_object(rb_objspace_t *objspace, VALUE v) { VALUE *ptr = ROBJECT_IVPTR(v); if (rb_shape_obj_too_complex(v)) { - rb_gc_update_tbl_refs(ROBJECT_IV_HASH(v)); + gc_ref_update_table_values_only(objspace, ROBJECT_IV_HASH(v)); return; } @@ -12206,7 +12208,7 @@ hash_foreach_replace_value(st_data_t key, st_data_t value, st_data_t argp, int e } static void -gc_update_tbl_refs(rb_objspace_t * objspace, st_table *tbl) +gc_ref_update_table_values_only(rb_objspace_t *objspace, st_table *tbl) { if (!tbl || tbl->num_entries == 0) return; @@ -12225,7 +12227,7 @@ gc_update_table_refs(rb_objspace_t * objspace, st_table *tbl) } } -/* Update MOVED references in an st_table */ +/* Update MOVED references in a VALUE=>VALUE st_table */ void rb_gc_update_tbl_refs(st_table *ptr) { @@ -12607,7 +12609,10 @@ gc_update_object_references(rb_objspace_t *objspace, VALUE obj) update_cvc_tbl(objspace, obj); update_superclasses(objspace, obj); - if (!rb_shape_obj_too_complex(obj)) { + if (rb_shape_obj_too_complex(obj)) { + gc_ref_update_table_values_only(objspace, RCLASS_IV_HASH(obj)); + } + else { for (attr_index_t i = 0; i < RCLASS_IV_COUNT(obj); i++) { UPDATE_IF_MOVED(objspace, RCLASS_IVPTR(obj)[i]); } @@ -12856,7 +12861,7 @@ gc_update_references(rb_objspace_t *objspace) GLOBAL_SYMBOLS_LEAVE(global_symbols); rb_native_mutex_lock(&objspace->obj_id_lock); - gc_update_tbl_refs(objspace, objspace->obj_to_id_tbl); + gc_ref_update_table_values_only(objspace, objspace->obj_to_id_tbl); gc_update_table_refs(objspace, objspace->id_to_obj_tbl); rb_native_mutex_unlock(&objspace->obj_id_lock); @@ -15824,14 +15829,20 @@ rb_raw_obj_info_buitin_type(char *const buff, const size_t buff_size, const VALU } case T_OBJECT: { - uint32_t len = ROBJECT_IV_CAPACITY(obj); - - if (RANY(obj)->as.basic.flags & ROBJECT_EMBED) { - APPEND_F("(embed) len:%d", len); + if (rb_shape_obj_too_complex(obj)) { + size_t hash_len = rb_st_table_size(ROBJECT_IV_HASH(obj)); + APPEND_F("(too_complex) len:%zu", hash_len); } else { - VALUE *ptr = ROBJECT_IVPTR(obj); - APPEND_F("len:%d ptr:%p", len, (void *)ptr); + uint32_t len = ROBJECT_IV_CAPACITY(obj); + + if (RANY(obj)->as.basic.flags & ROBJECT_EMBED) { + APPEND_F("(embed) len:%d", len); + } + else { + VALUE *ptr = ROBJECT_IVPTR(obj); + APPEND_F("len:%d ptr:%p", len, (void *)ptr); + } } } break; diff --git a/gems/bundled_gems b/gems/bundled_gems index 1c3c71d3dd4932..5fc893308e10ba 100644 --- a/gems/bundled_gems +++ b/gems/bundled_gems @@ -12,12 +12,12 @@ test-unit 3.6.1 https://github.com/test-unit/test-unit rexml 3.2.6 https://github.com/ruby/rexml rss 0.3.0 https://github.com/ruby/rss net-ftp 0.2.0 https://github.com/ruby/net-ftp -net-imap 0.4.5 https://github.com/ruby/net-imap +net-imap 0.4.6 https://github.com/ruby/net-imap net-pop 0.1.2 https://github.com/ruby/net-pop net-smtp 0.4.0 https://github.com/ruby/net-smtp matrix 0.4.2 https://github.com/ruby/matrix prime 0.1.2 https://github.com/ruby/prime -rbs 3.3.0 https://github.com/ruby/rbs +rbs 3.3.2 https://github.com/ruby/rbs typeprof 0.21.8 https://github.com/ruby/typeprof debug 1.8.0 https://github.com/ruby/debug 927587afb6aac69b358b86a01f602d207053e8d2 racc 1.7.3 https://github.com/ruby/racc diff --git a/hash.c b/hash.c index 5d150e96195881..8964e682ba26b5 100644 --- a/hash.c +++ b/hash.c @@ -812,6 +812,14 @@ ar_add_direct_with_hash(VALUE hash, st_data_t key, st_data_t val, st_hash_t hash } } +static void +ensure_ar_table(VALUE hash) +{ + if (!RHASH_AR_TABLE_P(hash)) { + rb_raise(rb_eRuntimeError, "hash representation was changed during iteration"); + } +} + static int ar_general_foreach(VALUE hash, st_foreach_check_callback_func *func, st_update_callback_func *replace, st_data_t arg) { @@ -823,6 +831,7 @@ ar_general_foreach(VALUE hash, st_foreach_check_callback_func *func, st_update_c ar_table_pair *pair = RHASH_AR_TABLE_REF(hash, i); enum st_retval retval = (*func)(pair->key, pair->val, arg, 0); + ensure_ar_table(hash); /* pair may be not valid here because of theap */ switch (retval) { @@ -897,6 +906,7 @@ ar_foreach_check(VALUE hash, st_foreach_check_callback_func *func, st_data_t arg hint = ar_hint(hash, i); retval = (*func)(key, pair->val, arg, 0); + ensure_ar_table(hash); hash_verify(hash); switch (retval) { @@ -957,6 +967,7 @@ ar_update(VALUE hash, st_data_t key, old_key = key; retval = (*func)(&key, &value, arg, existing); /* pair can be invalid here because of theap */ + ensure_ar_table(hash); switch (retval) { case ST_CONTINUE: @@ -4070,24 +4081,17 @@ assoc_cmp(VALUE a, VALUE b) return !RTEST(rb_equal(a, b)); } -static VALUE -lookup2_call(VALUE arg) -{ - VALUE *args = (VALUE *)arg; - return rb_hash_lookup2(args[0], args[1], Qundef); -} - -struct reset_hash_type_arg { - VALUE hash; - const struct st_hash_type *orighash; +struct assoc_arg { + st_table *tbl; + st_data_t key; }; static VALUE -reset_hash_type(VALUE arg) +assoc_lookup(VALUE arg) { - struct reset_hash_type_arg *p = (struct reset_hash_type_arg *)arg; - HASH_ASSERT(RHASH_ST_TABLE_P(p->hash)); - RHASH_ST_TABLE(p->hash)->type = p->orighash; + struct assoc_arg *p = (struct assoc_arg*)arg; + st_data_t data; + if (st_lookup(p->tbl, p->key, &data)) return (VALUE)data; return Qundef; } @@ -4117,30 +4121,30 @@ assoc_i(VALUE key, VALUE val, VALUE arg) static VALUE rb_hash_assoc(VALUE hash, VALUE key) { - st_table *table; - const struct st_hash_type *orighash; VALUE args[2]; if (RHASH_EMPTY_P(hash)) return Qnil; - ar_force_convert_table(hash, __FILE__, __LINE__); - HASH_ASSERT(RHASH_ST_TABLE_P(hash)); - table = RHASH_ST_TABLE(hash); - orighash = table->type; - - if (orighash != &identhash) { - VALUE value; - struct reset_hash_type_arg ensure_arg; - struct st_hash_type assochash; - - assochash.compare = assoc_cmp; - assochash.hash = orighash->hash; - table->type = &assochash; - args[0] = hash; - args[1] = key; - ensure_arg.hash = hash; - ensure_arg.orighash = orighash; - value = rb_ensure(lookup2_call, (VALUE)&args, reset_hash_type, (VALUE)&ensure_arg); + if (RHASH_ST_TABLE_P(hash) && RHASH_ST_TABLE(hash)->type != &identhash) { + VALUE value = Qundef; + st_table assoctable = *RHASH_ST_TABLE(hash); + assoctable.type = &(struct st_hash_type){ + .compare = assoc_cmp, + .hash = assoctable.type->hash, + }; + VALUE arg = (VALUE)&(struct assoc_arg){ + .tbl = &assoctable, + .key = (st_data_t)key, + }; + + if (RB_OBJ_FROZEN(hash)) { + value = assoc_lookup(arg); + } + else { + hash_iter_lev_inc(hash); + value = rb_ensure(assoc_lookup, arg, hash_foreach_ensure, hash); + } + hash_verify(hash); if (!UNDEF_P(value)) return rb_assoc_new(key, value); } @@ -4357,6 +4361,9 @@ rb_hash_compare_by_id(VALUE hash) if (rb_hash_compare_by_id_p(hash)) return hash; rb_hash_modify_check(hash); + if (hash_iterating_p(hash)) { + rb_raise(rb_eRuntimeError, "compare_by_identity during iteration"); + } ar_force_convert_table(hash, __FILE__, __LINE__); HASH_ASSERT(RHASH_ST_TABLE_P(hash)); diff --git a/lib/bundler/cli.rb b/lib/bundler/cli.rb index c27ce896c88bd9..2938f30e97e62f 100644 --- a/lib/bundler/cli.rb +++ b/lib/bundler/cli.rb @@ -420,6 +420,7 @@ def add(*gems) method_option "filter-patch", :type => :boolean, :banner => "Only list patch newer versions" method_option "parseable", :aliases => "--porcelain", :type => :boolean, :banner => "Use minimal formatting for more parseable output" + method_option "json", :type => :boolean, :banner => "Produce parseable json output" method_option "only-explicit", :type => :boolean, :banner => "Only list gems specified in your Gemfile, not their dependencies" def outdated(*gems) diff --git a/lib/bundler/cli/outdated.rb b/lib/bundler/cli/outdated.rb index 68c701aefbbbd6..783e5fc2c02502 100644 --- a/lib/bundler/cli/outdated.rb +++ b/lib/bundler/cli/outdated.rb @@ -53,13 +53,13 @@ def run options[:local] ? definition.resolve_with_cache! : definition.resolve_remotely! end - if options[:parseable] + if options[:parseable] || options[:json] Bundler.ui.silence(&definition_resolution) else definition_resolution.call end - Bundler.ui.info "" + Bundler.ui.info "" unless options[:json] # Loop through the current specs gemfile_specs, dependency_specs = current_specs.partition do |spec| @@ -98,27 +98,24 @@ def run end if outdated_gems.empty? - unless options[:parseable] + if options[:json] + print_gems_json([]) + elsif !options[:parseable] Bundler.ui.info(nothing_outdated_message) end else - if options_include_groups - relevant_outdated_gems = outdated_gems.group_by {|g| g[:groups] }.sort.flat_map do |groups, gems| - contains_group = groups.split(", ").include?(options[:group]) - next unless options[:groups] || contains_group - - gems - end.compact - - if options[:parseable] - print_gems(relevant_outdated_gems) - else - print_gems_table(relevant_outdated_gems) - end + relevant_outdated_gems = if options_include_groups + by_group(outdated_gems, :filter => options[:group]) + else + outdated_gems + end + + if options[:json] + print_gems_json(relevant_outdated_gems) elsif options[:parseable] - print_gems(outdated_gems) + print_gems(relevant_outdated_gems) else - print_gems_table(outdated_gems) + print_gems_table(relevant_outdated_gems) end exit 1 @@ -162,6 +159,13 @@ def retrieve_active_spec(definition, current_spec) active_specs.last end + def by_group(gems, filter: nil) + gems.group_by {|g| g[:groups] }.sort.flat_map do |groups_string, grouped_gems| + next if filter && !groups_string.split(", ").include?(filter) + grouped_gems + end.compact + end + def print_gems(gems_list) gems_list.each do |gem| print_gem( @@ -173,6 +177,21 @@ def print_gems(gems_list) end end + def print_gems_json(gems_list) + require "json" + data = gems_list.map do |gem| + gem_data_for( + gem[:current_spec], + gem[:active_spec], + gem[:dependency], + gem[:groups] + ) + end + + data = { :outdated_count => gems_list.count, :outdated_gems => data } + Bundler.ui.info data.to_json + end + def print_gems_table(gems_list) data = gems_list.map do |gem| gem_column_for( @@ -212,6 +231,26 @@ def print_gem(current_spec, active_spec, dependency, groups) Bundler.ui.info output_message.rstrip end + def gem_data_for(current_spec, active_spec, dependency, groups) + { + :current_spec => spec_data_for(current_spec), + :active_spec => spec_data_for(active_spec), + :dependency => dependency&.to_s, + :groups => (groups || "").split(", "), + } + end + + def spec_data_for(spec) + { + :name => spec.name, + :version => spec.version.to_s, + :platform => spec.platform, + :source => spec.source.to_s, + :required_ruby_version => spec.required_ruby_version.to_s, + :required_rubygems_version => spec.required_rubygems_version.to_s, + } + end + def gem_column_for(current_spec, active_spec, dependency, groups) current_version = "#{current_spec.version}#{current_spec.git_version}" spec_version = "#{active_spec.version}#{active_spec.git_version}" diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb index 9ef0abed93a31c..4162e19c5ef8ac 100644 --- a/lib/bundler/definition.rb +++ b/lib/bundler/definition.rb @@ -972,7 +972,7 @@ def additional_base_requirements_for_resolve(resolution_packages, last_resolve) def remove_invalid_platforms!(dependencies) return if Bundler.frozen_bundle? - platforms.each do |platform| + platforms.reverse_each do |platform| next if local_platform == platform || (@new_platform && platforms.last == platform) || @path_changes || diff --git a/lib/bundler/lazy_specification.rb b/lib/bundler/lazy_specification.rb index fdd3efb443f034..ca68ee56520afd 100644 --- a/lib/bundler/lazy_specification.rb +++ b/lib/bundler/lazy_specification.rb @@ -122,9 +122,7 @@ def materialize_for_installation # bad gem. def __materialize__(candidates, fallback_to_non_installable: Bundler.frozen_bundle?) search = candidates.reverse.find do |spec| - spec.is_a?(StubSpecification) || - (spec.matches_current_ruby? && - spec.matches_current_rubygems?) + spec.is_a?(StubSpecification) || spec.matches_current_metadata? end if search.nil? && fallback_to_non_installable search = candidates.last diff --git a/lib/bundler/match_metadata.rb b/lib/bundler/match_metadata.rb index 499036ca93efcf..f6cc27df32a1e1 100644 --- a/lib/bundler/match_metadata.rb +++ b/lib/bundler/match_metadata.rb @@ -2,6 +2,10 @@ module Bundler module MatchMetadata + def matches_current_metadata? + matches_current_ruby? && matches_current_rubygems? + end + def matches_current_ruby? @required_ruby_version.satisfied_by?(Gem.ruby_version) end diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb index f4fc005ef2c92f..a0ef3c2cb5871a 100644 --- a/lib/bundler/spec_set.rb +++ b/lib/bundler/spec_set.rb @@ -64,7 +64,7 @@ def complete_platforms!(platforms) valid_platform = lookup.all? do |_, specs| spec = specs.first matching_specs = spec.source.specs.search([spec.name, spec.version]) - platform_spec = GemHelpers.select_best_platform_match(matching_specs, platform).first + platform_spec = GemHelpers.select_best_platform_match(matching_specs, platform).find(&:matches_current_metadata?) if platform_spec new_specs << LazySpecification.from_spec(platform_spec) diff --git a/lib/irb.rb b/lib/irb.rb index 655abaf0690e2d..75476542571deb 100644 --- a/lib/irb.rb +++ b/lib/irb.rb @@ -743,7 +743,14 @@ def handle_exception(exc) message = message.gsub(/\(irb\):(?\d+):in `<(?top \(required\))>'/) { "(irb):#{$~[:num]}:in `
'" } puts message end - print "Maybe IRB bug!\n" if irb_bug + puts 'Maybe IRB bug!' if irb_bug + rescue Exception => handler_exc + begin + puts exc.inspect + puts "backtraces are hidden because #{handler_exc} was raised when processing them" + rescue Exception + puts 'Uninspectable exception occurred' + end end # Evaluates the given block using the given +path+ as the Context#irb_path diff --git a/lib/irb/context.rb b/lib/irb/context.rb index 5dfe9d0d71d41a..a7b8ca2c26506b 100644 --- a/lib/irb/context.rb +++ b/lib/irb/context.rb @@ -164,7 +164,7 @@ def initialize(irb, workspace = nil, input_method = nil) RegexpCompletor.new end - TYPE_COMPLETION_REQUIRED_PRISM_VERSION = '0.17.1' + TYPE_COMPLETION_REQUIRED_PRISM_VERSION = '0.18.0' private def build_type_completor unless Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.0.0') && RUBY_ENGINE != 'truffleruby' diff --git a/lib/irb/debug.rb b/lib/irb/debug.rb index e522d393007e97..514395605f8c03 100644 --- a/lib/irb/debug.rb +++ b/lib/irb/debug.rb @@ -57,6 +57,24 @@ def DEBUGGER__.capture_frames(*args) DEBUGGER__::ThreadClient.prepend(SkipPathHelperForIRB) end + if !@output_modifier_defined && !DEBUGGER__::CONFIG[:no_hint] + irb_output_modifier_proc = Reline.output_modifier_proc + + Reline.output_modifier_proc = proc do |output, complete:| + unless output.strip.empty? + cmd = output.split(/\s/, 2).first + + if DEBUGGER__.commands.key?(cmd) + output = output.sub(/\n$/, " # debug command\n") + end + end + + irb_output_modifier_proc.call(output, complete: complete) + end + + @output_modifier_defined = true + end + true end diff --git a/lib/irb/pager.rb b/lib/irb/pager.rb index 1194e41f6f345f..119515078ba25d 100644 --- a/lib/irb/pager.rb +++ b/lib/irb/pager.rb @@ -62,7 +62,7 @@ def setup_pager pager = Shellwords.split(pager) next if pager.empty? - if pager.first == 'less' || pager.first == 'more' + if pager.first == 'less' pager << '-R' unless pager.include?('-R') end diff --git a/lib/irb/type_completion/completor.rb b/lib/irb/type_completion/completor.rb index e893fd8adcd52a..df1e1c7790946c 100644 --- a/lib/irb/type_completion/completor.rb +++ b/lib/irb/type_completion/completor.rb @@ -26,8 +26,8 @@ def inspect end def completion_candidates(preposing, target, _postposing, bind:) - @preposing = preposing verbose, $VERBOSE = $VERBOSE, nil + @preposing = preposing code = "#{preposing}#{target}" @result = analyze code, bind name, candidates = candidates_from_result(@result) @@ -36,8 +36,7 @@ def completion_candidates(preposing, target, _postposing, bind:) candidates.map(&:to_s).select { !_1.match?(all_symbols_pattern) && _1.start_with?(name) }.uniq.sort.map do target + _1[name.size..] end - rescue SyntaxError, StandardError => e - Completor.last_completion_error = e + rescue Exception => e handle_error(e) [] ensure @@ -45,6 +44,7 @@ def completion_candidates(preposing, target, _postposing, bind:) end def doc_namespace(preposing, matched, postposing, bind:) + verbose, $VERBOSE = $VERBOSE, nil name = matched[/[a-zA-Z_0-9]*[!?=]?\z/] method_doc = -> type do type = type.types.find { _1.all_methods.include? name.to_sym } @@ -102,6 +102,11 @@ def doc_namespace(preposing, matched, postposing, bind:) end else end + rescue Exception => e + handle_error(e) + nil + ensure + $VERBOSE = verbose end def candidates_from_result(result) @@ -229,6 +234,7 @@ def find_target(node, position) end def handle_error(e) + Completor.last_completion_error = e end end end diff --git a/lib/irb/type_completion/type_analyzer.rb b/lib/irb/type_completion/type_analyzer.rb index c4a41e49993b8b..344924c9fcd412 100644 --- a/lib/irb/type_completion/type_analyzer.rb +++ b/lib/irb/type_completion/type_analyzer.rb @@ -703,19 +703,31 @@ def evaluate_for_node(node, scope) end def evaluate_case_node(node, scope) - target = evaluate(node.predicate, scope) if node.predicate + evaluate(node.predicate, scope) if node.predicate # TODO branches = node.conditions.map do |condition| - ->(s) { evaluate_case_match target, condition, s } + ->(s) { evaluate_case_when_condition condition, s } end if node.consequent branches << ->(s) { evaluate node.consequent, s } - elsif node.conditions.any? { _1.is_a? Prism::WhenNode } + else branches << ->(_s) { Types::NIL } end Types::UnionType[*scope.run_branches(*branches)] end + def evaluate_case_match_node(node, scope) + target = evaluate(node.predicate, scope) + # TODO + branches = node.conditions.map do |condition| + ->(s) { evaluate_case_in_condition target, condition, s } + end + if node.consequent + branches << ->(s) { evaluate node.consequent, s } + end + Types::UnionType[*scope.run_branches(*branches)] + end + def evaluate_match_required_node(node, scope) value_type = evaluate node.value, scope evaluate_match_pattern value_type, node.pattern, scope @@ -765,7 +777,8 @@ def evaluate_implicit_node(node, scope) def evaluate_match_write_node(node, scope) # /(?)(?)/ =~ string evaluate node.call, scope - node.locals.each { scope[_1.to_s] = Types::UnionType[Types::STRING, Types::NIL] } + locals = node.targets.map(&:name) + locals.each { scope[_1.to_s] = Types::UnionType[Types::STRING, Types::NIL] } Types::BOOLEAN end @@ -948,21 +961,20 @@ def assign_numbered_parameters(numbered_parameters, scope, args, _kwargs) end end - def evaluate_case_match(target, node, scope) - case node - when Prism::WhenNode - node.conditions.each { evaluate _1, scope } - node.statements ? evaluate(node.statements, scope) : Types::NIL - when Prism::InNode - pattern = node.pattern - if pattern.is_a?(Prism::IfNode) || pattern.is_a?(Prism::UnlessNode) - cond_node = pattern.predicate - pattern = pattern.statements.body.first - end - evaluate_match_pattern(target, pattern, scope) - evaluate cond_node, scope if cond_node # TODO: conditional branch - node.statements ? evaluate(node.statements, scope) : Types::NIL + def evaluate_case_when_condition(node, scope) + node.conditions.each { evaluate _1, scope } + node.statements ? evaluate(node.statements, scope) : Types::NIL + end + + def evaluate_case_in_condition(target, node, scope) + pattern = node.pattern + if pattern.is_a?(Prism::IfNode) || pattern.is_a?(Prism::UnlessNode) + cond_node = pattern.predicate + pattern = pattern.statements.body.first end + evaluate_match_pattern(target, pattern, scope) + evaluate cond_node, scope if cond_node # TODO: conditional branch + node.statements ? evaluate(node.statements, scope) : Types::NIL end def evaluate_match_pattern(value, pattern, scope) diff --git a/lib/irb/version.rb b/lib/irb/version.rb index c33c4f798c8a0e..f1d9a4318dc5fa 100644 --- a/lib/irb/version.rb +++ b/lib/irb/version.rb @@ -5,7 +5,7 @@ # module IRB # :nodoc: - VERSION = "1.9.0" + VERSION = "1.9.1" @RELEASE_VERSION = VERSION - @LAST_UPDATE_DATE = "2023-11-11" + @LAST_UPDATE_DATE = "2023-11-21" end diff --git a/lib/open3.rb b/lib/open3.rb index ab1418f09433e4..9810174975844c 100644 --- a/lib/open3.rb +++ b/lib/open3.rb @@ -899,48 +899,84 @@ def capture2e(*cmd) end module_function :capture2e - # Open3.pipeline_rw starts a list of commands as a pipeline with pipes - # which connect to stdin of the first command and stdout of the last command. - # - # Open3.pipeline_rw(cmd1, cmd2, ... [, opts]) {|first_stdin, last_stdout, wait_threads| - # ... - # } + # :call-seq: + # Open3.pipeline_rw([env, ] *cmds, options = {}) -> [first_stdin, last_stdout, wait_threads] # - # first_stdin, last_stdout, wait_threads = Open3.pipeline_rw(cmd1, cmd2, ... [, opts]) - # ... - # first_stdin.close - # last_stdout.close + # Basically a wrapper for + # {Process.spawn}[rdoc-ref:Process.spawn] + # that: # - # Each cmd is a string or an array. - # If it is an array, the elements are passed to Process.spawn. + # - Creates a child process for each of the given +cmds+ + # by calling Process.spawn. + # - Pipes the +stdout+ from each child to the +stdin+ of the next child, + # or, for the first child, from the caller's +stdin+, + # or, for the last child, to the caller's +stdout+. # - # cmd: - # commandline command line string which is passed to a shell - # [env, commandline, opts] command line string which is passed to a shell - # [env, cmdname, arg1, ..., opts] command name and one or more arguments (no shell) - # [env, [cmdname, argv0], arg1, ..., opts] command name and arguments including argv[0] (no shell) + # The method does not wait for child processes to exit, + # so the caller must do so. # - # Note that env and opts are optional, as for Process.spawn. + # With no block given, returns a 3-element array containing: # - # The options to pass to Process.spawn are constructed by merging - # +opts+, the last hash element of the array, and - # specifications for the pipes between each of the commands. + # - The +stdin+ stream of the first child process. + # - The +stdout+ stream of the last child process. + # - An array of the wait threads for all of the child processes. # # Example: # - # Open3.pipeline_rw("tr -dc A-Za-z", "wc -c") {|i, o, ts| - # i.puts "All persons more than a mile high to leave the court." - # i.close - # p o.gets #=> "42\n" - # } - # - # Open3.pipeline_rw("sort", "cat -n") {|stdin, stdout, wait_thrs| - # stdin.puts "foo" - # stdin.puts "bar" - # stdin.puts "baz" - # stdin.close # send EOF to sort. - # p stdout.read #=> " 1\tbar\n 2\tbaz\n 3\tfoo\n" - # } + # first_stdin, last_stdout, wait_threads = Open3.pipeline_rw('sort', 'cat -n') + # # => [#, #, [#, #]] + # first_stdin.puts("foo\nbar\nbaz") + # first_stdin.close # Send EOF to sort. + # puts last_stdout.read + # wait_threads.each do |wait_thread| + # wait_thread.join + # end + # + # Output: + # + # 1 bar + # 2 baz + # 3 foo + # + # With a block given, calls the block with the +stdin+ stream of the first child, + # the +stdout+ stream of the last child, + # and an array of the wait processes: + # + # Open3.pipeline_rw('sort', 'cat -n') do |first_stdin, last_stdout, wait_threads| + # first_stdin.puts "foo\nbar\nbaz" + # first_stdin.close # send EOF to sort. + # puts last_stdout.read + # wait_threads.each do |wait_thread| + # wait_thread.join + # end + # end + # + # Output: + # + # 1 bar + # 2 baz + # 3 foo + # + # Like Process.spawn, this method has potential security vulnerabilities + # if called with untrusted input; + # see {Command Injection}[rdoc-ref:command_injection.rdoc]. + # + # If the first argument is a hash, it becomes leading argument +env+ + # in each call to Process.spawn; + # see {Execution Environment}[rdoc-ref:Process@Execution+Environment]. + # + # If the last argument is a hash, it becomes trailing argument +options+ + # in each call to Process.spawn; + # see {Execution Options}[rdoc-ref:Process@Execution+Options]. + # + # Each remaining argument in +cmds+ is one of: + # + # - A +command_line+: a string that begins with a shell reserved word + # or special built-in, or contains one or more metacharacters. + # - An +exe_path+: the string path to an executable to be called. + # - An array containing a +command_line+ or an +exe_path+, + # along with zero or more string arguments for the command. + # def pipeline_rw(*cmds, &block) if Hash === cmds.last opts = cmds.pop.dup @@ -970,7 +1006,9 @@ def pipeline_rw(*cmds, &block) # by calling Process.spawn. # - Pipes the +stdout+ from each child to the +stdin+ of the next child, # or, for the last child, to the caller's +stdout+. - # - Waits for all child processes to exit. + # + # The method does not wait for child processes to exit, + # so the caller must do so. # # With no block given, returns a 2-element array containing: # @@ -979,31 +1017,38 @@ def pipeline_rw(*cmds, &block) # # Example: # - # Open3.pipeline_r('ls', 'grep R') - # # => [#, [#, #]] + # last_stdout, wait_threads = Open3.pipeline_r('ls', 'grep R') + # # => [#, [#, #]] + # puts last_stdout.read + # wait_threads.each do |wait_thread| + # wait_thread.join + # end + # + # Output: + # + # Rakefile + # README.md # # With a block given, calls the block with the +stdout+ stream # of the last child process, # and an array of the wait processes: # - # Open3.pipeline_r('ls', 'grep R') do |x, ts| - # puts x.read - # p ts + # Open3.pipeline_r('ls', 'grep R') do |last_stdout, wait_threads| + # puts last_stdout.read + # wait_threads.each do |wait_thread| + # wait_thread.join + # end # end # # Output: # # Rakefile # README.md - # [#, #] # # Like Process.spawn, this method has potential security vulnerabilities # if called with untrusted input; # see {Command Injection}[rdoc-ref:command_injection.rdoc]. # - # Unlike Process.spawn, this method waits for the child processes to exit - # before returning, so the caller need not do so. - # # If the first argument is a hash, it becomes leading argument +env+ # in each call to Process.spawn; # see {Execution Environment}[rdoc-ref:Process@Execution+Environment]. @@ -1046,7 +1091,9 @@ def pipeline_r(*cmds, &block) # by calling Process.spawn. # - Pipes the +stdout+ from each child to the +stdin+ of the next child, # or, for the first child, pipes the caller's +stdout+ to the child's +stdin+. - # - Waits for all child processes to exit. + # + # The method does not wait for child processes to exit, + # so the caller must do so. # # With no block given, returns a 2-element array containing: # @@ -1055,36 +1102,42 @@ def pipeline_r(*cmds, &block) # # Example: # - # p Open3.pipeline_r( - # ['ruby', '-e', 'print "Foo"'], - # ['ruby', '-e', 'print STDIN.read + "Bar"'] - # ) - # [#, [#, #]] + # first_stdin, wait_threads = Open3.pipeline_w('sort', 'cat -n') + # # => [#, [#, #]] + # first_stdin.puts("foo\nbar\nbaz") + # first_stdin.close # Send EOF to sort. + # wait_threads.each do |wait_thread| + # wait_thread.join + # end + # + # Output: + # + # 1 bar + # 2 baz + # 3 foo # # With a block given, calls the block with the +stdin+ stream # of the first child process, # and an array of the wait processes: # - # Open3.pipeline_r( - # ['ruby', '-e', 'print "Foo"'], - # ['ruby', '-e', 'print STDIN.read + "Bar"'] - # ) do |x, ts| - # puts x.read - # p ts + # Open3.pipeline_w('sort', 'cat -n') do |first_stdin, wait_threads| + # first_stdin.puts("foo\nbar\nbaz") + # first_stdin.close # Send EOF to sort. + # wait_threads.each do |wait_thread| + # wait_thread.join + # end # end # # Output: # - # FooBar - # [#, #] + # 1 bar + # 2 baz + # 3 foo # # Like Process.spawn, this method has potential security vulnerabilities # if called with untrusted input; # see {Command Injection}[rdoc-ref:command_injection.rdoc]. # - # Unlike Process.spawn, this method waits for the child processes to exit - # before returning, so the caller need not do so. - # # If the first argument is a hash, it becomes leading argument +env+ # in each call to Process.spawn; # see {Execution Environment}[rdoc-ref:Process@Execution+Environment]. @@ -1116,49 +1169,65 @@ def pipeline_w(*cmds, &block) end module_function :pipeline_w - # Open3.pipeline_start starts a list of commands as a pipeline. - # No pipes are created for stdin of the first command and - # stdout of the last command. + # :call-seq: + # Open3.pipeline_start([env, ] *cmds, options = {}) -> [wait_threads] + # + # Basically a wrapper for + # {Process.spawn}[rdoc-ref:Process.spawn] + # that: # - # Open3.pipeline_start(cmd1, cmd2, ... [, opts]) {|wait_threads| - # ... - # } + # - Creates a child process for each of the given +cmds+ + # by calling Process.spawn. + # - Does not wait for child processes to exit. # - # wait_threads = Open3.pipeline_start(cmd1, cmd2, ... [, opts]) - # ... + # With no block given, returns an array of the wait threads + # for all of the child processes. # - # Each cmd is a string or an array. - # If it is an array, the elements are passed to Process.spawn. + # Example: # - # cmd: - # commandline command line string which is passed to a shell - # [env, commandline, opts] command line string which is passed to a shell - # [env, cmdname, arg1, ..., opts] command name and one or more arguments (no shell) - # [env, [cmdname, argv0], arg1, ..., opts] command name and arguments including argv[0] (no shell) + # wait_threads = Open3.pipeline_start('ls', 'grep R') + # # => [#, #] + # wait_threads.each do |wait_thread| + # wait_thread.join + # end # - # Note that env and opts are optional, as for Process.spawn. + # Output: # - # Example: + # Rakefile + # README.md + # + # With a block given, calls the block with an array of the wait processes: + # + # Open3.pipeline_start('ls', 'grep R') do |wait_threads| + # wait_threads.each do |wait_thread| + # wait_thread.join + # end + # end + # + # Output: # - # # Run xeyes in 10 seconds. - # Open3.pipeline_start("xeyes") {|ts| - # sleep 10 - # t = ts[0] - # Process.kill("TERM", t.pid) - # p t.value #=> # - # } - # - # # Convert pdf to ps and send it to a printer. - # # Collect error message of pdftops and lpr. - # pdf_file = "paper.pdf" - # printer = "printer-name" - # err_r, err_w = IO.pipe - # Open3.pipeline_start(["pdftops", pdf_file, "-"], - # ["lpr", "-P#{printer}"], - # :err=>err_w) {|ts| - # err_w.close - # p err_r.read # error messages of pdftops and lpr. - # } + # Rakefile + # README.md + # + # Like Process.spawn, this method has potential security vulnerabilities + # if called with untrusted input; + # see {Command Injection}[rdoc-ref:command_injection.rdoc]. + # + # If the first argument is a hash, it becomes leading argument +env+ + # in each call to Process.spawn; + # see {Execution Environment}[rdoc-ref:Process@Execution+Environment]. + # + # If the last argument is a hash, it becomes trailing argument +options+ + # in each call to Process.spawn; + # see {Execution Options}[rdoc-ref:Process@Execution+Options]. + # + # Each remaining argument in +cmds+ is one of: + # + # - A +command_line+: a string that begins with a shell reserved word + # or special built-in, or contains one or more metacharacters. + # - An +exe_path+: the string path to an executable to be called. + # - An array containing a +command_line+ or an +exe_path+, + # along with zero or more string arguments for the command. # def pipeline_start(*cmds, &block) if Hash === cmds.last @@ -1187,18 +1256,16 @@ def pipeline_start(*cmds, &block) # by calling Process.spawn. # - Pipes the +stdout+ from each child to the +stdin+ of the next child, # or, for the last child, to the caller's +stdout+. - # - Waits for all child processes to exit. + # - Waits for the child processes to exit. # - Returns an array of Process::Status objects (one for each child). # - # A simple example: + # Example: # - # Open3.pipeline('ls', 'grep [A-Z]') - # # => [#, #] + # wait_threads = Open3.pipeline('ls', 'grep R') + # # => [#, #] # # Output: # - # Gemfile - # LICENSE.txt # Rakefile # README.md # @@ -1206,9 +1273,6 @@ def pipeline_start(*cmds, &block) # if called with untrusted input; # see {Command Injection}[rdoc-ref:command_injection.rdoc]. # - # Unlike Process.spawn, this method waits for the child process to exit - # before returning, so the caller need not do so. - # # If the first argument is a hash, it becomes leading argument +env+ # in each call to Process.spawn; # see {Execution Environment}[rdoc-ref:Process@Execution+Environment]. diff --git a/lib/prism/desugar_compiler.rb b/lib/prism/desugar_compiler.rb index 1fba370613a0ef..f92ca9e4754a46 100644 --- a/lib/prism/desugar_compiler.rb +++ b/lib/prism/desugar_compiler.rb @@ -159,13 +159,13 @@ def desugar_operator_write_node(node, read_class, write_class, *arguments) CallNode.new( read_class.new(*arguments, node.name_loc), nil, + node.operator_loc.slice.chomp("="), node.operator_loc.copy(length: node.operator_loc.length - 1), nil, ArgumentsNode.new([node.value], 0, node.value.location), nil, nil, 0, - node.operator_loc.slice.chomp("="), node.location ), node.operator_loc.copy(start_offset: node.operator_loc.end_offset - 1, length: 1), diff --git a/lib/prism/ffi.rb b/lib/prism/ffi.rb index c910fd3aae7fde..847990ed9adcad 100644 --- a/lib/prism/ffi.rb +++ b/lib/prism/ffi.rb @@ -299,7 +299,7 @@ def dump_options(options) values << (options.fetch(:frozen_string_literal, false) ? 1 : 0) template << "C" - values << (options[:verbose] ? 0 : 1) + values << (options.fetch(:verbose, true) ? 0 : 1) template << "L" if (scopes = options[:scopes]) diff --git a/lib/prism/node_ext.rb b/lib/prism/node_ext.rb index 4febc615c11de8..5fc13eb06d239b 100644 --- a/lib/prism/node_ext.rb +++ b/lib/prism/node_ext.rb @@ -74,6 +74,14 @@ def full_name end class ConstantPathNode < Node + # An error class raised when dynamic parts are found while computing a + # constant path's full name. For example: + # Foo::Bar::Baz -> does not raise because all parts of the constant path are + # simple constants + # var::Bar::Baz -> raises because the first part of the constant path is a + # local variable + class DynamicPartsInConstantPathError < StandardError; end + # Returns the list of parts for the full name of this constant path. # For example: [:Foo, :Bar] def full_name_parts @@ -85,6 +93,10 @@ def full_name_parts current = current.parent end + unless current.is_a?(ConstantReadNode) + raise DynamicPartsInConstantPathError, "Constant path contains dynamic parts. Cannot compute full name" + end + parts.unshift(current&.name || :"") end diff --git a/lib/prism/prism.gemspec b/lib/prism/prism.gemspec index 4b0f87d4429dc4..132c3747fc3f0e 100644 --- a/lib/prism/prism.gemspec +++ b/lib/prism/prism.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |spec| spec.name = "prism" - spec.version = "0.17.1" + spec.version = "0.18.0" spec.authors = ["Shopify"] spec.email = ["ruby@shopify.com"] @@ -29,6 +29,7 @@ Gem::Specification.new do |spec| "docs/fuzzing.md", "docs/heredocs.md", "docs/javascript.md", + "docs/local_variable_depth.md", "docs/mapping.md", "docs/releasing.md", "docs/ripper.md", @@ -86,6 +87,7 @@ Gem::Specification.new do |spec| "src/diagnostic.c", "src/enc/pm_big5.c", "src/enc/pm_cp51932.c", + "src/enc/pm_cp949.c", "src/enc/pm_euc_jp.c", "src/enc/pm_gbk.c", "src/enc/pm_shift_jis.c", diff --git a/lib/resolv.rb b/lib/resolv.rb index 47c4ef6b3b6600..9e8335389a933b 100644 --- a/lib/resolv.rb +++ b/lib/resolv.rb @@ -1618,6 +1618,14 @@ def get_string_list strings end + def get_list + [].tap do |values| + while @index < @limit + values << yield + end + end + end + def get_name return Name.new(self.get_labels) end @@ -1678,6 +1686,378 @@ def get_rr end end + ## + # SvcParams for service binding RRs. [RFC9460] + + class SvcParams + include Enumerable + + ## + # Create a list of SvcParams with the given initial content. + # + # +params+ has to be an enumerable of +SvcParam+s. + # If its content has +SvcParam+s with the duplicate key, + # the one appears last takes precedence. + + def initialize(params = []) + @params = {} + + params.each do |param| + add param + end + end + + ## + # Get SvcParam for the given +key+ in this list. + + def [](key) + @params[canonical_key(key)] + end + + ## + # Get the number of SvcParams in this list. + + def count + @params.count + end + + ## + # Get whether this list is empty. + + def empty? + @params.empty? + end + + ## + # Add the SvcParam +param+ to this list, overwriting the existing one with the same key. + + def add(param) + @params[param.class.key_number] = param + end + + ## + # Remove the +SvcParam+ with the given +key+ and return it. + + def delete(key) + @params.delete(canonical_key(key)) + end + + ## + # Enumerate the +SvcParam+s in this list. + + def each(&block) + return enum_for(:each) unless block + @params.each_value(&block) + end + + def encode(msg) # :nodoc: + @params.keys.sort.each do |key| + msg.put_pack('n', key) + msg.put_length16 do + @params.fetch(key).encode(msg) + end + end + end + + def self.decode(msg) # :nodoc: + params = msg.get_list do + key, = msg.get_unpack('n') + msg.get_length16 do + SvcParam::ClassHash[key].decode(msg) + end + end + + return self.new(params) + end + + private + + def canonical_key(key) # :nodoc: + case key + when Integer + key + when /\Akey(\d+)\z/ + Integer($1) + when Symbol + SvcParam::ClassHash[key].key_number + else + raise TypeError, 'key must be either String or Symbol' + end + end + end + + + ## + # Base class for SvcParam. [RFC9460] + + class SvcParam + + ## + # Get the presentation name of the SvcParamKey. + + def self.key_name + const_get(:KeyName) + end + + ## + # Get the registered number of the SvcParamKey. + + def self.key_number + const_get(:KeyNumber) + end + + ClassHash = Hash.new do |h, key| # :nodoc: + case key + when Integer + Generic.create(key) + when /\Akey(?\d+)\z/ + Generic.create(key.to_int) + when Symbol + raise KeyError, "unknown key #{key}" + else + raise TypeError, 'key must be either String or Symbol' + end + end + + ## + # Generic SvcParam abstract class. + + class Generic < SvcParam + + ## + # SvcParamValue in wire-format byte string. + + attr_reader :value + + ## + # Create generic SvcParam + + def initialize(value) + @value = value + end + + def encode(msg) # :nodoc: + msg.put_bytes(@value) + end + + def self.decode(msg) # :nodoc: + return self.new(msg.get_bytes) + end + + def self.create(key_number) + c = Class.new(Generic) + key_name = :"key#{key_number}" + c.const_set(:KeyName, key_name) + c.const_set(:KeyNumber, key_number) + self.const_set(:"Key#{key_number}", c) + ClassHash[key_name] = ClassHash[key_number] = c + return c + end + end + + ## + # "mandatory" SvcParam -- Mandatory keys in service binding RR + + class Mandatory < SvcParam + KeyName = :mandatory + KeyNumber = 0 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # Mandatory keys. + + attr_reader :keys + + ## + # Initialize "mandatory" ScvParam. + + def initialize(keys) + @keys = keys.map(&:to_int) + end + + def encode(msg) # :nodoc: + @keys.sort.each do |key| + msg.put_pack('n', key) + end + end + + def self.decode(msg) # :nodoc: + keys = msg.get_list { msg.get_unpack('n')[0] } + return self.new(keys) + end + end + + ## + # "alpn" SvcParam -- Additional supported protocols + + class ALPN < SvcParam + KeyName = :alpn + KeyNumber = 1 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # Supported protocol IDs. + + attr_reader :protocol_ids + + ## + # Initialize "alpn" ScvParam. + + def initialize(protocol_ids) + @protocol_ids = protocol_ids.map(&:to_str) + end + + def encode(msg) # :nodoc: + msg.put_string_list(@protocol_ids) + end + + def self.decode(msg) # :nodoc: + return self.new(msg.get_string_list) + end + end + + ## + # "no-default-alpn" SvcParam -- No support for default protocol + + class NoDefaultALPN < SvcParam + KeyName = :'no-default-alpn' + KeyNumber = 2 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + def encode(msg) # :nodoc: + # no payload + end + + def self.decode(msg) # :nodoc: + return self.new + end + end + + ## + # "port" SvcParam -- Port for alternative endpoint + + class Port < SvcParam + KeyName = :port + KeyNumber = 3 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # Port number. + + attr_reader :port + + ## + # Initialize "port" ScvParam. + + def initialize(port) + @port = port.to_int + end + + def encode(msg) # :nodoc: + msg.put_pack('n', @port) + end + + def self.decode(msg) # :nodoc: + port, = msg.get_unpack('n') + return self.new(port) + end + end + + ## + # "ipv4hint" SvcParam -- IPv4 address hints + + class IPv4Hint < SvcParam + KeyName = :ipv4hint + KeyNumber = 4 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # Set of IPv4 addresses. + + attr_reader :addresses + + ## + # Initialize "ipv4hint" ScvParam. + + def initialize(addresses) + @addresses = addresses.map {|address| IPv4.create(address) } + end + + def encode(msg) # :nodoc: + @addresses.each do |address| + msg.put_bytes(address.address) + end + end + + def self.decode(msg) # :nodoc: + addresses = msg.get_list { IPv4.new(msg.get_bytes(4)) } + return self.new(addresses) + end + end + + ## + # "ipv6hint" SvcParam -- IPv6 address hints + + class IPv6Hint < SvcParam + KeyName = :ipv6hint + KeyNumber = 6 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # Set of IPv6 addresses. + + attr_reader :addresses + + ## + # Initialize "ipv6hint" ScvParam. + + def initialize(addresses) + @addresses = addresses.map {|address| IPv6.create(address) } + end + + def encode(msg) # :nodoc: + @addresses.each do |address| + msg.put_bytes(address.address) + end + end + + def self.decode(msg) # :nodoc: + addresses = msg.get_list { IPv6.new(msg.get_bytes(16)) } + return self.new(addresses) + end + end + + ## + # "dohpath" SvcParam -- DNS over HTTPS path template [RFC9461] + + class DoHPath < SvcParam + KeyName = :dohpath + KeyNumber = 7 + ClassHash[KeyName] = ClassHash[KeyNumber] = self # :nodoc: + + ## + # URI template for DoH queries. + + attr_reader :template + + ## + # Initialize "dohpath" ScvParam. + + def initialize(template) + @template = template.encode('utf-8') + end + + def encode(msg) # :nodoc: + msg.put_bytes(@template) + end + + def self.decode(msg) # :nodoc: + template = msg.get_bytes.force_encoding('utf-8') + return self.new(template) + end + end + end + ## # A DNS query abstract class. @@ -2341,6 +2721,84 @@ def self.decode_rdata(msg) # :nodoc: return self.new(priority, weight, port, target) end end + + ## + # Common implementation for SVCB-compatible resource records. + + class ServiceBinding + + ## + # Create a service binding resource record. + + def initialize(priority, target, params = []) + @priority = priority.to_int + @target = Name.create(target) + @params = SvcParams.new(params) + end + + ## + # The priority of this target host. + # + # The range is 0-65535. + # If set to 0, this RR is in AliasMode. Otherwise, it is in ServiceMode. + + attr_reader :priority + + ## + # The domain name of the target host. + + attr_reader :target + + ## + # The service paramters for the target host. + + attr_reader :params + + ## + # Whether this RR is in AliasMode. + + def alias_mode? + self.priority == 0 + end + + ## + # Whether this RR is in ServiceMode. + + def service_mode? + !alias_mode? + end + + def encode_rdata(msg) # :nodoc: + msg.put_pack("n", @priority) + msg.put_name(@target, compress: false) + @params.encode(msg) + end + + def self.decode_rdata(msg) # :nodoc: + priority, = msg.get_unpack("n") + target = msg.get_name + params = SvcParams.decode(msg) + return self.new(priority, target, params) + end + end + + ## + # SVCB resource record [RFC9460] + + class SVCB < ServiceBinding + TypeValue = 64 + ClassValue = IN::ClassValue + ClassHash[[TypeValue, ClassValue]] = self # :nodoc: + end + + ## + # HTTPS resource record [RFC9460] + + class HTTPS < ServiceBinding + TypeValue = 65 + ClassValue = IN::ClassValue + ClassHash[[TypeValue, ClassValue]] = self # :nodoc: + end end end end @@ -2560,11 +3018,7 @@ def initialize(address) # :nodoc: attr_reader :address def to_s # :nodoc: - address = sprintf("%x:%x:%x:%x:%x:%x:%x:%x", *@address.unpack("nnnnnnnn")) - unless address.sub!(/(^|:)0(:0)+(:|$)/, '::') - address.sub!(/(^|:)0(:|$)/, '::') - end - return address + sprintf("%x:%x:%x:%x:%x:%x:%x:%x", *@address.unpack("nnnnnnnn")).sub(/(^|:)0(:0)+(:|$)/, '::') end def inspect # :nodoc: diff --git a/parse.y b/parse.y index caddbcc178ff3c..94eb6f3e5adbcc 100644 --- a/parse.y +++ b/parse.y @@ -4124,7 +4124,7 @@ primary : literal p->ctxt.in_class = $k_class.in_class; p->ctxt.shareable_constant_value = $k_class.shareable_constant_value; } - | k_class tLSHFT expr + | k_class tLSHFT expr_value { begin_definition("", &@k_class, &@tLSHFT); } @@ -4133,12 +4133,12 @@ primary : literal k_end { /*%%%*/ - $$ = NEW_SCLASS($expr, $bodystmt, &@$); + $$ = NEW_SCLASS($expr_value, $bodystmt, &@$); nd_set_line(RNODE_SCLASS($$)->nd_body, @k_end.end_pos.lineno); - set_line_body($bodystmt, nd_line($expr)); - fixpos($$, $expr); + set_line_body($bodystmt, nd_line($expr_value)); + fixpos($$, $expr_value); /*% %*/ - /*% ripper: sclass!($expr, $bodystmt) %*/ + /*% ripper: sclass!($expr_value, $bodystmt) %*/ local_pop(p); p->ctxt.in_def = $k_class.in_def; p->ctxt.in_class = $k_class.in_class; diff --git a/prism/config.yml b/prism/config.yml index ef12f7a73038e5..84e458ed8ccc89 100644 --- a/prism/config.yml +++ b/prism/config.yml @@ -331,9 +331,14 @@ tokens: flags: - name: ArgumentsNodeFlags values: - - name: KEYWORD_SPLAT + - name: CONTAINS_KEYWORD_SPLAT comment: "if arguments contain keyword splat" comment: Flags for arguments nodes. + - name: ArrayNodeFlags + values: + - name: CONTAINS_SPLAT + comment: "if array contains splat nodes" + comment: Flags for array nodes. - name: CallNodeFlags values: - name: SAFE_NAVIGATION @@ -459,6 +464,9 @@ nodes: type: location? - name: closing_loc type: location? + - name: flags + type: flags + kind: ArrayNodeFlags comment: | Represents an array literal. This can be a regular array using brackets or a special array using % like %w or %i. @@ -669,6 +677,8 @@ nodes: type: node? - name: call_operator_loc type: location? + - name: name + type: constant - name: message_loc type: location? - name: opening_loc @@ -683,8 +693,6 @@ nodes: - name: flags type: flags kind: CallNodeFlags - - name: name - type: constant comment: | Represents a method call, in all of the various forms that can take. @@ -2370,17 +2378,6 @@ nodes: foo; bar; baz ^^^^^^^^^^^^^ - - name: StringConcatNode - fields: - - name: left - type: node - - name: right - type: node - comment: | - Represents the use of compile-time string concatenation. - - "foo" "bar" - ^^^^^^^^^^^ - name: StringNode fields: - name: flags diff --git a/prism/diagnostic.c b/prism/diagnostic.c index 7da8806b370bf3..1161dec6be1f8e 100644 --- a/prism/diagnostic.c +++ b/prism/diagnostic.c @@ -232,6 +232,10 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = { [PM_ERR_RESCUE_TERM] = "Expected a closing delimiter for the `rescue` clause", [PM_ERR_RESCUE_VARIABLE] = "Expected an exception variable after `=>` in a rescue statement", [PM_ERR_RETURN_INVALID] = "Invalid `return` in a class or module body", + [PM_ERR_STATEMENT_ALIAS] = "Unexpected an `alias` at a non-statement position", + [PM_ERR_STATEMENT_POSTEXE_END] = "Unexpected an `END` at a non-statement position", + [PM_ERR_STATEMENT_PREEXE_BEGIN] = "Unexpected a `BEGIN` at a non-statement position", + [PM_ERR_STATEMENT_UNDEF] = "Unexpected an `undef` at a non-statement position", [PM_ERR_STRING_CONCATENATION] = "Expected a string for concatenation", [PM_ERR_STRING_INTERPOLATED_TERM] = "Expected a closing delimiter for the interpolated string", [PM_ERR_STRING_LITERAL_TERM] = "Expected a closing delimiter for the string literal", @@ -256,6 +260,7 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = { [PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_PLUS] = "Ambiguous first argument; put parentheses or a space even after `+` operator", [PM_WARN_AMBIGUOUS_PREFIX_STAR] = "Ambiguous `*` has been interpreted as an argument prefix", [PM_WARN_AMBIGUOUS_SLASH] = "Ambiguous `/`; wrap regexp in parentheses or add a space after `/` operator", + [PM_WARN_END_IN_METHOD] = "END in method; use at_exit", }; static const char* diff --git a/prism/diagnostic.h b/prism/diagnostic.h index 33a70229c850b2..06d90ec026f891 100644 --- a/prism/diagnostic.h +++ b/prism/diagnostic.h @@ -226,6 +226,10 @@ typedef enum { PM_ERR_RESCUE_TERM, PM_ERR_RESCUE_VARIABLE, PM_ERR_RETURN_INVALID, + PM_ERR_STATEMENT_ALIAS, + PM_ERR_STATEMENT_POSTEXE_END, + PM_ERR_STATEMENT_PREEXE_BEGIN, + PM_ERR_STATEMENT_UNDEF, PM_ERR_STRING_CONCATENATION, PM_ERR_STRING_INTERPOLATED_TERM, PM_ERR_STRING_LITERAL_TERM, @@ -250,6 +254,7 @@ typedef enum { PM_WARN_AMBIGUOUS_FIRST_ARGUMENT_PLUS, PM_WARN_AMBIGUOUS_PREFIX_STAR, PM_WARN_AMBIGUOUS_SLASH, + PM_WARN_END_IN_METHOD, /* This must be the last member. */ PM_DIAGNOSTIC_ID_LEN, diff --git a/prism/enc/pm_cp949.c b/prism/enc/pm_cp949.c new file mode 100644 index 00000000000000..f3b5a50fde44be --- /dev/null +++ b/prism/enc/pm_cp949.c @@ -0,0 +1,57 @@ +#include "prism/enc/pm_encoding.h" + +static size_t +pm_encoding_cp949_char_width(const uint8_t *b, ptrdiff_t n) { + // These are the single byte characters + if (*b < 0x81) { + return 1; + } + + // These are the double byte characters + if ( + (n > 1) && + (b[0] >= 0x81 && b[0] <= 0xfe) && + (b[1] >= 0x41 && b[1] <= 0xfe) + ) { + return 2; + } + + return 0; +} + +static size_t +pm_encoding_cp949_alpha_char(const uint8_t *b, ptrdiff_t n) { + if (pm_encoding_cp949_char_width(b, n) == 1) { + return pm_encoding_ascii_alpha_char(b, n); + } else { + return 0; + } +} + +static size_t +pm_encoding_cp949_alnum_char(const uint8_t *b, ptrdiff_t n) { + if (pm_encoding_cp949_char_width(b, n) == 1) { + return pm_encoding_ascii_alnum_char(b, n); + } else { + return 0; + } +} + +static bool +pm_encoding_cp949_isupper_char(const uint8_t *b, ptrdiff_t n) { + if (pm_encoding_cp949_char_width(b, n) == 1) { + return pm_encoding_ascii_isupper_char(b, n); + } else { + return 0; + } +} + +/** cp949 encoding */ +pm_encoding_t pm_encoding_cp949 = { + .name = "cp949", + .char_width = pm_encoding_cp949_char_width, + .alnum_char = pm_encoding_cp949_alnum_char, + .alpha_char = pm_encoding_cp949_alpha_char, + .isupper_char = pm_encoding_cp949_isupper_char, + .multibyte = true +}; diff --git a/prism/enc/pm_encoding.h b/prism/enc/pm_encoding.h index 15db4abc9dfdf0..698abc8be98068 100644 --- a/prism/enc/pm_encoding.h +++ b/prism/enc/pm_encoding.h @@ -164,6 +164,7 @@ extern pm_encoding_t pm_encoding_cp51932; extern pm_encoding_t pm_encoding_cp850; extern pm_encoding_t pm_encoding_cp852; extern pm_encoding_t pm_encoding_cp855; +extern pm_encoding_t pm_encoding_cp949; extern pm_encoding_t pm_encoding_euc_jp; extern pm_encoding_t pm_encoding_gb1988; extern pm_encoding_t pm_encoding_gbk; @@ -198,6 +199,7 @@ extern pm_encoding_t pm_encoding_iso_8859_14; extern pm_encoding_t pm_encoding_iso_8859_15; extern pm_encoding_t pm_encoding_iso_8859_16; extern pm_encoding_t pm_encoding_koi8_r; +extern pm_encoding_t pm_encoding_koi8_u; extern pm_encoding_t pm_encoding_mac_cent_euro; extern pm_encoding_t pm_encoding_mac_croatian; extern pm_encoding_t pm_encoding_mac_cyrillic; @@ -209,6 +211,7 @@ extern pm_encoding_t pm_encoding_mac_thai; extern pm_encoding_t pm_encoding_mac_turkish; extern pm_encoding_t pm_encoding_mac_ukraine; extern pm_encoding_t pm_encoding_shift_jis; +extern pm_encoding_t pm_encoding_tis_620; extern pm_encoding_t pm_encoding_utf_8; extern pm_encoding_t pm_encoding_utf8_mac; extern pm_encoding_t pm_encoding_windows_1250; diff --git a/prism/enc/pm_tables.c b/prism/enc/pm_tables.c index 70a44720ca3dc6..6eede35e32fe20 100644 --- a/prism/enc/pm_tables.c +++ b/prism/enc/pm_tables.c @@ -864,6 +864,30 @@ static uint8_t pm_encoding_koi8_r_table[256] = { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Fx }; +/** + * Each element of the following table contains a bitfield that indicates a + * piece of information about the corresponding KOI8-U character. + */ +static uint8_t pm_encoding_koi8_u_table[256] = { +// 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x + 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x + 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x + 0, 0, 0, 3, 3, 0, 3, 3, 0, 0, 0, 0, 0, 3, 0, 0, // Ax + 0, 0, 0, 7, 7, 0, 7, 7, 0, 0, 0, 0, 0, 7, 0, 0, // Bx + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Dx + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Ex + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // Fx +}; + /** * Each element of the following table contains a bitfield that indicates a * piece of information about the corresponding macCentEuro character. @@ -1056,6 +1080,30 @@ static uint8_t pm_encoding_mac_thai_table[256] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // Fx }; +/** + * Each element of the following table contains a bitfield that indicates a + * piece of information about the corresponding TIS-620 character. + */ +static uint8_t pm_encoding_tis_620_table[256] = { +// 0 1 2 3 4 5 6 7 8 9 A B C D E F + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 0x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 1x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 2x + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, // 3x + 0, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, // 4x + 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 0, 0, 0, 0, 0, // 5x + 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // 6x + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0, // 7x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 8x + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, // 9x + 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ax + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Bx + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Cx + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 3, // Dx + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, // Ex + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, // Fx +}; + /** * Each element of the following table contains a bitfield that indicates a * piece of information about the corresponding macTurkish character. @@ -1394,7 +1442,7 @@ pm_encoding_single_char_width(PRISM_ATTRIBUTE_UNUSED const uint8_t *b, PRISM_ATT * checking if it's a valid codepoint in KOI-8 and if it is returning 1. */ static size_t -pm_encoding_koi8_r_char_width(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t n) { +pm_encoding_koi8_char_width(const uint8_t *b, PRISM_ATTRIBUTE_UNUSED ptrdiff_t n) { return ((*b >= 0x20 && *b <= 0x7E) || (*b >= 0x80)) ? 1 : 0; } @@ -1444,6 +1492,7 @@ PRISM_ENCODING_TABLE(iso_8859_14) PRISM_ENCODING_TABLE(iso_8859_15) PRISM_ENCODING_TABLE(iso_8859_16) PRISM_ENCODING_TABLE(koi8_r) +PRISM_ENCODING_TABLE(koi8_u) PRISM_ENCODING_TABLE(mac_cent_euro) PRISM_ENCODING_TABLE(mac_croatian) PRISM_ENCODING_TABLE(mac_cyrillic) @@ -1454,6 +1503,7 @@ PRISM_ENCODING_TABLE(mac_romania) PRISM_ENCODING_TABLE(mac_thai) PRISM_ENCODING_TABLE(mac_turkish) PRISM_ENCODING_TABLE(mac_ukraine) +PRISM_ENCODING_TABLE(tis_620) PRISM_ENCODING_TABLE(windows_1250) PRISM_ENCODING_TABLE(windows_1251) PRISM_ENCODING_TABLE(windows_1252) @@ -1830,13 +1880,23 @@ pm_encoding_t pm_encoding_iso_8859_16 = { /** KOI8-R */ pm_encoding_t pm_encoding_koi8_r = { .name = "KOI8-R", - .char_width = pm_encoding_koi8_r_char_width, + .char_width = pm_encoding_koi8_char_width, .alnum_char = pm_encoding_koi8_r_alnum_char, .alpha_char = pm_encoding_koi8_r_alpha_char, .isupper_char = pm_encoding_koi8_r_isupper_char, .multibyte = false }; +/** KOI8-U */ +pm_encoding_t pm_encoding_koi8_u = { + .name = "KOI8-U", + .char_width = pm_encoding_koi8_char_width, + .alnum_char = pm_encoding_koi8_u_alnum_char, + .alpha_char = pm_encoding_koi8_u_alpha_char, + .isupper_char = pm_encoding_koi8_u_isupper_char, + .multibyte = false +}; + /** macCentEuro */ pm_encoding_t pm_encoding_mac_cent_euro = { .name = "macCentEuro", @@ -1937,6 +1997,16 @@ pm_encoding_t pm_encoding_mac_ukraine = { .multibyte = false }; +/** TIS-620 */ +pm_encoding_t pm_encoding_tis_620 = { + .name = "TIS-620", + .char_width = pm_encoding_single_char_width, + .alnum_char = pm_encoding_tis_620_alnum_char, + .alpha_char = pm_encoding_tis_620_alpha_char, + .isupper_char = pm_encoding_tis_620_isupper_char, + .multibyte = false +}; + /** Windows-1250 */ pm_encoding_t pm_encoding_windows_1250 = { .name = "Windows-1250", diff --git a/prism/extension.h b/prism/extension.h index 4803aabe5e8bb6..33418b102a848f 100644 --- a/prism/extension.h +++ b/prism/extension.h @@ -1,7 +1,7 @@ #ifndef PRISM_EXT_NODE_H #define PRISM_EXT_NODE_H -#define EXPECTED_PRISM_VERSION "0.17.1" +#define EXPECTED_PRISM_VERSION "0.18.0" #include #include diff --git a/prism/prism.c b/prism/prism.c index 09ccaf70cf35b2..7aee11c93c5d5f 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -415,7 +415,7 @@ lex_state_ignored_p(pm_parser_t *parser) { static inline bool lex_state_beg_p(pm_parser_t *parser) { - return lex_state_p(parser, PM_LEX_STATE_BEG_ANY) || (parser->lex_state == (PM_LEX_STATE_ARG | PM_LEX_STATE_LABELED)); + return lex_state_p(parser, PM_LEX_STATE_BEG_ANY) || ((parser->lex_state & (PM_LEX_STATE_ARG | PM_LEX_STATE_LABELED)) == (PM_LEX_STATE_ARG | PM_LEX_STATE_LABELED)); } static inline bool @@ -1151,6 +1151,10 @@ pm_array_node_elements_append(pm_array_node_t *node, pm_node_t *element) { if (PM_NODE_TYPE_P(element, PM_ARRAY_NODE) || PM_NODE_TYPE_P(element, PM_HASH_NODE) || PM_NODE_TYPE_P(element, PM_RANGE_NODE) || (element->flags & PM_NODE_FLAG_STATIC_LITERAL) == 0) { node->base.flags &= (pm_node_flags_t) ~PM_NODE_FLAG_STATIC_LITERAL; } + + if (PM_NODE_TYPE_P(element, PM_SPLAT_NODE)) { + node->base.flags |= PM_ARRAY_NODE_FLAGS_CONTAINS_SPLAT; + } } /** @@ -4132,6 +4136,21 @@ pm_local_variable_target_node_create(pm_parser_t *parser, const pm_token_t *name ); } +/** + * Allocate and initialize a new LocalVariableTargetNode node with the given depth. + */ +static pm_local_variable_target_node_t * +pm_local_variable_target_node_create_depth(pm_parser_t *parser, const pm_token_t *name, uint32_t depth) { + pm_refute_numbered_parameter(parser, name->start, name->end); + + return pm_local_variable_target_node_create_values( + parser, + &(pm_location_t) { .start = name->start, .end = name->end }, + pm_parser_constant_id_token(parser, name), + depth + ); +} + /** * Allocate and initialize a new MatchPredicateNode node. */ @@ -5127,28 +5146,6 @@ pm_statements_node_body_append(pm_statements_node_t *node, pm_node_t *statement) statement->flags |= PM_NODE_FLAG_NEWLINE; } -/** - * Allocate a new StringConcatNode node. - */ -static pm_string_concat_node_t * -pm_string_concat_node_create(pm_parser_t *parser, pm_node_t *left, pm_node_t *right) { - pm_string_concat_node_t *node = PM_ALLOC_NODE(parser, pm_string_concat_node_t); - - *node = (pm_string_concat_node_t) { - { - .type = PM_STRING_CONCAT_NODE, - .location = { - .start = left->location.start, - .end = right->location.end - } - }, - .left = left, - .right = right - }; - - return node; -} - /** * Allocate a new StringNode node with the current string on the parser. */ @@ -6183,6 +6180,7 @@ parser_lex_magic_comment_encoding_value(pm_parser_t *parser, const uint8_t *star ENCODING1("CP863", pm_encoding_ibm863); ENCODING2("CP932", "csWindows31J", pm_encoding_windows_31j); ENCODING1("CP936", pm_encoding_gbk); + ENCODING1("CP949", pm_encoding_cp949); ENCODING1("CP1250", pm_encoding_windows_1250); ENCODING1("CP1251", pm_encoding_windows_1251); ENCODING1("CP1252", pm_encoding_windows_1252); @@ -6241,6 +6239,7 @@ parser_lex_magic_comment_encoding_value(pm_parser_t *parser, const uint8_t *star break; case 'K': case 'k': ENCODING1("KOI8-R", pm_encoding_koi8_r); + ENCODING1("KOI8-U", pm_encoding_koi8_u); break; case 'L': case 'l': ENCODING1("locale", pm_encoding_utf_8); @@ -6264,6 +6263,9 @@ parser_lex_magic_comment_encoding_value(pm_parser_t *parser, const uint8_t *star ENCODING1("Shift_JIS", pm_encoding_shift_jis); ENCODING1("SJIS", pm_encoding_windows_31j); break; + case 'T': case 't': + ENCODING1("TIS-620", pm_encoding_tis_620); + break; case 'U': case 'u': ENCODING1("US-ASCII", pm_encoding_ascii); ENCODING2("UTF8-MAC", "UTF-8-HFS", pm_encoding_utf8_mac); @@ -10163,10 +10165,8 @@ typedef struct { bool binary; /** - * Whether or not this token can be used as non associative binary operator. - * Usually, non associative operator can be handled by using the above left - * and right binding powers, but some operators (e.g. in and =>) need special - * treatment since they do not call parse_expression recursively. + * Whether or not this token can be used as non-associative binary operator. + * Non-associative operators (e.g. in and =>) need special treatment in parse_expression. */ bool nonassoc; } pm_binding_powers_t; @@ -10215,8 +10215,10 @@ pm_binding_powers_t pm_binding_powers[PM_TOKEN_MAXIMUM] = { [PM_TOKEN_QUESTION_MARK] = RIGHT_ASSOCIATIVE(PM_BINDING_POWER_TERNARY), // .. ... - [PM_TOKEN_DOT_DOT] = LEFT_ASSOCIATIVE(PM_BINDING_POWER_RANGE), - [PM_TOKEN_DOT_DOT_DOT] = LEFT_ASSOCIATIVE(PM_BINDING_POWER_RANGE), + [PM_TOKEN_DOT_DOT] = NON_ASSOCIATIVE(PM_BINDING_POWER_RANGE), + [PM_TOKEN_DOT_DOT_DOT] = NON_ASSOCIATIVE(PM_BINDING_POWER_RANGE), + [PM_TOKEN_UDOT_DOT] = RIGHT_ASSOCIATIVE_UNARY(PM_BINDING_POWER_LOGICAL_OR), + [PM_TOKEN_UDOT_DOT_DOT] = RIGHT_ASSOCIATIVE_UNARY(PM_BINDING_POWER_LOGICAL_OR), // || [PM_TOKEN_PIPE_PIPE] = LEFT_ASSOCIATIVE(PM_BINDING_POWER_LOGICAL_OR), @@ -11165,7 +11167,7 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for parsed_bare_hash = true; parse_arguments_append(parser, arguments, argument); if (contains_keyword_splat) { - arguments->arguments->base.flags |= PM_ARGUMENTS_NODE_FLAGS_KEYWORD_SPLAT; + arguments->arguments->base.flags |= PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT; } break; } @@ -11176,8 +11178,14 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for if (token_begins_expression_p(parser->current.type)) { expression = parse_value_expression(parser, PM_BINDING_POWER_DEFINED, PM_ERR_EXPECT_ARGUMENT); - } else if (pm_parser_local_depth(parser, &operator) == -1) { - pm_parser_err_token(parser, &operator, PM_ERR_ARGUMENT_NO_FORWARDING_AMP); + } else { + if (pm_parser_local_depth(parser, &operator) == -1) { + // A block forwarding in a method having `...` parameter (e.g. `def foo(...); bar(&); end`) is available. + pm_constant_id_t ellipsis_id = pm_parser_constant_id_constant(parser, "...", 3); + if (pm_parser_local_depth_constant_id(parser, ellipsis_id) == -1) { + pm_parser_err_token(parser, &operator, PM_ERR_ARGUMENT_NO_FORWARDING_AMP); + } + } } argument = (pm_node_t *) pm_block_argument_node_create(parser, &operator, expression); @@ -11279,7 +11287,7 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for parse_arguments_append(parser, arguments, argument); if (contains_keyword_splat) { - arguments->arguments->base.flags |= PM_ARGUMENTS_NODE_FLAGS_KEYWORD_SPLAT; + arguments->arguments->base.flags |= PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT; } break; } @@ -13010,8 +13018,13 @@ parse_pattern_primitive(pm_parser_t *parser, pm_diagnostic_id_t diag_id) { case PM_TOKEN_IDENTIFIER: case PM_TOKEN_METHOD_NAME: { parser_lex(parser); - pm_parser_local_add_token(parser, &parser->previous); - return (pm_node_t *) pm_local_variable_target_node_create(parser, &parser->previous); + pm_token_t name = parser->previous; + int depth = pm_parser_local_depth(parser, &name); + if (depth < 0) { + depth = 0; + pm_parser_local_add_token(parser, &name); + } + return (pm_node_t *) pm_local_variable_target_node_create_depth(parser, &name, (uint32_t) depth); } case PM_TOKEN_BRACKET_LEFT_ARRAY: { pm_token_t opening = parser->current; @@ -13328,9 +13341,13 @@ parse_pattern_primitives(pm_parser_t *parser, pm_diagnostic_id_t diag_id) { expect1(parser, PM_TOKEN_IDENTIFIER, PM_ERR_PATTERN_IDENT_AFTER_HROCKET); pm_token_t identifier = parser->previous; - pm_parser_local_add_token(parser, &identifier); + int depth = pm_parser_local_depth(parser, &identifier); + if (depth < 0) { + depth = 0; + pm_parser_local_add_token(parser, &identifier); + } - pm_node_t *target = (pm_node_t *) pm_local_variable_target_node_create(parser, &identifier); + pm_node_t *target = (pm_node_t *) pm_local_variable_target_node_create_depth(parser, &identifier, (uint32_t) depth); node = (pm_node_t *) pm_capture_pattern_node_create(parser, node, target, &operator); } @@ -13470,9 +13487,10 @@ parse_strings_empty_content(const uint8_t *location) { * Parse a set of strings that could be concatenated together. */ static inline pm_node_t * -parse_strings(pm_parser_t *parser) { +parse_strings(pm_parser_t *parser, pm_node_t *current) { assert(parser->current.type == PM_TOKEN_STRING_BEGIN); - pm_node_t *result = NULL; + + bool concating = false; bool state_is_arg_labeled = lex_state_p(parser, PM_LEX_STATE_ARG | PM_LEX_STATE_LABELED); while (match1(parser, PM_TOKEN_STRING_BEGIN)) { @@ -13608,7 +13626,7 @@ parse_strings(pm_parser_t *parser) { } } - if (result == NULL) { + if (current == NULL) { // If the node we just parsed is a symbol node, then we can't // concatenate it with anything else, so we can now return that // node. @@ -13618,7 +13636,7 @@ parse_strings(pm_parser_t *parser) { // If we don't already have a node, then it's fine and we can just // set the result to be the node we just parsed. - result = node; + current = node; } else { // Otherwise we need to check the type of the node we just parsed. // If it cannot be concatenated with the previous node, then we'll @@ -13627,13 +13645,22 @@ parse_strings(pm_parser_t *parser) { pm_parser_err_node(parser, node, PM_ERR_STRING_CONCATENATION); } - // Either way we will create a concat node to hold the strings - // together. - result = (pm_node_t *) pm_string_concat_node_create(parser, result, node); + // If we haven't already created our container for concatenation, + // we'll do that now. + if (!concating) { + concating = true; + pm_token_t bounds = not_provided(parser); + + pm_interpolated_string_node_t *container = pm_interpolated_string_node_create(parser, &bounds, NULL, &bounds); + pm_interpolated_string_node_append(container, current); + current = (pm_node_t *) container; + } + + pm_interpolated_string_node_append((pm_interpolated_string_node_t *) current, node); } } - return result; + return current; } /** @@ -13894,8 +13921,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { // Characters can be followed by strings in which case they are // automatically concatenated. if (match1(parser, PM_TOKEN_STRING_BEGIN)) { - pm_node_t *concat = parse_strings(parser); - return (pm_node_t *) pm_string_concat_node_create(parser, node, concat); + return parse_strings(parser, node); } return node; @@ -13956,7 +13982,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { pm_token_t operator = parser->current; parser_lex(parser); - pm_node_t *right = parse_expression(parser, binding_power, PM_ERR_EXPECT_EXPRESSION_AFTER_OPERATOR); + pm_node_t *right = parse_expression(parser, pm_binding_powers[operator.type].left, PM_ERR_EXPECT_EXPRESSION_AFTER_OPERATOR); return (pm_node_t *) pm_range_node_create(parser, NULL, &operator, right); } case PM_TOKEN_FLOAT: @@ -14169,8 +14195,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { } if (match1(parser, PM_TOKEN_STRING_BEGIN)) { - pm_node_t *concat = parse_strings(parser); - return (pm_node_t *) pm_string_concat_node_create(parser, node, concat); + return parse_strings(parser, node); } return node; @@ -14215,6 +14240,10 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { parser_lex(parser); return (pm_node_t *) pm_source_line_node_create(parser, &parser->previous); case PM_TOKEN_KEYWORD_ALIAS: { + if (binding_power != PM_BINDING_POWER_STATEMENT) { + pm_parser_err_current(parser, PM_ERR_STATEMENT_ALIAS); + } + parser_lex(parser); pm_token_t keyword = parser->previous; @@ -14452,6 +14481,10 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { return (pm_node_t *) begin_node; } case PM_TOKEN_KEYWORD_BEGIN_UPCASE: { + if (binding_power != PM_BINDING_POWER_STATEMENT) { + pm_parser_err_current(parser, PM_ERR_STATEMENT_PREEXE_BEGIN); + } + parser_lex(parser); pm_token_t keyword = parser->previous; @@ -14537,7 +14570,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { if (accept1(parser, PM_TOKEN_LESS_LESS)) { pm_token_t operator = parser->previous; - pm_node_t *expression = parse_expression(parser, PM_BINDING_POWER_NOT, PM_ERR_EXPECT_EXPRESSION_AFTER_LESS_LESS); + pm_node_t *expression = parse_value_expression(parser, PM_BINDING_POWER_NOT, PM_ERR_EXPECT_EXPRESSION_AFTER_LESS_LESS); pm_parser_scope_push(parser, true); accept2(parser, PM_TOKEN_NEWLINE, PM_TOKEN_SEMICOLON); @@ -14902,9 +14935,17 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { ); } case PM_TOKEN_KEYWORD_END_UPCASE: { + if (binding_power != PM_BINDING_POWER_STATEMENT) { + pm_parser_err_current(parser, PM_ERR_STATEMENT_POSTEXE_END); + } + parser_lex(parser); pm_token_t keyword = parser->previous; + if (context_def_p(parser)) { + pm_parser_warn_token(parser, &keyword, PM_WARN_END_IN_METHOD); + } + expect1(parser, PM_TOKEN_BRACE_LEFT, PM_ERR_END_UPCASE_BRACE); pm_token_t opening = parser->previous; pm_statements_node_t *statements = parse_statements(parser, PM_CONTEXT_POSTEXE); @@ -14980,6 +15021,10 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { parser_lex(parser); return parse_conditional(parser, PM_CONTEXT_IF); case PM_TOKEN_KEYWORD_UNDEF: { + if (binding_power != PM_BINDING_POWER_STATEMENT) { + pm_parser_err_current(parser, PM_ERR_STATEMENT_UNDEF); + } + parser_lex(parser); pm_undef_node_t *undef = pm_undef_node_create(parser, &parser->previous); pm_node_t *name = parse_undef_argument(parser); @@ -15773,7 +15818,7 @@ parse_expression_prefix(pm_parser_t *parser, pm_binding_power_t binding_power) { return (pm_node_t *) node; } case PM_TOKEN_STRING_BEGIN: - return parse_strings(parser); + return parse_strings(parser, NULL); case PM_TOKEN_SYMBOL_BEGIN: { pm_lex_mode_t lex_mode = *parser->lex_modes.current; parser_lex(parser); @@ -16749,12 +16794,35 @@ parse_expression(pm_parser_t *parser, pm_binding_power_t binding_power, pm_diagn pm_token_t recovery = parser->previous; pm_node_t *node = parse_expression_prefix(parser, binding_power); - // If we found a syntax error, then the type of node returned by - // parse_expression_prefix is going to be a missing node. In that case we need - // to add the error message to the parser's error list. - if (PM_NODE_TYPE_P(node, PM_MISSING_NODE)) { - pm_parser_err(parser, recovery.end, recovery.end, diag_id); - return node; + switch (PM_NODE_TYPE(node)) { + case PM_MISSING_NODE: + // If we found a syntax error, then the type of node returned by + // parse_expression_prefix is going to be a missing node. In that + // case we need to add the error message to the parser's error list. + pm_parser_err(parser, recovery.end, recovery.end, diag_id); + return node; + case PM_PRE_EXECUTION_NODE: + case PM_POST_EXECUTION_NODE: + case PM_ALIAS_GLOBAL_VARIABLE_NODE: + case PM_ALIAS_METHOD_NODE: + case PM_UNDEF_NODE: + // These expressions are statements, and cannot be followed by + // operators (except modifiers). + if (pm_binding_powers[parser->current.type].left > PM_BINDING_POWER_MODIFIER_RESCUE) { + return node; + } + break; + case PM_RANGE_NODE: + // Range operators are non-associative, so that it does not + // associate with other range operators (i.e. `..1..` should be + // rejected.) For this reason, we check such a case for unary ranges + // here, and if so, it returns the node immediately, + if ((((pm_range_node_t *) node)->left == NULL) && pm_binding_powers[parser->current.type].left >= PM_BINDING_POWER_RANGE) { + return node; + } + break; + default: + break; } // Otherwise we'll look and see if the next token can be parsed as an infix diff --git a/prism/templates/lib/prism/node.rb.erb b/prism/templates/lib/prism/node.rb.erb index 5b89b3ab36eb56..71487102383a55 100644 --- a/prism/templates/lib/prism/node.rb.erb +++ b/prism/templates/lib/prism/node.rb.erb @@ -70,7 +70,7 @@ module Prism def set_newline_flag(newline_marked) # :nodoc: <%- field = node.fields.find { |f| f.name == node.newline } or raise node.newline -%> <%- case field -%> - <%- when Prism::NodeField, Prism::OptionalNodeField -%> + <%- when Prism::NodeField -%> <%= field.name %>.set_newline_flag(newline_marked) <%- when Prism::NodeListField -%> first = <%= field.name %>.first diff --git a/prism/templates/lib/prism/serialize.rb.erb b/prism/templates/lib/prism/serialize.rb.erb index e5a88ae99ad1ea..058142682e078d 100644 --- a/prism/templates/lib/prism/serialize.rb.erb +++ b/prism/templates/lib/prism/serialize.rb.erb @@ -20,11 +20,11 @@ module Prism # The minor version of prism that we are expecting to find in the serialized # strings. - MINOR_VERSION = 17 + MINOR_VERSION = 18 # The patch version of prism that we are expecting to find in the serialized # strings. - PATCH_VERSION = 1 + PATCH_VERSION = 0 # Deserialize the AST represented by the given string into a parse result. def self.load(input, serialized) diff --git a/prism/version.h b/prism/version.h index 6d0bea616deb25..67a29ed38f9535 100644 --- a/prism/version.h +++ b/prism/version.h @@ -14,16 +14,16 @@ /** * The minor version of the Prism library as an int. */ -#define PRISM_VERSION_MINOR 17 +#define PRISM_VERSION_MINOR 18 /** * The patch version of the Prism library as an int. */ -#define PRISM_VERSION_PATCH 1 +#define PRISM_VERSION_PATCH 0 /** * The version of the Prism library as a constant string. */ -#define PRISM_VERSION "0.17.1" +#define PRISM_VERSION "0.18.0" #endif diff --git a/prism_compile.c b/prism_compile.c index 31501c5d2798d3..840f9802530b24 100644 --- a/prism_compile.c +++ b/prism_compile.c @@ -1324,7 +1324,7 @@ pm_setup_args(pm_arguments_node_t *arguments_node, int *flags, struct rb_callinf else { pm_node_list_t arguments_node_list = arguments_node->arguments; - bool has_keyword_splat = (arguments_node->base.flags & PM_ARGUMENTS_NODE_FLAGS_KEYWORD_SPLAT); + bool has_keyword_splat = (arguments_node->base.flags & PM_ARGUMENTS_NODE_FLAGS_CONTAINS_KEYWORD_SPLAT); bool has_splat = false; // We count the number of elements post the splat node that are not keyword elements to @@ -3686,15 +3686,6 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret, } return; } - case PM_STRING_CONCAT_NODE: { - pm_string_concat_node_t *str_concat_node = (pm_string_concat_node_t *)node; - PM_COMPILE(str_concat_node->left); - PM_COMPILE(str_concat_node->right); - if (!popped) { - ADD_INSN1(ret, &dummy_line_node, concatstrings, INT2FIX(2)); - } - return; - } case PM_STRING_NODE: { if (!popped) { pm_string_node_t *string_node = (pm_string_node_t *) node; diff --git a/proc.c b/proc.c index 4df4269c1b6557..475879f9d5988d 100644 --- a/proc.c +++ b/proc.c @@ -1597,18 +1597,12 @@ bm_mark_and_move(void *ptr) rb_gc_mark_and_move_ptr((rb_method_entry_t **)&data->me); } -static size_t -bm_memsize(const void *ptr) -{ - return 0; -} - static const rb_data_type_t method_data_type = { "method", { bm_mark_and_move, RUBY_TYPED_DEFAULT_FREE, - bm_memsize, + NULL, // No external memory to report, bm_mark_and_move, }, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE diff --git a/process.c b/process.c index 4e6d67e1272806..4dc2325f80d94f 100644 --- a/process.c +++ b/process.c @@ -594,17 +594,17 @@ struct rb_process_status { static const rb_data_type_t rb_process_status_type = { .wrap_struct_name = "Process::Status", .function = { + .dmark = NULL, .dfree = RUBY_DEFAULT_FREE, + .dsize = NULL, }, - .data = NULL, - .flags = RUBY_TYPED_FREE_IMMEDIATELY, + .flags = RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE, }; static VALUE rb_process_status_allocate(VALUE klass) { - struct rb_process_status *data = NULL; - + struct rb_process_status *data; return TypedData_Make_Struct(klass, struct rb_process_status, &rb_process_status_type, data); } @@ -646,8 +646,7 @@ VALUE rb_process_status_new(rb_pid_t pid, int status, int error) { VALUE last_status = rb_process_status_allocate(rb_cProcessStatus); - - struct rb_process_status *data = RTYPEDDATA_DATA(last_status); + struct rb_process_status *data = RTYPEDDATA_GET_DATA(last_status); data->pid = pid; data->status = status; data->error = error; @@ -660,7 +659,8 @@ static VALUE process_status_dump(VALUE status) { VALUE dump = rb_class_new_instance(0, 0, rb_cObject); - struct rb_process_status *data = RTYPEDDATA_DATA(status); + struct rb_process_status *data; + TypedData_Get_Struct(status, struct rb_process_status, &rb_process_status_type, data); if (data->pid) { rb_ivar_set(dump, id_status, INT2NUM(data->status)); rb_ivar_set(dump, id_pid, PIDT2NUM(data->pid)); @@ -698,16 +698,18 @@ rb_last_status_clear(void) } static rb_pid_t -pst_pid(VALUE pst) +pst_pid(VALUE status) { - struct rb_process_status *data = RTYPEDDATA_DATA(pst); + struct rb_process_status *data; + TypedData_Get_Struct(status, struct rb_process_status, &rb_process_status_type, data); return data->pid; } static int -pst_status(VALUE pst) +pst_status(VALUE status) { - struct rb_process_status *data = RTYPEDDATA_DATA(pst); + struct rb_process_status *data; + TypedData_Get_Struct(status, struct rb_process_status, &rb_process_status_type, data); return data->status; } @@ -1834,7 +1836,7 @@ memsize_exec_arg(const void *ptr) static const rb_data_type_t exec_arg_data_type = { "exec_arg", {mark_exec_arg, RUBY_TYPED_DEFAULT_FREE, memsize_exec_arg}, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_EMBEDDABLE }; #ifdef _WIN32 @@ -2778,6 +2780,7 @@ rb_execarg_setenv(VALUE execarg_obj, VALUE env) struct rb_execarg *eargp = rb_execarg_get(execarg_obj); env = !NIL_P(env) ? rb_check_exec_env(env, &eargp->path_env) : Qfalse; eargp->env_modification = env; + RB_GC_GUARD(execarg_obj); } static int @@ -2975,6 +2978,7 @@ execarg_parent_end(VALUE execarg_obj) } errno = err; + RB_GC_GUARD(execarg_obj); return execarg_obj; } @@ -4666,7 +4670,7 @@ do_spawn_process(VALUE arg) rb_execarg_parent_start1(argp->execarg); - return (VALUE)rb_spawn_process(DATA_PTR(argp->execarg), + return (VALUE)rb_spawn_process(rb_execarg_get(argp->execarg), argp->errmsg.ptr, argp->errmsg.buflen); } diff --git a/shape.c b/shape.c index 5a4a271b309d22..6d6235dd3d546c 100644 --- a/shape.c +++ b/shape.c @@ -1057,6 +1057,15 @@ rb_shape_shapes_available(VALUE self) return INT2NUM(MAX_SHAPE_ID - (GET_SHAPE_TREE()->next_shape_id - 1)); } +static VALUE +rb_shape_exhaust(int argc, VALUE *argv, VALUE self) +{ + rb_check_arity(argc, 0, 1); + int offset = argc == 1 ? NUM2INT(argv[0]) : 0; + GET_SHAPE_TREE()->next_shape_id = MAX_SHAPE_ID - offset + 1; + return Qnil; +} + VALUE rb_obj_shape(rb_shape_t* shape); static enum rb_id_table_iterator_result collect_keys_and_values(ID key, VALUE value, void *ref) @@ -1239,5 +1248,6 @@ Init_shape(void) rb_define_singleton_method(rb_cShape, "of", rb_shape_debug_shape, 1); rb_define_singleton_method(rb_cShape, "root_shape", rb_shape_root_shape, 0); rb_define_singleton_method(rb_cShape, "shapes_available", rb_shape_shapes_available, 0); + rb_define_singleton_method(rb_cShape, "exhaust_shapes", rb_shape_exhaust, -1); #endif } diff --git a/spec/bundler/bundler/cli_spec.rb b/spec/bundler/bundler/cli_spec.rb index b752cd7e703ad3..7acdc496e764e7 100644 --- a/spec/bundler/bundler/cli_spec.rb +++ b/spec/bundler/bundler/cli_spec.rb @@ -1,6 +1,7 @@ # frozen_string_literal: true require "bundler/cli" +require "json" RSpec.describe "bundle executable" do it "returns non-zero exit status when passed unrecognized options" do @@ -154,6 +155,26 @@ def out_with_macos_man_workaround end end + context "with --json" do + let(:flags) { "--json" } + + it "prints json output data when there are outdated gems" do + run_command + out_data = JSON.parse(out) + expect(out_data.keys).to contain_exactly("outdated_count", "outdated_gems") + expect(out_data["outdated_count"]).to eq(1) + expect(out_data["outdated_gems"].length).to eq(1) + + gem_data = out_data["outdated_gems"].first + expect(gem_data).to include({ + "current_spec" => hash_including("name" => "rack", "version" => "0.9.1"), + "active_spec" => hash_including("name" => "rack", "version" => "1.0.0"), + "dependency" => "rack (= 0.9.1)", + "groups" => ["default"], + }) + end + end + context "with --parseable" do let(:flags) { "--parseable" } diff --git a/spec/bundler/install/gemfile/specific_platform_spec.rb b/spec/bundler/install/gemfile/specific_platform_spec.rb index 0c9816eaac4cea..7089a94a662b3f 100644 --- a/spec/bundler/install/gemfile/specific_platform_spec.rb +++ b/spec/bundler/install/gemfile/specific_platform_spec.rb @@ -746,6 +746,7 @@ sorbet-static (0.5.10696-x86_64-linux) PLATFORMS + aarch64-linux arm-linux x86_64-linux @@ -1167,6 +1168,64 @@ end end + it "does not fail when a platform variant is incompatible with the current ruby and another equivalent platform specific variant is part of the resolution", :rubygems => ">= 3.3.21" do + build_repo4 do + build_gem "nokogiri", "1.15.5" + + build_gem "nokogiri", "1.15.5" do |s| + s.platform = "x86_64-linux" + s.required_ruby_version = "< #{current_ruby_minor}.dev" + end + + build_gem "sass-embedded", "1.69.5" + + build_gem "sass-embedded", "1.69.5" do |s| + s.platform = "x86_64-linux-gnu" + end + end + + gemfile <<~G + source "#{file_uri_for(gem_repo4)}" + + gem "nokogiri" + gem "sass-embedded" + G + + expected_checksums = checksum_section do |c| + c.repo_gem gem_repo4, "nokogiri", "1.15.5" + c.no_checksum "sass-embedded", "1.69.5" + c.repo_gem gem_repo4, "sass-embedded", "1.69.5", "x86_64-linux-gnu" + end + + simulate_platform "x86_64-linux" do + bundle "install --verbose", :artifice => "compact_index", :env => { "BUNDLER_SPEC_GEM_REPO" => gem_repo4.to_s } + + # locks all compatible platforms, excluding Java and Windows + expect(lockfile).to eq(<<~L) + GEM + remote: #{file_uri_for(gem_repo4)}/ + specs: + nokogiri (1.15.5) + sass-embedded (1.69.5) + sass-embedded (1.69.5-x86_64-linux-gnu) + + PLATFORMS + ruby + x86_64-linux + + DEPENDENCIES + nokogiri + sass-embedded + + CHECKSUMS + #{expected_checksums} + + BUNDLED WITH + #{Bundler::VERSION} + L + end + end + private def setup_multiplatform_gem diff --git a/test/irb/test_raise_no_backtrace_exception.rb b/test/irb/test_raise_exception.rb similarity index 68% rename from test/irb/test_raise_no_backtrace_exception.rb rename to test/irb/test_raise_exception.rb index 929577ad8e1060..9ca534dba179e7 100644 --- a/test/irb/test_raise_no_backtrace_exception.rb +++ b/test/irb/test_raise_exception.rb @@ -4,8 +4,8 @@ require_relative "helper" module TestIRB - class RaiseNoBacktraceExceptionTest < TestCase - def test_raise_exception + class RaiseExceptionTest < TestCase + def test_raise_exception_with_nil_backtrace bundle_exec = ENV.key?('BUNDLE_GEMFILE') ? ['-rbundler/setup'] : [] assert_in_out_err(bundle_exec + %w[-rirb -W0 -e IRB.start(__FILE__) -- -f --], <<-IRB, /Exception: foo/, []) e = Exception.new("foo") @@ -15,6 +15,27 @@ def e.backtrace; nil; end IRB end + def test_raise_exception_with_message_exception + bundle_exec = ENV.key?('BUNDLE_GEMFILE') ? ['-rbundler/setup'] : [] + expected = /#\nbacktraces are hidden because bar was raised when processing them/ + assert_in_out_err(bundle_exec + %w[-rirb -W0 -e IRB.start(__FILE__) -- -f --], <<-IRB, expected, []) + e = Exception.new("foo") + def e.message; raise 'bar'; end + raise e +IRB + end + + def test_raise_exception_with_message_inspect_exception + bundle_exec = ENV.key?('BUNDLE_GEMFILE') ? ['-rbundler/setup'] : [] + expected = /Uninspectable exception occurred/ + assert_in_out_err(bundle_exec + %w[-rirb -W0 -e IRB.start(__FILE__) -- -f --], <<-IRB, expected, []) + e = Exception.new("foo") + def e.message; raise; end + def e.inspect; raise; end + raise e +IRB + end + def test_raise_exception_with_invalid_byte_sequence pend if RUBY_ENGINE == 'truffleruby' || /mswin|mingw/ =~ RUBY_PLATFORM bundle_exec = ENV.key?('BUNDLE_GEMFILE') ? ['-rbundler/setup'] : [] diff --git a/test/irb/yamatanooroti/test_rendering.rb b/test/irb/yamatanooroti/test_rendering.rb index 96051ee433b6d4..5d8719ac3ff81e 100644 --- a/test/irb/yamatanooroti/test_rendering.rb +++ b/test/irb/yamatanooroti/test_rendering.rb @@ -379,6 +379,48 @@ def test_pager_page_content_doesnt_page_output_when_it_fits_in_the_screen assert_match(/foobar/, screen) end + def test_debug_integration_hints_debugger_commands + write_irbrc <<~'LINES' + IRB.conf[:USE_COLORIZE] = false + LINES + script = Tempfile.create(["debug", ".rb"]) + script.write <<~RUBY + puts 'start IRB' + binding.irb + RUBY + script.close + start_terminal(40, 80, %W{ruby -I#{@pwd}/lib #{script.to_path}}, startup_message: 'start IRB') + write("debug\n") + write("n") + close + + screen = result.join("\n").sub(/\n*\z/, "\n") + assert_include(screen, "irb:rdbg(main):002> n # debug command") + ensure + File.unlink(script) if script + end + + def test_debug_integration_doesnt_hint_non_debugger_commands + write_irbrc <<~'LINES' + IRB.conf[:USE_COLORIZE] = false + LINES + script = Tempfile.create(["debug", ".rb"]) + script.write <<~RUBY + puts 'start IRB' + binding.irb + RUBY + script.close + start_terminal(40, 80, %W{ruby -I#{@pwd}/lib #{script.to_path}}, startup_message: 'start IRB') + write("debug\n") + write("foo") + close + + screen = result.join("\n").sub(/\n*\z/, "\n") + assert_include(screen, "irb:rdbg(main):002> foo\n") + ensure + File.unlink(script) if script + end + private def write_irbrc(content) diff --git a/test/objspace/test_objspace.rb b/test/objspace/test_objspace.rb index 1f1709fb769899..5f7bfd0971f8ac 100644 --- a/test/objspace/test_objspace.rb +++ b/test/objspace/test_objspace.rb @@ -563,7 +563,7 @@ def dump_my_heap_please end def test_dump_callinfo_includes_mid - assert_in_out_err(%w[-robjspace], "#{<<-"begin;"}\n#{<<-'end;'}") do |output, error| + assert_in_out_err(%w[-robjspace --disable-gems], "#{<<-"begin;"}\n#{<<-'end;'}") do |output, error| begin; class Foo def foo @@ -579,7 +579,7 @@ def bar end; assert_empty error assert(output.count > 1) - assert_equal 1, output.count { |l| l.include?('"mid":"baz"') } + assert_includes output.grep(/"imemo_type":"callinfo"/).join("\n"), '"mid":"baz"' end end diff --git a/test/prism/constant_path_node_test.rb b/test/prism/constant_path_node_test.rb index 5bb9830687944e..9842be0c497523 100644 --- a/test/prism/constant_path_node_test.rb +++ b/test/prism/constant_path_node_test.rb @@ -15,6 +15,33 @@ def test_full_name_for_constant_path assert_equal("Foo::Bar::Baz::Qux", constant_path.full_name) end + def test_full_name_for_constant_path_with_self + source = <<~RUBY + self:: # comment + Bar::Baz:: + Qux + RUBY + + constant_path = Prism.parse(source).value.statements.body.first + assert_raise(ConstantPathNode::DynamicPartsInConstantPathError) do + constant_path.full_name + end + end + + def test_full_name_for_constant_path_with_variable + source = <<~RUBY + foo:: # comment + Bar::Baz:: + Qux + RUBY + + constant_path = Prism.parse(source).value.statements.body.first + + assert_raise(ConstantPathNode::DynamicPartsInConstantPathError) do + constant_path.full_name + end + end + def test_full_name_for_constant_path_target source = <<~RUBY Foo:: # comment diff --git a/test/prism/encoding_test.rb b/test/prism/encoding_test.rb index 75a6b027c3f545..463cb95121b2b5 100644 --- a/test/prism/encoding_test.rb +++ b/test/prism/encoding_test.rb @@ -44,6 +44,7 @@ class EncodingTest < TestCase Encoding::ISO_8859_15 => 0x00...0x100, Encoding::ISO_8859_16 => 0x00...0x100, Encoding::KOI8_R => 0x00...0x100, + Encoding::KOI8_U => 0x00...0x100, Encoding::MACCENTEURO => 0x00...0x100, Encoding::MACCROATIAN => 0x00...0x100, Encoding::MACCYRILLIC => 0x00...0x100, @@ -53,6 +54,7 @@ class EncodingTest < TestCase Encoding::MACROMANIA => 0x00...0x100, Encoding::MACTHAI => 0x00...0x100, Encoding::MACTURKISH => 0x00...0x100, + Encoding::TIS_620 => 0x00...0x100, Encoding::Windows_1250 => 0x00...0x100, Encoding::Windows_1251 => 0x00...0x100, Encoding::Windows_1252 => 0x00...0x100, @@ -66,6 +68,7 @@ class EncodingTest < TestCase Encoding::Big5 => 0x00...0x10000, Encoding::Big5_HKSCS => 0x00...0x10000, Encoding::Big5_UAO => 0x00...0x10000, + Encoding::CP949 => 0x00...0x10000, Encoding::CP51932 => 0x00...0x10000, Encoding::GBK => 0x00...0x10000, Encoding::Shift_JIS => 0x00...0x10000, diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb index cf7330dfb23b2d..6f6df71d1408aa 100644 --- a/test/prism/errors_test.rb +++ b/test/prism/errors_test.rb @@ -83,13 +83,13 @@ def test_pre_execution_context CallNode( expression("1"), nil, + :+, Location(), nil, ArgumentsNode([MissingNode()], 0), nil, nil, - 0, - :+ + 0 ) ]), Location(), @@ -341,6 +341,7 @@ def test_double_splat_followed_by_splat_argument expected = CallNode( nil, nil, + :a, Location(), Location(), ArgumentsNode([ @@ -349,8 +350,7 @@ def test_double_splat_followed_by_splat_argument ], 1), Location(), nil, - 0, - :a + 0 ) assert_errors expected, "a(**kwargs, *args)", [ @@ -362,13 +362,13 @@ def test_arguments_after_block expected = CallNode( nil, nil, + :a, Location(), Location(), ArgumentsNode([expression("foo")], 0), Location(), BlockArgumentNode(expression("block"), Location()), - 0, - :a + 0 ) assert_errors expected, "a(&block, foo)", [ @@ -388,6 +388,7 @@ def test_splat_argument_after_keyword_argument expected = CallNode( nil, nil, + :a, Location(), Location(), ArgumentsNode([ @@ -402,8 +403,7 @@ def test_splat_argument_after_keyword_argument ], 0), Location(), nil, - 0, - :a + 0 ) assert_errors expected, "a(foo: bar, *args)", [ @@ -442,6 +442,7 @@ def test_module_definition_in_method_body_within_block [CallNode( nil, nil, + :bar, Location(), nil, nil, @@ -453,8 +454,7 @@ def test_module_definition_in_method_body_within_block Location(), Location() ), - 0, - :bar + 0 )] ), [], @@ -1004,6 +1004,7 @@ def test_do_not_allow_forward_arguments_in_blocks expected = CallNode( nil, nil, + :a, Location(), nil, nil, @@ -1015,8 +1016,7 @@ def test_do_not_allow_forward_arguments_in_blocks Location(), Location() ), - 0, - :a + 0 ) assert_errors expected, "a {|...|}", [ @@ -1508,6 +1508,8 @@ def test_void_value_expression_in_statement end class A < (return) end + class << (return) + end for x in (return) end RUBY @@ -1520,6 +1522,7 @@ class A < (return) [message, 80..86], [message, 110..116], [message, 132..138], + [message, 154..160], ], compare_ripper: false # Ripper does not check 'void value expression'. end @@ -1708,6 +1711,83 @@ def test_ellipsis_in_no_paren_call ] end + def test_non_assoc_range + source = '1....2' + assert_errors expression(source), source, [ + ['Expected a newline or semicolon after the statement', 4..4], + ['Cannot parse the expression', 4..4], + ] + end + + def test_upcase_end_in_def + assert_warning_messages "def foo; END { }; end", [ + "END in method; use at_exit" + ] + end + + def test_statement_operators + source = <<~RUBY + alias x y + 1 + alias x y.z + BEGIN { bar } + 1 + BEGIN { bar }.z + END { bar } + 1 + END { bar }.z + undef x + 1 + undef x.z + RUBY + message1 = 'Expected a newline or semicolon after the statement' + message2 = 'Cannot parse the expression' + assert_errors expression(source), source, [ + [message1, 9..9], + [message2, 9..9], + [message1, 23..23], + [message2, 23..23], + [message1, 39..39], + [message2, 39..39], + [message1, 57..57], + [message2, 57..57], + [message1, 71..71], + [message2, 71..71], + [message1, 87..87], + [message2, 87..87], + [message1, 97..97], + [message2, 97..97], + [message1, 109..109], + [message2, 109..109], + ] + end + + def test_statement_at_non_statement + source = <<~RUBY + foo(alias x y) + foo(BEGIN { bar }) + foo(END { bar }) + foo(undef x) + RUBY + assert_errors expression(source), source, [ + ['Unexpected an `alias` at a non-statement position', 4..9], + ['Unexpected a `BEGIN` at a non-statement position', 19..24], + ['Unexpected an `END` at a non-statement position', 38..41], + ['Unexpected an `undef` at a non-statement position', 55..60], + ] + end + + def test_binary_range_with_left_unary_range + source = <<~RUBY + ..1.. + ...1.. + RUBY + message1 = 'Expected a newline or semicolon after the statement' + message2 = 'Cannot parse the expression' + assert_errors expression(source), source, [ + [message1, 3..3], + [message2, 3..3], + [message1, 10..10], + [message2, 10..10], + ] + end + private def assert_errors(expected, source, errors, compare_ripper: RUBY_ENGINE == "ruby") @@ -1727,6 +1807,11 @@ def assert_error_messages(source, errors, compare_ripper: RUBY_ENGINE == "ruby") assert_equal(errors, result.errors.map(&:message)) end + def assert_warning_messages(source, warnings) + result = Prism.parse(source) + assert_equal(warnings, result.warnings.map(&:message)) + end + def expression(source) Prism.parse(source).value.statements.body.last end diff --git a/test/prism/fixtures/methods.txt b/test/prism/fixtures/methods.txt index 8cdf3ddaee3ea2..fcaabd760dfc6f 100644 --- a/test/prism/fixtures/methods.txt +++ b/test/prism/fixtures/methods.txt @@ -168,3 +168,15 @@ foo = 1 def foo.bar; end def f(*); [*]; end + +def f x:-a; end + +def f x:+a; end + +def f x:!a; end + +def foo x:%(xx); end + +def foo(...) + bar(&) +end diff --git a/test/prism/fixtures/patterns.txt b/test/prism/fixtures/patterns.txt index 9f73e6ecc51205..e4aa83bdf2e304 100644 --- a/test/prism/fixtures/patterns.txt +++ b/test/prism/fixtures/patterns.txt @@ -193,3 +193,8 @@ foo in A[ foo in bar => baz foo => bar => baz + +foo, bar, baz = 1, 2 +foo do + [1, 2] => [foo, bar] => baz +end diff --git a/test/prism/fixtures/ranges.txt b/test/prism/fixtures/ranges.txt index 55c0ade965bc56..c9bfe50399432c 100644 --- a/test/prism/fixtures/ranges.txt +++ b/test/prism/fixtures/ranges.txt @@ -15,3 +15,5 @@ foo[...2] { foo: ..bar } (1..) + +1 .. ..1 diff --git a/test/prism/location_test.rb b/test/prism/location_test.rb index 02a577a73c5e80..302e6bd13975b5 100644 --- a/test/prism/location_test.rb +++ b/test/prism/location_test.rb @@ -495,6 +495,7 @@ def test_InterpolatedRegularExpressionNode def test_InterpolatedStringNode assert_location(InterpolatedStringNode, "\"foo \#@bar baz\"") assert_location(InterpolatedStringNode, "<<~A\nhello \#{1} world\nA", 0...4) + assert_location(InterpolatedStringNode, '"foo" "bar"') end def test_InterpolatedSymbolNode @@ -789,10 +790,6 @@ def test_StatementsNode assert_location(StatementsNode, "\"\#{foo}\"", 3...6) { |node| node.parts.first.statements } end - def test_StringConcatNode - assert_location(StringConcatNode, '"foo" "bar"') - end - def test_StringNode assert_location(StringNode, '"foo"') assert_location(StringNode, '%q[foo]') diff --git a/test/prism/snapshots/arithmetic.txt b/test/prism/snapshots/arithmetic.txt index 4bd347cd679270..ff0638b007f366 100644 --- a/test/prism/snapshots/arithmetic.txt +++ b/test/prism/snapshots/arithmetic.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -16,26 +17,25 @@ │ │ │ │ @ CallNode (location: (1,5)-(1,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :! │ │ │ ├── message_loc: (1,4)-(1,5) = "!" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :! + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,8)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,4)) @@ -43,22 +43,23 @@ │ │ │ @ CallNode (location: (3,1)-(3,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,1)-(3,4) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :-@ │ │ ├── message_loc: (3,0)-(3,1) = "-" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :-@ + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :* │ ├── message_loc: (3,4)-(3,5) = "*" │ ├── opening_loc: ∅ │ ├── arguments: @@ -67,18 +68,17 @@ │ │ │ └── @ CallNode (location: (3,5)-(3,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (3,5)-(3,8) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,9)) │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,4)) @@ -86,22 +86,23 @@ │ │ │ @ CallNode (location: (5,1)-(5,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (5,1)-(5,4) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+@ │ │ ├── message_loc: (5,0)-(5,1) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+@ + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :** │ ├── message_loc: (5,4)-(5,6) = "**" │ ├── opening_loc: ∅ │ ├── arguments: @@ -110,21 +111,21 @@ │ │ │ └── @ CallNode (location: (5,6)-(5,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (5,6)-(5,9) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (7,0)-(7,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -135,26 +136,25 @@ │ │ │ │ @ CallNode (location: (7,5)-(7,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :~ │ │ │ ├── message_loc: (7,4)-(7,5) = "~" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :~ + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,17)) │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,10)) @@ -162,14 +162,15 @@ │ │ │ @ CallNode (location: (9,0)-(9,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (9,0)-(9,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :<< │ │ ├── message_loc: (9,4)-(9,6) = "<<" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -178,19 +179,19 @@ │ │ │ │ └── @ CallNode (location: (9,7)-(9,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :<< + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :<< │ ├── message_loc: (9,11)-(9,13) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -199,18 +200,17 @@ │ │ │ └── @ CallNode (location: (9,14)-(9,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (9,14)-(9,17) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,5)) │ ├── receiver: │ │ @ CallNode (location: (11,1)-(11,5)) @@ -218,6 +218,7 @@ │ │ │ @ IntegerNode (location: (11,1)-(11,2)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :** │ │ ├── message_loc: (11,2)-(11,4) = "**" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -228,25 +229,24 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :** + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :-@ │ ├── message_loc: (11,0)-(11,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :-@ + │ └── flags: ∅ └── @ CallNode (location: (13,0)-(13,8)) ├── receiver: │ @ IntegerNode (location: (13,0)-(13,2)) │ └── flags: decimal ├── call_operator_loc: (13,2)-(13,3) = "." + ├── name: :zero? ├── message_loc: (13,3)-(13,8) = "zero?" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :zero? + └── flags: ∅ diff --git a/test/prism/snapshots/arrays.txt b/test/prism/snapshots/arrays.txt index bf68329ca0de20..0038ec8ec0e370 100644 --- a/test/prism/snapshots/arrays.txt +++ b/test/prism/snapshots/arrays.txt @@ -11,28 +11,30 @@ │ │ @ CallNode (location: (1,2)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,2)-(1,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── opening_loc: (1,0)-(1,1) = "[" - │ └── closing_loc: (1,3)-(1,4) = "]" + │ ├── closing_loc: (1,3)-(1,4) = "]" + │ └── flags: contains_splat ├── @ CallNode (location: (3,0)-(3,23)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[]= │ ├── message_loc: (3,3)-(3,13) = "[bar, baz]" │ ├── opening_loc: (3,3)-(3,4) = "[" │ ├── arguments: @@ -41,23 +43,23 @@ │ │ │ ├── @ CallNode (location: (3,4)-(3,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── @ CallNode (location: (3,9)-(3,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (3,9)-(3,12) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: variable_call │ │ │ └── @ ArrayNode (location: (3,16)-(3,23)) │ │ │ ├── elements: (length: 3) │ │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17)) @@ -67,12 +69,12 @@ │ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23)) │ │ │ │ └── flags: decimal │ │ │ ├── opening_loc: ∅ - │ │ │ └── closing_loc: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: (3,12)-(3,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[]= + │ └── flags: ∅ ├── @ ArrayNode (location: (5,0)-(5,13)) │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (5,1)-(5,12)) @@ -98,10 +100,12 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "c" │ │ │ ├── opening_loc: (5,4)-(5,5) = "[" - │ │ │ └── closing_loc: (5,11)-(5,12) = "]" + │ │ │ ├── closing_loc: (5,11)-(5,12) = "]" + │ │ │ └── flags: ∅ │ │ └── operator_loc: ∅ │ ├── opening_loc: (5,0)-(5,1) = "[" - │ └── closing_loc: (5,12)-(5,13) = "]" + │ ├── closing_loc: (5,12)-(5,13) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (9,0)-(15,1)) │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (9,1)-(9,3)) @@ -127,7 +131,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "d" │ ├── opening_loc: (9,0)-(9,1) = "[" - │ └── closing_loc: (15,0)-(15,1) = "]" + │ ├── closing_loc: (15,0)-(15,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (18,0)-(26,1)) │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (18,1)-(18,3)) @@ -153,7 +158,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "d" │ ├── opening_loc: (18,0)-(18,1) = "[" - │ └── closing_loc: (26,0)-(26,1) = "]" + │ ├── closing_loc: (26,0)-(26,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (28,0)-(28,12)) │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (28,1)-(28,11)) @@ -163,27 +169,28 @@ │ │ │ @ CallNode (location: (28,1)-(28,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (28,1)-(28,4) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── value: │ │ │ @ CallNode (location: (28,8)-(28,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (28,8)-(28,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── operator_loc: (28,5)-(28,7) = "=>" │ ├── opening_loc: (28,0)-(28,1) = "[" - │ └── closing_loc: (28,11)-(28,12) = "]" + │ ├── closing_loc: (28,11)-(28,12) = "]" + │ └── flags: ∅ ├── @ CallNode (location: (30,0)-(30,19)) │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,8)) @@ -191,14 +198,15 @@ │ │ │ @ CallNode (location: (30,0)-(30,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (30,0)-(30,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[] │ │ ├── message_loc: (30,3)-(30,8) = "[bar]" │ │ ├── opening_loc: (30,3)-(30,4) = "[" │ │ ├── arguments: @@ -207,19 +215,19 @@ │ │ │ │ └── @ CallNode (location: (30,4)-(30,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (30,4)-(30,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (30,7)-(30,8) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :[] + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :[]= │ ├── message_loc: (30,8)-(30,13) = "[baz]" │ ├── opening_loc: (30,8)-(30,9) = "[" │ ├── arguments: @@ -228,28 +236,27 @@ │ │ │ ├── @ CallNode (location: (30,9)-(30,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (30,9)-(30,12) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (30,16)-(30,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :qux │ │ │ ├── message_loc: (30,16)-(30,19) = "qux" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :qux + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (30,12)-(30,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[]= + │ └── flags: ∅ ├── @ CallNode (location: (32,0)-(32,13)) │ ├── receiver: │ │ @ CallNode (location: (32,0)-(32,8)) @@ -257,14 +264,15 @@ │ │ │ @ CallNode (location: (32,0)-(32,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (32,0)-(32,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[] │ │ ├── message_loc: (32,3)-(32,8) = "[bar]" │ │ ├── opening_loc: (32,3)-(32,4) = "[" │ │ ├── arguments: @@ -273,19 +281,19 @@ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (32,4)-(32,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (32,7)-(32,8) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :[] + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (32,8)-(32,13) = "[baz]" │ ├── opening_loc: (32,8)-(32,9) = "[" │ ├── arguments: @@ -294,35 +302,36 @@ │ │ │ └── @ CallNode (location: (32,9)-(32,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (32,9)-(32,12) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (32,12)-(32,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ ArrayNode (location: (34,0)-(35,1)) │ ├── elements: (length: 0) │ ├── opening_loc: (34,0)-(34,1) = "[" - │ └── closing_loc: (35,0)-(35,1) = "]" + │ ├── closing_loc: (35,0)-(35,1) = "]" + │ └── flags: ∅ ├── @ CallNode (location: (37,0)-(37,13)) │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (37,0)-(37,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (37,3)-(37,13) = "[bar, baz]" │ ├── opening_loc: (37,3)-(37,4) = "[" │ ├── arguments: @@ -331,41 +340,41 @@ │ │ │ ├── @ CallNode (location: (37,4)-(37,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (37,4)-(37,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (37,9)-(37,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (37,9)-(37,12) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (37,12)-(37,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (39,0)-(39,19)) │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (39,0)-(39,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[]= │ ├── message_loc: (39,3)-(39,13) = "[bar, baz]" │ ├── opening_loc: (39,3)-(39,4) = "[" │ ├── arguments: @@ -374,38 +383,37 @@ │ │ │ ├── @ CallNode (location: (39,4)-(39,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (39,4)-(39,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── @ CallNode (location: (39,9)-(39,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (39,9)-(39,12) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (39,16)-(39,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :qux │ │ │ ├── message_loc: (39,16)-(39,19) = "qux" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :qux + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (39,12)-(39,13) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[]= + │ └── flags: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,21)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (41,0)-(41,6)) @@ -413,14 +421,15 @@ │ │ │ │ @ CallNode (location: (41,0)-(41,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (41,0)-(41,3) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :[]= │ │ │ ├── message_loc: (41,3)-(41,6) = "[0]" │ │ │ ├── opening_loc: (41,3)-(41,4) = "[" │ │ │ ├── arguments: @@ -431,21 +440,21 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (41,5)-(41,6) = "]" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :[]= + │ │ │ └── flags: ∅ │ │ └── @ CallNode (location: (41,8)-(41,14)) │ │ ├── receiver: │ │ │ @ CallNode (location: (41,8)-(41,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (41,8)-(41,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[]= │ │ ├── message_loc: (41,11)-(41,14) = "[0]" │ │ ├── opening_loc: (41,11)-(41,12) = "[" │ │ ├── arguments: @@ -456,8 +465,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (41,13)-(41,14) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :[]= + │ │ └── flags: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -471,20 +479,22 @@ │ │ └── @ IntegerNode (location: (41,20)-(41,21)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: ∅ ├── @ CallNode (location: (43,0)-(43,19)) │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (43,0)-(43,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (43,3)-(43,19) = "[bar[baz] = qux]" │ ├── opening_loc: (43,3)-(43,4) = "[" │ ├── arguments: @@ -495,14 +505,15 @@ │ │ │ │ @ CallNode (location: (43,4)-(43,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (43,4)-(43,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :[]= │ │ │ ├── message_loc: (43,7)-(43,12) = "[baz]" │ │ │ ├── opening_loc: (43,7)-(43,8) = "[" │ │ │ ├── arguments: @@ -511,46 +522,45 @@ │ │ │ │ │ ├── @ CallNode (location: (43,8)-(43,11)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :baz │ │ │ │ │ │ ├── message_loc: (43,8)-(43,11) = "baz" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :baz + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── @ CallNode (location: (43,15)-(43,18)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :qux │ │ │ │ │ ├── message_loc: (43,15)-(43,18) = "qux" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :qux + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (43,11)-(43,12) = "]" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :[]= + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: (43,18)-(43,19) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (45,0)-(45,8)) │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (45,0)-(45,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (45,3)-(45,8) = "[bar]" │ ├── opening_loc: (45,3)-(45,4) = "[" │ ├── arguments: @@ -559,31 +569,31 @@ │ │ │ └── @ CallNode (location: (45,4)-(45,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (45,4)-(45,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (45,7)-(45,8) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (47,0)-(47,14)) │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (47,0)-(47,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[]= │ ├── message_loc: (47,3)-(47,8) = "[bar]" │ ├── opening_loc: (47,3)-(47,4) = "[" │ ├── arguments: @@ -592,28 +602,27 @@ │ │ │ ├── @ CallNode (location: (47,4)-(47,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (47,4)-(47,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (47,11)-(47,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (47,11)-(47,14) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (47,7)-(47,8) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[]= + │ └── flags: ∅ ├── @ ArrayNode (location: (49,0)-(49,6)) │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (49,1)-(49,5)) @@ -626,7 +635,8 @@ │ │ │ └── closing_loc: (49,4)-(49,5) = "}" │ │ └── operator_loc: (49,1)-(49,3) = "**" │ ├── opening_loc: (49,0)-(49,1) = "[" - │ └── closing_loc: (49,5)-(49,6) = "]" + │ ├── closing_loc: (49,5)-(49,6) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (51,0)-(51,6)) │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (51,1)-(51,5)) @@ -636,16 +646,17 @@ │ │ │ @ CallNode (location: (51,3)-(51,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :kw │ │ │ ├── message_loc: (51,3)-(51,5) = "kw" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :kw + │ │ │ └── flags: variable_call │ │ └── operator_loc: (51,1)-(51,3) = "**" │ ├── opening_loc: (51,0)-(51,1) = "[" - │ └── closing_loc: (51,5)-(51,6) = "]" + │ ├── closing_loc: (51,5)-(51,6) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (53,0)-(53,9)) │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (53,1)-(53,2)) @@ -657,16 +668,17 @@ │ │ │ @ CallNode (location: (53,6)-(53,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :kw │ │ │ ├── message_loc: (53,6)-(53,8) = "kw" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :kw + │ │ │ └── flags: variable_call │ │ └── operator_loc: (53,4)-(53,6) = "**" │ ├── opening_loc: (53,0)-(53,1) = "[" - │ └── closing_loc: (53,8)-(53,9) = "]" + │ ├── closing_loc: (53,8)-(53,9) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (55,0)-(55,21)) │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (55,1)-(55,2)) @@ -678,13 +690,13 @@ │ │ │ │ @ CallNode (location: (55,6)-(55,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :kw │ │ │ │ ├── message_loc: (55,6)-(55,8) = "kw" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :kw + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (55,4)-(55,6) = "**" │ │ ├── @ AssocSplatNode (location: (55,10)-(55,14)) │ │ │ ├── value: @@ -698,16 +710,17 @@ │ │ │ @ CallNode (location: (55,18)-(55,20)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :kw │ │ │ ├── message_loc: (55,18)-(55,20) = "kw" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :kw + │ │ │ └── flags: variable_call │ │ └── operator_loc: (55,16)-(55,18) = "**" │ ├── opening_loc: (55,0)-(55,1) = "[" - │ └── closing_loc: (55,20)-(55,21) = "]" + │ ├── closing_loc: (55,20)-(55,21) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (57,0)-(59,1)) │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (58,2)-(58,12)) @@ -717,27 +730,28 @@ │ │ │ @ CallNode (location: (58,2)-(58,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (58,2)-(58,5) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── value: │ │ │ @ CallNode (location: (58,9)-(58,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (58,9)-(58,12) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── operator_loc: (58,6)-(58,8) = "=>" │ ├── opening_loc: (57,0)-(57,1) = "[" - │ └── closing_loc: (59,0)-(59,1) = "]" + │ ├── closing_loc: (59,0)-(59,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (62,0)-(62,17)) │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (62,3)-(62,6)) @@ -756,7 +770,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (62,0)-(62,3) = "%i#" - │ └── closing_loc: (62,16)-(62,17) = "#" + │ ├── closing_loc: (62,16)-(62,17) = "#" + │ └── flags: ∅ ├── @ ArrayNode (location: (64,0)-(64,17)) │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (64,3)-(64,6)) @@ -778,7 +793,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (64,0)-(64,3) = "%w#" - │ └── closing_loc: (64,16)-(64,17) = "#" + │ ├── closing_loc: (64,16)-(64,17) = "#" + │ └── flags: ∅ ├── @ XStringNode (location: (66,0)-(66,17)) │ ├── opening_loc: (66,0)-(66,3) = "%x#" │ ├── content_loc: (66,3)-(66,16) = "one two three" @@ -802,7 +818,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (69,0)-(69,3) = "%i@" - │ └── closing_loc: (69,16)-(69,17) = "@" + │ ├── closing_loc: (69,16)-(69,17) = "@" + │ └── flags: ∅ ├── @ ArrayNode (location: (71,0)-(71,17)) │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (71,3)-(71,6)) @@ -824,7 +841,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (71,0)-(71,3) = "%w@" - │ └── closing_loc: (71,16)-(71,17) = "@" + │ ├── closing_loc: (71,16)-(71,17) = "@" + │ └── flags: ∅ ├── @ XStringNode (location: (73,0)-(73,17)) │ ├── opening_loc: (73,0)-(73,3) = "%x@" │ ├── content_loc: (73,3)-(73,16) = "one two three" @@ -848,7 +866,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (76,0)-(76,3) = "%i{" - │ └── closing_loc: (76,16)-(76,17) = "}" + │ ├── closing_loc: (76,16)-(76,17) = "}" + │ └── flags: ∅ ├── @ ArrayNode (location: (78,0)-(78,17)) │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (78,3)-(78,6)) @@ -870,7 +889,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "three" │ ├── opening_loc: (78,0)-(78,3) = "%w{" - │ └── closing_loc: (78,16)-(78,17) = "}" + │ ├── closing_loc: (78,16)-(78,17) = "}" + │ └── flags: ∅ ├── @ XStringNode (location: (80,0)-(80,17)) │ ├── opening_loc: (80,0)-(80,3) = "%x{" │ ├── content_loc: (80,3)-(80,16) = "one two three" @@ -885,19 +905,20 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\\C:" │ ├── opening_loc: (82,0)-(82,3) = "%w[" - │ └── closing_loc: (82,6)-(82,7) = "]" + │ ├── closing_loc: (82,6)-(82,7) = "]" + │ └── flags: ∅ ├── @ IndexOperatorWriteNode (location: (84,0)-(84,10)) │ ├── receiver: │ │ @ CallNode (location: (84,0)-(84,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (84,0)-(84,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (84,3)-(84,4) = "[" │ ├── arguments: ∅ @@ -914,13 +935,13 @@ │ │ @ CallNode (location: (86,0)-(86,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (86,0)-(86,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (86,3)-(86,4) = "[" │ ├── arguments: ∅ @@ -936,13 +957,13 @@ │ │ @ CallNode (location: (88,0)-(88,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (88,0)-(88,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (88,3)-(88,4) = "[" │ ├── arguments: ∅ @@ -960,21 +981,21 @@ │ │ │ @ CallNode (location: (90,0)-(90,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (90,0)-(90,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (90,3)-(90,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (90,4)-(90,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (90,7)-(90,8) = "[" │ ├── arguments: ∅ @@ -993,21 +1014,21 @@ │ │ │ @ CallNode (location: (92,0)-(92,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (92,0)-(92,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (92,3)-(92,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (92,4)-(92,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (92,7)-(92,8) = "[" │ ├── arguments: ∅ @@ -1025,21 +1046,21 @@ │ │ │ @ CallNode (location: (94,0)-(94,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (94,0)-(94,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (94,3)-(94,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (94,4)-(94,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (94,7)-(94,8) = "[" │ ├── arguments: ∅ @@ -1055,13 +1076,13 @@ │ │ @ CallNode (location: (96,0)-(96,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (96,0)-(96,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (96,3)-(96,4) = "[" │ ├── arguments: @@ -1070,13 +1091,13 @@ │ │ │ └── @ CallNode (location: (96,4)-(96,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (96,4)-(96,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (96,7)-(96,8) = "]" │ ├── block: ∅ @@ -1091,13 +1112,13 @@ │ │ @ CallNode (location: (98,0)-(98,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (98,0)-(98,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (98,3)-(98,4) = "[" │ ├── arguments: @@ -1106,13 +1127,13 @@ │ │ │ └── @ CallNode (location: (98,4)-(98,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (98,4)-(98,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (98,7)-(98,8) = "]" │ ├── block: ∅ @@ -1126,13 +1147,13 @@ │ │ @ CallNode (location: (100,0)-(100,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (100,0)-(100,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (100,3)-(100,4) = "[" │ ├── arguments: @@ -1141,13 +1162,13 @@ │ │ │ └── @ CallNode (location: (100,4)-(100,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (100,4)-(100,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (100,7)-(100,8) = "]" │ ├── block: ∅ @@ -1163,21 +1184,21 @@ │ │ │ @ CallNode (location: (102,0)-(102,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (102,0)-(102,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (102,3)-(102,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (102,4)-(102,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (102,7)-(102,8) = "[" │ ├── arguments: @@ -1186,13 +1207,13 @@ │ │ │ └── @ CallNode (location: (102,8)-(102,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (102,8)-(102,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (102,11)-(102,12) = "]" │ ├── block: ∅ @@ -1209,21 +1230,21 @@ │ │ │ @ CallNode (location: (104,0)-(104,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (104,0)-(104,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (104,3)-(104,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (104,4)-(104,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (104,7)-(104,8) = "[" │ ├── arguments: @@ -1232,13 +1253,13 @@ │ │ │ └── @ CallNode (location: (104,8)-(104,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (104,8)-(104,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (104,11)-(104,12) = "]" │ ├── block: ∅ @@ -1254,21 +1275,21 @@ │ │ │ @ CallNode (location: (106,0)-(106,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (106,0)-(106,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (106,3)-(106,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (106,4)-(106,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (106,7)-(106,8) = "[" │ ├── arguments: @@ -1277,13 +1298,13 @@ │ │ │ └── @ CallNode (location: (106,8)-(106,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (106,8)-(106,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (106,11)-(106,12) = "]" │ ├── block: ∅ @@ -1297,13 +1318,13 @@ │ │ @ CallNode (location: (108,0)-(108,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (108,0)-(108,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (108,3)-(108,4) = "[" │ ├── arguments: @@ -1312,13 +1333,13 @@ │ │ │ └── @ CallNode (location: (108,4)-(108,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (108,4)-(108,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (108,13)-(108,14) = "]" │ ├── block: @@ -1327,13 +1348,13 @@ │ │ │ @ CallNode (location: (108,10)-(108,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (108,10)-(108,13) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (108,9)-(108,10) = "&" │ ├── flags: ∅ │ ├── operator: :+ @@ -1346,13 +1367,13 @@ │ │ @ CallNode (location: (110,0)-(110,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (110,0)-(110,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (110,3)-(110,4) = "[" │ ├── arguments: @@ -1361,13 +1382,13 @@ │ │ │ └── @ CallNode (location: (110,4)-(110,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (110,4)-(110,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (110,13)-(110,14) = "]" │ ├── block: @@ -1376,13 +1397,13 @@ │ │ │ @ CallNode (location: (110,10)-(110,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (110,10)-(110,13) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (110,9)-(110,10) = "&" │ ├── flags: ∅ │ ├── operator_loc: (110,15)-(110,18) = "||=" @@ -1394,13 +1415,13 @@ │ │ @ CallNode (location: (112,0)-(112,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (112,0)-(112,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ │ ├── opening_loc: (112,3)-(112,4) = "[" │ ├── arguments: @@ -1409,13 +1430,13 @@ │ │ │ └── @ CallNode (location: (112,4)-(112,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (112,4)-(112,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (112,13)-(112,14) = "]" │ ├── block: @@ -1424,13 +1445,13 @@ │ │ │ @ CallNode (location: (112,10)-(112,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (112,10)-(112,13) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (112,9)-(112,10) = "&" │ ├── flags: ∅ │ ├── operator_loc: (112,15)-(112,18) = "&&=" @@ -1444,21 +1465,21 @@ │ │ │ @ CallNode (location: (114,0)-(114,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (114,0)-(114,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (114,3)-(114,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (114,4)-(114,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (114,7)-(114,8) = "[" │ ├── arguments: @@ -1467,13 +1488,13 @@ │ │ │ └── @ CallNode (location: (114,8)-(114,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (114,8)-(114,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (114,17)-(114,18) = "]" │ ├── block: @@ -1482,13 +1503,13 @@ │ │ │ @ CallNode (location: (114,14)-(114,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (114,14)-(114,17) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (114,13)-(114,14) = "&" │ ├── flags: ∅ │ ├── operator: :+ @@ -1503,21 +1524,21 @@ │ │ │ @ CallNode (location: (116,0)-(116,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (116,0)-(116,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (116,3)-(116,4) = "." + │ │ ├── name: :foo │ │ ├── message_loc: (116,4)-(116,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ │ ├── opening_loc: (116,7)-(116,8) = "[" │ ├── arguments: @@ -1526,13 +1547,13 @@ │ │ │ └── @ CallNode (location: (116,8)-(116,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (116,8)-(116,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (116,17)-(116,18) = "]" │ ├── block: @@ -1541,13 +1562,13 @@ │ │ │ @ CallNode (location: (116,14)-(116,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (116,14)-(116,17) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (116,13)-(116,14) = "&" │ ├── flags: ∅ │ ├── operator_loc: (116,19)-(116,22) = "||=" @@ -1561,21 +1582,21 @@ │ │ @ CallNode (location: (118,0)-(118,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (118,0)-(118,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (118,3)-(118,4) = "." + │ ├── name: :foo │ ├── message_loc: (118,4)-(118,7) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── call_operator_loc: ∅ ├── opening_loc: (118,7)-(118,8) = "[" ├── arguments: @@ -1584,13 +1605,13 @@ │ │ └── @ CallNode (location: (118,8)-(118,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (118,8)-(118,11) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: (118,17)-(118,18) = "]" ├── block: @@ -1599,13 +1620,13 @@ │ │ @ CallNode (location: (118,14)-(118,17)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz │ │ ├── message_loc: (118,14)-(118,17) = "baz" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :baz + │ │ └── flags: variable_call │ └── operator_loc: (118,13)-(118,14) = "&" ├── flags: ∅ ├── operator_loc: (118,19)-(118,22) = "&&=" diff --git a/test/prism/snapshots/begin_ensure.txt b/test/prism/snapshots/begin_ensure.txt index 0eff693f1d7575..14698a263e488f 100644 --- a/test/prism/snapshots/begin_ensure.txt +++ b/test/prism/snapshots/begin_ensure.txt @@ -11,13 +11,13 @@ │ │ └── @ CallNode (location: (2,0)-(2,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,0)-(2,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -29,13 +29,13 @@ │ │ │ └── @ CallNode (location: (4,0)-(4,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (4,0)-(4,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ BeginNode (location: (7,0)-(7,24)) @@ -46,13 +46,13 @@ │ │ └── @ CallNode (location: (7,7)-(7,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (7,7)-(7,8) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -64,13 +64,13 @@ │ │ │ └── @ CallNode (location: (7,18)-(7,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (7,18)-(7,19) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (7,21)-(7,24) = "end" │ └── end_keyword_loc: (7,21)-(7,24) = "end" ├── @ BeginNode (location: (9,0)-(11,4)) @@ -81,13 +81,13 @@ │ │ └── @ CallNode (location: (9,6)-(9,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (9,6)-(9,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -99,13 +99,13 @@ │ │ │ └── @ CallNode (location: (10,8)-(10,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (10,8)-(10,9) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (11,1)-(11,4) = "end" │ └── end_keyword_loc: (11,1)-(11,4) = "end" ├── @ BeginNode (location: (13,0)-(13,22)) @@ -116,13 +116,13 @@ │ │ └── @ CallNode (location: (13,6)-(13,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (13,6)-(13,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -134,13 +134,13 @@ │ │ │ └── @ CallNode (location: (13,16)-(13,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (13,16)-(13,17) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (13,19)-(13,22) = "end" │ └── end_keyword_loc: (13,19)-(13,22) = "end" └── @ BeginNode (location: (15,0)-(21,15)) @@ -161,6 +161,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "s" │ │ ├── call_operator_loc: (15,13)-(15,14) = "." + │ │ ├── name: :l │ │ ├── message_loc: (15,14)-(15,15) = "l" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -182,6 +183,7 @@ │ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35)) │ │ │ │ │ │ │ └── name: :Module │ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "." + │ │ │ │ │ │ ├── name: :new │ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ @@ -214,6 +216,7 @@ │ │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17)) │ │ │ │ │ │ │ │ │ │ │ └── name: :Module │ │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "." + │ │ │ │ │ │ │ │ │ │ ├── name: :new │ │ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new" │ │ │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ │ │ ├── arguments: ∅ @@ -225,21 +228,18 @@ │ │ │ │ │ │ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do" │ │ │ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end" - │ │ │ │ │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ │ │ │ │ └── name: :new + │ │ │ │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end" │ │ │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do" │ │ │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end" - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :new + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end" │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :l + │ │ └── flags: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/begin_rescue.txt b/test/prism/snapshots/begin_rescue.txt index d4e0c7fdc02be6..d2338e7da93338 100644 --- a/test/prism/snapshots/begin_rescue.txt +++ b/test/prism/snapshots/begin_rescue.txt @@ -11,13 +11,13 @@ │ │ └── @ CallNode (location: (1,7)-(1,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,7)-(1,8) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (1,10)-(1,19)) │ │ ├── keyword_loc: (1,10)-(1,16) = "rescue" @@ -30,13 +30,13 @@ │ │ │ └── @ CallNode (location: (1,18)-(1,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,18)-(1,19) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (1,21)-(1,33)) @@ -47,13 +47,13 @@ │ │ │ └── @ CallNode (location: (1,27)-(1,28)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,27)-(1,28) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (1,30)-(1,33) = "end" │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (1,30)-(1,33) = "end" @@ -65,13 +65,13 @@ │ │ └── @ CallNode (location: (3,7)-(3,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (3,7)-(3,8) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (3,10)-(3,19)) │ │ ├── keyword_loc: (3,10)-(3,16) = "rescue" @@ -84,13 +84,13 @@ │ │ │ └── @ CallNode (location: (3,18)-(3,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (3,18)-(3,19) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (3,21)-(3,36)) @@ -101,13 +101,13 @@ │ │ │ └── @ CallNode (location: (3,27)-(3,28)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (3,27)-(3,28) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (3,30)-(3,44)) @@ -118,13 +118,13 @@ │ │ │ └── @ CallNode (location: (3,38)-(3,39)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (3,38)-(3,39) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (3,41)-(3,44) = "end" │ └── end_keyword_loc: (3,41)-(3,44) = "end" ├── @ BeginNode (location: (5,0)-(7,3)) @@ -135,13 +135,13 @@ │ │ └── @ CallNode (location: (6,0)-(6,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (6,0)-(6,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -154,13 +154,13 @@ │ │ └── @ CallNode (location: (9,7)-(9,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (9,7)-(9,8) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -173,13 +173,13 @@ │ │ └── @ CallNode (location: (11,6)-(11,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (11,6)-(11,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -192,13 +192,13 @@ │ │ └── @ CallNode (location: (14,6)-(14,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (14,6)-(14,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -211,13 +211,13 @@ │ │ └── @ CallNode (location: (17,0)-(17,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (17,0)-(17,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (18,0)-(23,1)) │ │ ├── keyword_loc: (18,0)-(18,6) = "rescue" @@ -230,13 +230,13 @@ │ │ │ └── @ CallNode (location: (19,0)-(19,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (19,0)-(19,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: │ │ @ RescueNode (location: (20,0)-(23,1)) │ │ ├── keyword_loc: (20,0)-(20,6) = "rescue" @@ -249,13 +249,13 @@ │ │ │ └── @ CallNode (location: (21,0)-(21,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (21,0)-(21,1) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── consequent: │ │ @ RescueNode (location: (22,0)-(23,1)) │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue" @@ -268,13 +268,13 @@ │ │ │ └── @ CallNode (location: (23,0)-(23,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (23,0)-(23,1) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -287,13 +287,13 @@ │ │ └── @ CallNode (location: (27,2)-(27,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (27,2)-(27,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (28,0)-(31,3)) │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue" @@ -311,13 +311,13 @@ │ │ │ └── @ CallNode (location: (29,2)-(29,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (29,2)-(29,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: │ │ @ RescueNode (location: (30,0)-(31,3)) │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" @@ -337,13 +337,13 @@ │ │ │ └── @ CallNode (location: (31,2)-(31,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (31,2)-(31,3) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -356,13 +356,13 @@ │ │ └── @ CallNode (location: (35,2)-(35,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (35,2)-(35,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (36,0)-(37,3)) │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" @@ -380,13 +380,13 @@ │ │ │ └── @ CallNode (location: (37,2)-(37,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (37,2)-(37,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: @@ -398,13 +398,13 @@ │ │ │ └── @ CallNode (location: (39,2)-(39,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (39,2)-(39,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (40,0)-(40,3) = "end" │ └── end_keyword_loc: (40,0)-(40,3) = "end" ├── @ StringNode (location: (42,0)-(42,6)) @@ -421,13 +421,13 @@ │ │ └── @ CallNode (location: (45,0)-(45,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (45,0)-(45,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (46,0)-(47,1)) │ │ ├── keyword_loc: (46,0)-(46,6) = "rescue" @@ -440,13 +440,13 @@ │ │ │ └── @ CallNode (location: (47,0)-(47,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (47,0)-(47,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -459,13 +459,13 @@ │ │ └── @ CallNode (location: (50,6)-(50,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (50,6)-(50,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (50,8)-(50,16)) │ │ ├── keyword_loc: (50,8)-(50,14) = "rescue" @@ -478,13 +478,13 @@ │ │ │ └── @ CallNode (location: (50,15)-(50,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (50,15)-(50,16) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -497,13 +497,13 @@ │ │ └── @ CallNode (location: (53,0)-(53,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (53,0)-(53,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (53,2)-(54,1)) │ │ ├── keyword_loc: (53,2)-(53,8) = "rescue" @@ -516,13 +516,13 @@ │ │ │ └── @ CallNode (location: (54,0)-(54,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (54,0)-(54,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -535,13 +535,13 @@ │ │ └── @ CallNode (location: (57,0)-(57,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (57,0)-(57,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (58,0)-(59,1)) │ │ ├── keyword_loc: (58,0)-(58,6) = "rescue" @@ -556,13 +556,13 @@ │ │ │ └── @ CallNode (location: (59,0)-(59,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (59,0)-(59,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -575,13 +575,13 @@ │ │ └── @ CallNode (location: (63,0)-(63,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (63,0)-(63,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (64,0)-(65,1)) │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" @@ -598,13 +598,13 @@ │ │ │ └── @ CallNode (location: (65,0)-(65,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (65,0)-(65,1) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -617,13 +617,13 @@ │ │ └── @ CallNode (location: (69,2)-(69,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (69,2)-(69,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (70,0)-(71,3)) │ │ ├── keyword_loc: (70,0)-(70,6) = "rescue" @@ -643,13 +643,13 @@ │ │ │ └── @ CallNode (location: (71,2)-(71,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (71,2)-(71,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -662,13 +662,13 @@ │ └── @ CallNode (location: (75,2)-(75,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (75,2)-(75,3) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (76,0)-(77,3)) │ ├── keyword_loc: (76,0)-(76,6) = "rescue" @@ -686,13 +686,13 @@ │ │ └── @ CallNode (location: (77,2)-(77,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (77,2)-(77,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/blocks.txt b/test/prism/snapshots/blocks.txt index 9769e9e4e28eb9..1f4592e052a74b 100644 --- a/test/prism/snapshots/blocks.txt +++ b/test/prism/snapshots/blocks.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (1,3)-(1,8) = "[bar]" │ ├── opening_loc: (1,3)-(1,4) = "[" │ ├── arguments: @@ -24,13 +25,13 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,4)-(1,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (1,7)-(1,8) = "]" │ ├── block: @@ -43,30 +44,30 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (1,11)-(1,14) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (1,9)-(1,10) = "{" │ │ └── closing_loc: (1,15)-(1,16) = "}" - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(5,3)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (3,3)-(3,8) = "[bar]" │ ├── opening_loc: (3,3)-(3,4) = "[" │ ├── arguments: @@ -75,13 +76,13 @@ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (3,4)-(3,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (3,7)-(3,8) = "]" │ ├── block: @@ -94,30 +95,30 @@ │ │ │ └── @ CallNode (location: (4,0)-(4,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (4,0)-(4,3) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (3,9)-(3,11) = "do" │ │ └── closing_loc: (5,0)-(5,3) = "end" - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,35)) │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :x │ │ ├── message_loc: (7,0)-(7,1) = "x" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :x + │ │ └── flags: variable_call │ ├── call_operator_loc: (7,1)-(7,2) = "." + │ ├── name: :reduce │ ├── message_loc: (7,2)-(7,8) = "reduce" │ ├── opening_loc: (7,8)-(7,9) = "(" │ ├── arguments: @@ -163,11 +164,11 @@ │ │ │ └── depth: 0 │ │ ├── opening_loc: (7,12)-(7,13) = "{" │ │ └── closing_loc: (7,34)-(7,35) = "}" - │ ├── flags: ∅ - │ └── name: :reduce + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (9,0)-(9,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -179,11 +180,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (9,4)-(9,6) = "do" │ │ └── closing_loc: (9,7)-(9,10) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (11,0)-(11,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -192,13 +193,13 @@ │ │ │ ├── @ CallNode (location: (11,4)-(11,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (11,4)-(11,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21)) │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (11,10)-(11,20)) @@ -206,6 +207,7 @@ │ │ │ │ └── @ CallNode (location: (11,10)-(11,20)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (11,10)-(11,13) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -217,18 +219,17 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (11,14)-(11,16) = "do" │ │ │ │ │ └── closing_loc: (11,17)-(11,20) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: ∅ │ │ │ ├── opening_loc: (11,9)-(11,10) = "(" │ │ │ └── closing_loc: (11,20)-(11,21) = ")" │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (13,0)-(13,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -237,13 +238,13 @@ │ │ │ └── @ CallNode (location: (13,4)-(13,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (13,4)-(13,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -253,11 +254,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (13,8)-(13,10) = "do" │ │ └── closing_loc: (13,11)-(13,14) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,18)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (15,0)-(15,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -266,6 +267,7 @@ │ │ │ └── @ CallNode (location: (15,4)-(15,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (15,4)-(15,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -274,18 +276,17 @@ │ │ │ │ │ └── @ CallNode (location: (15,8)-(15,11)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :baz │ │ │ │ │ ├── message_loc: (15,8)-(15,11) = "baz" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :baz + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :bar + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -295,11 +296,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (15,12)-(15,14) = "do" │ │ └── closing_loc: (15,15)-(15,18) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(18,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (17,0)-(17,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -323,14 +324,15 @@ │ │ │ │ │ │ @ CallNode (location: (17,12)-(17,13)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :b │ │ │ │ │ │ ├── message_loc: (17,12)-(17,13) = "b" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :b + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :[] │ │ │ │ │ ├── message_loc: (17,13)-(17,16) = "[1]" │ │ │ │ │ ├── opening_loc: (17,13)-(17,14) = "[" │ │ │ │ │ ├── arguments: @@ -341,8 +343,7 @@ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]" │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :[] + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── rest: ∅ │ │ │ │ ├── posts: (length: 0) │ │ │ │ ├── keywords: (length: 0) @@ -354,11 +355,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (17,4)-(17,6) = "do" │ │ └── closing_loc: (18,0)-(18,3) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (20,0)-(22,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (20,0)-(20,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -384,11 +385,11 @@ │ │ │ └── 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 + │ └── flags: ∅ ├── @ CallNode (location: (24,0)-(29,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (24,0)-(24,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -403,6 +404,7 @@ │ │ │ └── @ CallNode (location: (25,2)-(28,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (25,2)-(25,5) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -417,6 +419,7 @@ │ │ │ │ │ └── @ CallNode (location: (26,4)-(27,7)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :baz │ │ │ │ │ ├── message_loc: (26,4)-(26,7) = "baz" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ @@ -428,29 +431,27 @@ │ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ │ ├── opening_loc: (26,8)-(26,10) = "do" │ │ │ │ │ │ └── closing_loc: (27,4)-(27,7) = "end" - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :baz + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── opening_loc: (25,6)-(25,8) = "do" │ │ │ │ └── closing_loc: (28,2)-(28,5) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :bar + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (24,4)-(24,6) = "do" │ │ └── closing_loc: (29,0)-(29,3) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (31,0)-(31,16)) │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (31,0)-(31,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (31,3)-(31,8) = "[bar]" │ ├── opening_loc: (31,3)-(31,4) = "[" │ ├── arguments: @@ -459,13 +460,13 @@ │ │ │ └── @ CallNode (location: (31,4)-(31,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (31,4)-(31,7) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (31,7)-(31,8) = "]" │ ├── block: @@ -478,20 +479,20 @@ │ │ │ └── @ CallNode (location: (31,11)-(31,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (31,11)-(31,14) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (31,9)-(31,10) = "{" │ │ └── closing_loc: (31,15)-(31,16) = "}" - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ CallNode (location: (33,0)-(33,24)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (33,0)-(33,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -533,11 +534,11 @@ │ │ │ └── depth: 0 │ │ ├── opening_loc: (33,4)-(33,5) = "{" │ │ └── closing_loc: (33,23)-(33,24) = "}" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (35,0)-(35,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -564,8 +565,7 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (35,4)-(35,5) = "{" │ │ └── closing_loc: (35,10)-(35,11) = "}" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ LocalVariableWriteNode (location: (37,0)-(37,8)) │ ├── name: :fork │ ├── depth: 0 @@ -577,6 +577,7 @@ ├── @ CallNode (location: (38,0)-(39,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fork │ ├── message_loc: (38,0)-(38,4) = "fork" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -603,11 +604,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (38,5)-(38,7) = "do" │ │ └── closing_loc: (39,0)-(39,3) = "end" - │ ├── flags: ∅ - │ └── name: :fork + │ └── flags: ∅ ├── @ CallNode (location: (41,0)-(41,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fork │ ├── message_loc: (41,0)-(41,4) = "fork" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -634,11 +635,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (41,5)-(41,6) = "{" │ │ └── closing_loc: (41,11)-(41,12) = "}" - │ ├── flags: ∅ - │ └── name: :fork + │ └── flags: ∅ ├── @ CallNode (location: (43,0)-(44,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :C │ ├── message_loc: (43,0)-(43,1) = "C" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -650,11 +651,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (43,2)-(43,4) = "do" │ │ └── closing_loc: (44,0)-(44,3) = "end" - │ ├── flags: ∅ - │ └── name: :C + │ └── flags: ∅ ├── @ CallNode (location: (46,0)-(46,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :C │ ├── message_loc: (46,0)-(46,1) = "C" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -666,11 +667,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (46,2)-(46,3) = "{" │ │ └── closing_loc: (46,3)-(46,4) = "}" - │ ├── flags: ∅ - │ └── name: :C + │ └── flags: ∅ ├── @ CallNode (location: (48,0)-(52,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (48,0)-(48,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -679,6 +680,7 @@ │ │ │ └── @ CallNode (location: (48,4)-(52,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :lambda │ │ │ ├── message_loc: (48,4)-(48,10) = "lambda" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -715,16 +717,15 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (48,11)-(48,12) = "{" │ │ │ │ └── closing_loc: (52,0)-(52,1) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :lambda + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ └── @ CallNode (location: (54,0)-(54,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :foo ├── message_loc: (54,0)-(54,3) = "foo" ├── opening_loc: ∅ ├── arguments: ∅ @@ -755,5 +756,4 @@ │ ├── body: ∅ │ ├── opening_loc: (54,4)-(54,6) = "do" │ └── closing_loc: (54,14)-(54,17) = "end" - ├── flags: ∅ - └── name: :foo + └── flags: ∅ diff --git a/test/prism/snapshots/boolean_operators.txt b/test/prism/snapshots/boolean_operators.txt index 6a5a8af6cb1710..a8e3918f8103cd 100644 --- a/test/prism/snapshots/boolean_operators.txt +++ b/test/prism/snapshots/boolean_operators.txt @@ -10,13 +10,13 @@ │ │ @ CallNode (location: (1,6)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── name: :a │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6)) @@ -26,13 +26,13 @@ │ │ @ CallNode (location: (3,5)-(3,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (3,5)-(3,6) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── name: :a │ ├── operator: :+ │ └── depth: 0 @@ -43,12 +43,12 @@ │ @ CallNode (location: (5,6)-(5,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (5,6)-(5,7) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/break.txt b/test/prism/snapshots/break.txt index 04e54832c506bc..48991bb6ebf7b5 100644 --- a/test/prism/snapshots/break.txt +++ b/test/prism/snapshots/break.txt @@ -81,7 +81,8 @@ │ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14)) │ │ │ │ └── flags: decimal │ │ │ ├── opening_loc: (12,6)-(12,7) = "[" - │ │ │ └── closing_loc: (12,14)-(12,15) = "]" + │ │ │ ├── closing_loc: (12,14)-(12,15) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ └── keyword_loc: (12,0)-(12,5) = "break" ├── @ BreakNode (location: (14,0)-(17,1)) @@ -129,6 +130,7 @@ │ │ @ CallNode (location: (23,0)-(23,16)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (23,0)-(23,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -150,9 +152,9 @@ │ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break" │ │ │ ├── opening_loc: (23,4)-(23,5) = "{" │ │ │ └── closing_loc: (23,15)-(23,16) = "}" - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :== │ ├── message_loc: (23,17)-(23,19) = "==" │ ├── opening_loc: ∅ │ ├── arguments: @@ -163,13 +165,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :== + │ └── flags: ∅ └── @ CallNode (location: (25,0)-(25,23)) ├── receiver: │ @ CallNode (location: (25,0)-(25,17)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (25,0)-(25,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -201,9 +203,9 @@ │ │ │ └── keyword_loc: (25,10)-(25,15) = "break" │ │ ├── opening_loc: (25,4)-(25,5) = "{" │ │ └── closing_loc: (25,16)-(25,17) = "}" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :== ├── message_loc: (25,18)-(25,20) = "==" ├── opening_loc: ∅ ├── arguments: @@ -214,5 +216,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :== + └── flags: ∅ diff --git a/test/prism/snapshots/case.txt b/test/prism/snapshots/case.txt index 7b264c14308328..badeaa07cc6459 100644 --- a/test/prism/snapshots/case.txt +++ b/test/prism/snapshots/case.txt @@ -37,6 +37,7 @@ │ │ │ └── @ CallNode (location: (5,22)-(5,30)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :puts │ │ │ ├── message_loc: (5,22)-(5,26) = "puts" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -50,8 +51,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :puts + │ │ │ └── flags: ∅ │ │ └── @ WhenNode (location: (5,32)-(5,53)) │ │ ├── keyword_loc: (5,32)-(5,36) = "when" │ │ ├── conditions: (length: 1) @@ -62,6 +62,7 @@ │ │ └── @ CallNode (location: (5,44)-(5,53)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :puts │ │ ├── message_loc: (5,44)-(5,48) = "puts" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -75,8 +76,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :puts + │ │ └── flags: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (5,0)-(5,4) = "case" │ └── end_keyword_loc: (5,55)-(5,58) = "end" @@ -92,13 +92,13 @@ │ │ │ @ CallNode (location: (7,12)-(7,15)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (7,12)-(7,15) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── statements: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (7,0)-(7,4) = "case" @@ -139,13 +139,13 @@ │ │ @ CallNode (location: (15,5)-(15,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :this │ │ ├── message_loc: (15,5)-(15,9) = "this" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :this + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (15,11)-(15,31)) │ │ ├── keyword_loc: (15,11)-(15,15) = "when" @@ -169,14 +169,15 @@ │ │ │ │ @ CallNode (location: (18,5)-(18,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (18,5)-(18,8) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :== │ │ │ ├── message_loc: (18,9)-(18,11) = "==" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -185,18 +186,17 @@ │ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :== + │ │ │ └── flags: ∅ │ │ └── statements: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (17,0)-(17,4) = "case" @@ -210,13 +210,13 @@ │ │ │ └── @ CallNode (location: (22,5)-(22,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (22,5)-(22,6) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ └── statements: ∅ │ ├── consequent: │ │ @ ElseNode (location: (23,0)-(25,3)) @@ -230,13 +230,13 @@ │ │ @ CallNode (location: (27,5)-(27,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :type │ │ ├── message_loc: (27,5)-(27,9) = "type" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :type + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (28,3)-(28,10)) │ │ ├── keyword_loc: (28,3)-(28,7) = "when" diff --git a/test/prism/snapshots/classes.txt b/test/prism/snapshots/classes.txt index 52147e03e587c2..06cdf40cd27ee4 100644 --- a/test/prism/snapshots/classes.txt +++ b/test/prism/snapshots/classes.txt @@ -112,21 +112,21 @@ │ │ │ @ CallNode (location: (11,13)-(11,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (11,13)-(11,16) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (11,9)-(11,12) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (12,0)-(12,3) = "end" ├── @ ClassNode (location: (14,0)-(14,40)) @@ -214,21 +214,21 @@ │ │ │ @ CallNode (location: (18,9)-(18,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (18,9)-(18,12) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (18,12)-(18,13) = "." + │ │ ├── name: :bar │ │ ├── message_loc: (18,13)-(18,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :bar + │ │ └── flags: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ SingletonClassNode (location: (21,0)-(21,20)) @@ -241,21 +241,21 @@ │ │ │ @ CallNode (location: (21,9)-(21,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (21,9)-(21,12) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (21,12)-(21,13) = "." + │ │ ├── name: :bar │ │ ├── message_loc: (21,13)-(21,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :bar + │ │ └── flags: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (21,17)-(21,20) = "end" ├── @ SingletonClassNode (location: (23,0)-(24,3)) @@ -288,6 +288,7 @@ │ │ │ @ IntegerNode (location: (29,0)-(29,1)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (29,2)-(29,3) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -298,8 +299,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ SingletonClassNode (location: (32,0)-(32,23)) │ ├── locals: [] @@ -315,6 +315,7 @@ │ │ │ @ IntegerNode (location: (32,14)-(32,15)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (32,16)-(32,17) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -325,8 +326,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ └── end_keyword_loc: (32,20)-(32,23) = "end" └── @ ClassNode (location: (34,0)-(35,3)) ├── locals: [] @@ -341,6 +341,7 @@ │ │ @ ConstantReadNode (location: (34,10)-(34,11)) │ │ └── name: :B │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (34,11)-(34,14) = "[1]" │ ├── opening_loc: (34,11)-(34,12) = "[" │ ├── arguments: @@ -351,8 +352,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (34,13)-(34,14) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── body: ∅ ├── end_keyword_loc: (35,0)-(35,3) = "end" └── name: :A diff --git a/test/prism/snapshots/comments.txt b/test/prism/snapshots/comments.txt index ee8f13651a934d..c12dc9911a5c00 100644 --- a/test/prism/snapshots/comments.txt +++ b/test/prism/snapshots/comments.txt @@ -6,140 +6,140 @@ ├── @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── @ CallNode (location: (3,0)-(3,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (3,0)-(3,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call ├── @ CallNode (location: (5,0)-(5,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :c │ ├── message_loc: (5,0)-(5,1) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :c + │ └── flags: variable_call ├── @ CallNode (location: (6,0)-(6,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :d │ ├── message_loc: (6,0)-(6,1) = "d" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :d + │ └── flags: variable_call ├── @ CallNode (location: (8,0)-(10,4)) │ ├── receiver: │ │ @ CallNode (location: (8,0)-(8,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :e │ │ ├── message_loc: (8,0)-(8,1) = "e" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :e + │ │ └── flags: variable_call │ ├── call_operator_loc: (10,2)-(10,3) = "." + │ ├── name: :f │ ├── message_loc: (10,3)-(10,4) = "f" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ ├── @ CallNode (location: (12,0)-(14,2)) │ ├── receiver: │ │ @ CallNode (location: (12,0)-(12,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (12,0)-(12,1) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :g + │ │ └── flags: variable_call │ ├── call_operator_loc: (14,0)-(14,1) = "." + │ ├── name: :h │ ├── message_loc: (14,1)-(14,2) = "h" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :h + │ └── flags: ∅ ├── @ CallNode (location: (16,0)-(17,2)) │ ├── receiver: │ │ @ CallNode (location: (16,0)-(16,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :i │ │ ├── message_loc: (16,0)-(16,1) = "i" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :i + │ │ └── flags: variable_call │ ├── call_operator_loc: (17,0)-(17,1) = "." + │ ├── name: :j │ ├── message_loc: (17,1)-(17,2) = "j" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :j + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(20,4)) │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :k │ │ ├── message_loc: (19,0)-(19,1) = "k" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :k + │ │ └── flags: variable_call │ ├── call_operator_loc: (20,2)-(20,3) = "." + │ ├── name: :l │ ├── message_loc: (20,3)-(20,4) = "l" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :l + │ └── flags: ∅ └── @ CallNode (location: (22,0)-(24,5)) ├── receiver: │ @ CallNode (location: (22,0)-(22,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (22,0)-(22,1) = "m" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :m + │ └── flags: variable_call ├── call_operator_loc: (24,2)-(24,4) = "&." + ├── name: :n ├── message_loc: (24,4)-(24,5) = "n" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :n + └── flags: safe_navigation diff --git a/test/prism/snapshots/constants.txt b/test/prism/snapshots/constants.txt index 5a31e16872055a..354153ddf379d7 100644 --- a/test/prism/snapshots/constants.txt +++ b/test/prism/snapshots/constants.txt @@ -30,13 +30,13 @@ │ │ @ CallNode (location: (5,0)-(5,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (5,0)-(5,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── child: │ │ @ ConstantReadNode (location: (5,3)-(5,4)) │ │ └── name: :B @@ -67,6 +67,7 @@ ├── @ CallNode (location: (13,0)-(13,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :Foo │ ├── message_loc: (13,0)-(13,3) = "Foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -77,11 +78,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Foo + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :Foo │ ├── message_loc: (15,0)-(15,3) = "Foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -93,21 +94,21 @@ │ │ │ @ CallNode (location: (15,5)-(15,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (15,5)-(15,8) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Foo + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :Foo │ ├── message_loc: (17,0)-(17,3) = "Foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -120,22 +121,22 @@ │ │ │ │ @ CallNode (location: (17,6)-(17,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (17,6)-(17,9) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (17,4)-(17,6) = "**" - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Foo + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :Foo │ ├── message_loc: (19,0)-(19,3) = "Foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -146,21 +147,21 @@ │ │ │ @ CallNode (location: (19,5)-(19,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (19,5)-(19,8) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── operator_loc: (19,4)-(19,5) = "&" - │ ├── flags: ∅ - │ └── name: :Foo + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,13)) │ ├── receiver: │ │ @ ConstantReadNode (location: (21,0)-(21,3)) │ │ └── name: :Foo │ ├── call_operator_loc: (21,3)-(21,5) = "::" + │ ├── name: :Bar │ ├── message_loc: (21,5)-(21,8) = "Bar" │ ├── opening_loc: ∅ │ ├── arguments: @@ -172,23 +173,23 @@ │ │ │ @ CallNode (location: (21,10)-(21,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (21,10)-(21,13) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Bar + │ └── flags: ∅ ├── @ CallNode (location: (23,0)-(23,14)) │ ├── receiver: │ │ @ ConstantReadNode (location: (23,0)-(23,3)) │ │ └── name: :Foo │ ├── call_operator_loc: (23,3)-(23,5) = "::" + │ ├── name: :Bar │ ├── message_loc: (23,5)-(23,8) = "Bar" │ ├── opening_loc: ∅ │ ├── arguments: @@ -201,24 +202,24 @@ │ │ │ │ @ CallNode (location: (23,11)-(23,14)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (23,11)-(23,14) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (23,9)-(23,11) = "**" - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Bar + │ └── flags: ∅ ├── @ CallNode (location: (25,0)-(25,13)) │ ├── receiver: │ │ @ ConstantReadNode (location: (25,0)-(25,3)) │ │ └── name: :Foo │ ├── call_operator_loc: (25,3)-(25,5) = "::" + │ ├── name: :Bar │ ├── message_loc: (25,5)-(25,8) = "Bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -229,16 +230,15 @@ │ │ │ @ CallNode (location: (25,10)-(25,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (25,10)-(25,13) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── operator_loc: (25,9)-(25,10) = "&" - │ ├── flags: ∅ - │ └── name: :Bar + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(27,8)) │ ├── receiver: │ │ @ ConstantPathNode (location: (27,0)-(27,3)) @@ -248,13 +248,13 @@ │ │ │ └── name: :A │ │ └── delimiter_loc: (27,0)-(27,2) = "::" │ ├── call_operator_loc: (27,3)-(27,5) = "::" + │ ├── name: :foo │ ├── message_loc: (27,5)-(27,8) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ ConstantPathWriteNode (location: (29,0)-(29,7)) │ ├── target: │ │ @ ConstantPathNode (location: (29,0)-(29,3)) @@ -308,13 +308,13 @@ │ │ @ ConstantReadNode (location: (37,0)-(37,1)) │ │ └── name: :A │ ├── call_operator_loc: (37,1)-(37,3) = "::" + │ ├── name: :false │ ├── message_loc: (37,3)-(37,8) = "false" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :false + │ └── flags: ∅ ├── @ CallNode (location: (39,0)-(39,10)) │ ├── receiver: │ │ @ ConstantPathNode (location: (39,0)-(39,4)) @@ -326,157 +326,157 @@ │ │ │ └── name: :B │ │ └── delimiter_loc: (39,1)-(39,3) = "::" │ ├── call_operator_loc: (39,4)-(39,6) = "::" + │ ├── name: :true │ ├── message_loc: (39,6)-(39,10) = "true" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :true + │ └── flags: ∅ ├── @ CallNode (location: (41,0)-(41,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (41,0)-(41,1)) │ │ └── name: :A │ ├── call_operator_loc: (41,1)-(41,3) = "::" + │ ├── name: :& │ ├── message_loc: (41,3)-(41,4) = "&" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :& + │ └── flags: ∅ ├── @ CallNode (location: (43,0)-(43,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (43,0)-(43,1)) │ │ └── name: :A │ ├── call_operator_loc: (43,1)-(43,3) = "::" + │ ├── name: :` │ ├── message_loc: (43,3)-(43,4) = "`" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :` + │ └── flags: ∅ ├── @ CallNode (location: (45,0)-(45,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (45,0)-(45,1)) │ │ └── name: :A │ ├── call_operator_loc: (45,1)-(45,3) = "::" + │ ├── name: :! │ ├── message_loc: (45,3)-(45,4) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (47,0)-(47,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (47,0)-(47,1)) │ │ └── name: :A │ ├── call_operator_loc: (47,1)-(47,3) = "::" + │ ├── name: :!= │ ├── message_loc: (47,3)-(47,5) = "!=" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :!= + │ └── flags: ∅ ├── @ CallNode (location: (49,0)-(49,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (49,0)-(49,1)) │ │ └── name: :A │ ├── call_operator_loc: (49,1)-(49,3) = "::" + │ ├── name: :^ │ ├── message_loc: (49,3)-(49,4) = "^" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :^ + │ └── flags: ∅ ├── @ CallNode (location: (51,0)-(51,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (51,0)-(51,1)) │ │ └── name: :A │ ├── call_operator_loc: (51,1)-(51,3) = "::" + │ ├── name: :== │ ├── message_loc: (51,3)-(51,5) = "==" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :== + │ └── flags: ∅ ├── @ CallNode (location: (53,0)-(53,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (53,0)-(53,1)) │ │ └── name: :A │ ├── call_operator_loc: (53,1)-(53,3) = "::" + │ ├── name: :=== │ ├── message_loc: (53,3)-(53,6) = "===" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=== + │ └── flags: ∅ ├── @ CallNode (location: (55,0)-(55,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (55,0)-(55,1)) │ │ └── name: :A │ ├── call_operator_loc: (55,1)-(55,3) = "::" + │ ├── name: :=~ │ ├── message_loc: (55,3)-(55,5) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=~ + │ └── flags: ∅ ├── @ CallNode (location: (57,0)-(57,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (57,0)-(57,1)) │ │ └── name: :A │ ├── call_operator_loc: (57,1)-(57,3) = "::" + │ ├── name: :> │ ├── message_loc: (57,3)-(57,4) = ">" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :> + │ └── flags: ∅ ├── @ CallNode (location: (59,0)-(59,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (59,0)-(59,1)) │ │ └── name: :A │ ├── call_operator_loc: (59,1)-(59,3) = "::" + │ ├── name: :>= │ ├── message_loc: (59,3)-(59,5) = ">=" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>= + │ └── flags: ∅ ├── @ CallNode (location: (61,0)-(61,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (61,0)-(61,1)) │ │ └── name: :A │ ├── call_operator_loc: (61,1)-(61,3) = "::" + │ ├── name: :>> │ ├── message_loc: (61,3)-(61,5) = ">>" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>> + │ └── flags: ∅ ├── @ CallNode (location: (63,0)-(63,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (63,0)-(63,1)) │ │ └── name: :A │ ├── call_operator_loc: (63,1)-(63,3) = "::" + │ ├── name: :<< │ ├── message_loc: (63,3)-(63,5) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ ConstantPathNode (location: (65,0)-(67,1)) │ ├── parent: │ │ @ ConstantReadNode (location: (65,0)-(65,1)) @@ -490,37 +490,37 @@ │ │ @ ConstantReadNode (location: (69,0)-(69,1)) │ │ └── name: :A │ ├── call_operator_loc: (69,1)-(69,3) = "::" + │ ├── name: :alias │ ├── message_loc: (69,3)-(69,8) = "alias" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :alias + │ └── flags: ∅ ├── @ CallNode (location: (71,0)-(71,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (71,0)-(71,1)) │ │ └── name: :A │ ├── call_operator_loc: (71,1)-(71,3) = "::" + │ ├── name: :and │ ├── message_loc: (71,3)-(71,6) = "and" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :and + │ └── flags: ∅ ├── @ CallNode (location: (73,0)-(73,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (73,0)-(73,1)) │ │ └── name: :A │ ├── call_operator_loc: (73,1)-(73,3) = "::" + │ ├── name: :begin │ ├── message_loc: (73,3)-(73,8) = "begin" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :begin + │ └── flags: ∅ ├── @ ConstantPathNode (location: (75,0)-(75,8)) │ ├── parent: │ │ @ ConstantReadNode (location: (75,0)-(75,1)) @@ -534,97 +534,97 @@ │ │ @ ConstantReadNode (location: (77,0)-(77,1)) │ │ └── name: :A │ ├── call_operator_loc: (77,1)-(77,3) = "::" + │ ├── name: :break │ ├── message_loc: (77,3)-(77,8) = "break" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :break + │ └── flags: ∅ ├── @ CallNode (location: (79,0)-(79,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (79,0)-(79,1)) │ │ └── name: :A │ ├── call_operator_loc: (79,1)-(79,3) = "::" + │ ├── name: :class │ ├── message_loc: (79,3)-(79,8) = "class" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :class + │ └── flags: ∅ ├── @ CallNode (location: (81,0)-(81,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (81,0)-(81,1)) │ │ └── name: :A │ ├── call_operator_loc: (81,1)-(81,3) = "::" + │ ├── name: :def │ ├── message_loc: (81,3)-(81,6) = "def" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :def + │ └── flags: ∅ ├── @ CallNode (location: (83,0)-(83,10)) │ ├── receiver: │ │ @ ConstantReadNode (location: (83,0)-(83,1)) │ │ └── name: :A │ ├── call_operator_loc: (83,1)-(83,3) = "::" + │ ├── name: :defined │ ├── message_loc: (83,3)-(83,10) = "defined" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :defined + │ └── flags: ∅ ├── @ CallNode (location: (85,0)-(85,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (85,0)-(85,1)) │ │ └── name: :A │ ├── call_operator_loc: (85,1)-(85,3) = "::" + │ ├── name: :do │ ├── message_loc: (85,3)-(85,5) = "do" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :do + │ └── flags: ∅ ├── @ CallNode (location: (87,0)-(87,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (87,0)-(87,1)) │ │ └── name: :A │ ├── call_operator_loc: (87,1)-(87,3) = "::" + │ ├── name: :else │ ├── message_loc: (87,3)-(87,7) = "else" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :else + │ └── flags: ∅ ├── @ CallNode (location: (89,0)-(89,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (89,0)-(89,1)) │ │ └── name: :A │ ├── call_operator_loc: (89,1)-(89,3) = "::" + │ ├── name: :elsif │ ├── message_loc: (89,3)-(89,8) = "elsif" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :elsif + │ └── flags: ∅ ├── @ CallNode (location: (91,0)-(91,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,1)) │ │ └── name: :A │ ├── call_operator_loc: (91,1)-(91,3) = "::" + │ ├── name: :end │ ├── message_loc: (91,3)-(91,6) = "end" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :end + │ └── flags: ∅ ├── @ ConstantPathNode (location: (93,0)-(93,6)) │ ├── parent: │ │ @ ConstantReadNode (location: (93,0)-(93,1)) @@ -638,378 +638,379 @@ │ │ @ ConstantReadNode (location: (95,0)-(95,1)) │ │ └── name: :A │ ├── call_operator_loc: (95,1)-(95,3) = "::" + │ ├── name: :ensure │ ├── message_loc: (95,3)-(95,9) = "ensure" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :ensure + │ └── flags: ∅ ├── @ CallNode (location: (97,0)-(97,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (97,0)-(97,1)) │ │ └── name: :A │ ├── call_operator_loc: (97,1)-(97,3) = "::" + │ ├── name: :false │ ├── message_loc: (97,3)-(97,8) = "false" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :false + │ └── flags: ∅ ├── @ CallNode (location: (99,0)-(99,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (99,0)-(99,1)) │ │ └── name: :A │ ├── call_operator_loc: (99,1)-(99,3) = "::" + │ ├── name: :for │ ├── message_loc: (99,3)-(99,6) = "for" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :for + │ └── flags: ∅ ├── @ CallNode (location: (101,0)-(101,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (101,0)-(101,1)) │ │ └── name: :A │ ├── call_operator_loc: (101,1)-(101,3) = "::" + │ ├── name: :if │ ├── message_loc: (101,3)-(101,5) = "if" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :if + │ └── flags: ∅ ├── @ CallNode (location: (103,0)-(103,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (103,0)-(103,1)) │ │ └── name: :A │ ├── call_operator_loc: (103,1)-(103,3) = "::" + │ ├── name: :in │ ├── message_loc: (103,3)-(103,5) = "in" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :in + │ └── flags: ∅ ├── @ CallNode (location: (105,0)-(105,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (105,0)-(105,1)) │ │ └── name: :A │ ├── call_operator_loc: (105,1)-(105,3) = "::" + │ ├── name: :next │ ├── message_loc: (105,3)-(105,7) = "next" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :next + │ └── flags: ∅ ├── @ CallNode (location: (107,0)-(107,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (107,0)-(107,1)) │ │ └── name: :A │ ├── call_operator_loc: (107,1)-(107,3) = "::" + │ ├── name: :nil │ ├── message_loc: (107,3)-(107,6) = "nil" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :nil + │ └── flags: ∅ ├── @ CallNode (location: (109,0)-(109,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (109,0)-(109,1)) │ │ └── name: :A │ ├── call_operator_loc: (109,1)-(109,3) = "::" + │ ├── name: :not │ ├── message_loc: (109,3)-(109,6) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :not + │ └── flags: ∅ ├── @ CallNode (location: (111,0)-(111,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (111,0)-(111,1)) │ │ └── name: :A │ ├── call_operator_loc: (111,1)-(111,3) = "::" + │ ├── name: :or │ ├── message_loc: (111,3)-(111,5) = "or" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :or + │ └── flags: ∅ ├── @ CallNode (location: (113,0)-(113,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (113,0)-(113,1)) │ │ └── name: :A │ ├── call_operator_loc: (113,1)-(113,3) = "::" + │ ├── name: :redo │ ├── message_loc: (113,3)-(113,7) = "redo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :redo + │ └── flags: ∅ ├── @ CallNode (location: (115,0)-(115,9)) │ ├── receiver: │ │ @ ConstantReadNode (location: (115,0)-(115,1)) │ │ └── name: :A │ ├── call_operator_loc: (115,1)-(115,3) = "::" + │ ├── name: :rescue │ ├── message_loc: (115,3)-(115,9) = "rescue" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :rescue + │ └── flags: ∅ ├── @ CallNode (location: (117,0)-(117,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (117,0)-(117,1)) │ │ └── name: :A │ ├── call_operator_loc: (117,1)-(117,3) = "::" + │ ├── name: :retry │ ├── message_loc: (117,3)-(117,8) = "retry" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :retry + │ └── flags: ∅ ├── @ CallNode (location: (119,0)-(119,9)) │ ├── receiver: │ │ @ ConstantReadNode (location: (119,0)-(119,1)) │ │ └── name: :A │ ├── call_operator_loc: (119,1)-(119,3) = "::" + │ ├── name: :return │ ├── message_loc: (119,3)-(119,9) = "return" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :return + │ └── flags: ∅ ├── @ CallNode (location: (121,0)-(121,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (121,0)-(121,1)) │ │ └── name: :A │ ├── call_operator_loc: (121,1)-(121,3) = "::" + │ ├── name: :self │ ├── message_loc: (121,3)-(121,7) = "self" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :self + │ └── flags: ∅ ├── @ CallNode (location: (123,0)-(123,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (123,0)-(123,1)) │ │ └── name: :A │ ├── call_operator_loc: (123,1)-(123,3) = "::" + │ ├── name: :super │ ├── message_loc: (123,3)-(123,8) = "super" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :super + │ └── flags: ∅ ├── @ CallNode (location: (125,0)-(125,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (125,0)-(125,1)) │ │ └── name: :A │ ├── call_operator_loc: (125,1)-(125,3) = "::" + │ ├── name: :then │ ├── message_loc: (125,3)-(125,7) = "then" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :then + │ └── flags: ∅ ├── @ CallNode (location: (127,0)-(127,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (127,0)-(127,1)) │ │ └── name: :A │ ├── call_operator_loc: (127,1)-(127,3) = "::" + │ ├── name: :true │ ├── message_loc: (127,3)-(127,7) = "true" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :true + │ └── flags: ∅ ├── @ CallNode (location: (129,0)-(129,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (129,0)-(129,1)) │ │ └── name: :A │ ├── call_operator_loc: (129,1)-(129,3) = "::" + │ ├── name: :undef │ ├── message_loc: (129,3)-(129,8) = "undef" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :undef + │ └── flags: ∅ ├── @ CallNode (location: (131,0)-(131,9)) │ ├── receiver: │ │ @ ConstantReadNode (location: (131,0)-(131,1)) │ │ └── name: :A │ ├── call_operator_loc: (131,1)-(131,3) = "::" + │ ├── name: :unless │ ├── message_loc: (131,3)-(131,9) = "unless" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :unless + │ └── flags: ∅ ├── @ CallNode (location: (133,0)-(133,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (133,0)-(133,1)) │ │ └── name: :A │ ├── call_operator_loc: (133,1)-(133,3) = "::" + │ ├── name: :until │ ├── message_loc: (133,3)-(133,8) = "until" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :until + │ └── flags: ∅ ├── @ CallNode (location: (135,0)-(135,7)) │ ├── receiver: │ │ @ ConstantReadNode (location: (135,0)-(135,1)) │ │ └── name: :A │ ├── call_operator_loc: (135,1)-(135,3) = "::" + │ ├── name: :when │ ├── message_loc: (135,3)-(135,7) = "when" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :when + │ └── flags: ∅ ├── @ CallNode (location: (137,0)-(137,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (137,0)-(137,1)) │ │ └── name: :A │ ├── call_operator_loc: (137,1)-(137,3) = "::" + │ ├── name: :while │ ├── message_loc: (137,3)-(137,8) = "while" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :while + │ └── flags: ∅ ├── @ CallNode (location: (139,0)-(139,8)) │ ├── receiver: │ │ @ ConstantReadNode (location: (139,0)-(139,1)) │ │ └── name: :A │ ├── call_operator_loc: (139,1)-(139,3) = "::" + │ ├── name: :yield │ ├── message_loc: (139,3)-(139,8) = "yield" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :yield + │ └── flags: ∅ ├── @ CallNode (location: (141,0)-(141,15)) │ ├── receiver: │ │ @ ConstantReadNode (location: (141,0)-(141,1)) │ │ └── name: :A │ ├── call_operator_loc: (141,1)-(141,3) = "::" + │ ├── name: :__ENCODING__ │ ├── message_loc: (141,3)-(141,15) = "__ENCODING__" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :__ENCODING__ + │ └── flags: ∅ ├── @ CallNode (location: (143,0)-(143,11)) │ ├── receiver: │ │ @ ConstantReadNode (location: (143,0)-(143,1)) │ │ └── name: :A │ ├── call_operator_loc: (143,1)-(143,3) = "::" + │ ├── name: :__FILE__ │ ├── message_loc: (143,3)-(143,11) = "__FILE__" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :__FILE__ + │ └── flags: ∅ ├── @ CallNode (location: (145,0)-(145,11)) │ ├── receiver: │ │ @ ConstantReadNode (location: (145,0)-(145,1)) │ │ └── name: :A │ ├── call_operator_loc: (145,1)-(145,3) = "::" + │ ├── name: :__LINE__ │ ├── message_loc: (145,3)-(145,11) = "__LINE__" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :__LINE__ + │ └── flags: ∅ ├── @ CallNode (location: (147,0)-(147,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (147,0)-(147,1)) │ │ └── name: :A │ ├── call_operator_loc: (147,1)-(147,3) = "::" + │ ├── name: :< │ ├── message_loc: (147,3)-(147,4) = "<" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :< + │ └── flags: ∅ ├── @ CallNode (location: (149,0)-(149,6)) │ ├── receiver: │ │ @ ConstantReadNode (location: (149,0)-(149,1)) │ │ └── name: :A │ ├── call_operator_loc: (149,1)-(149,3) = "::" + │ ├── name: :<=> │ ├── message_loc: (149,3)-(149,6) = "<=>" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<=> + │ └── flags: ∅ ├── @ CallNode (location: (151,0)-(151,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (151,0)-(151,1)) │ │ └── name: :A │ ├── call_operator_loc: (151,1)-(151,3) = "::" + │ ├── name: :<< │ ├── message_loc: (151,3)-(151,5) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ CallNode (location: (153,0)-(153,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (153,0)-(153,1)) │ │ └── name: :A │ ├── call_operator_loc: (153,1)-(153,3) = "::" + │ ├── name: :- │ ├── message_loc: (153,3)-(153,4) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :- + │ └── flags: ∅ ├── @ CallNode (location: (155,0)-(155,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (155,0)-(155,1)) │ │ └── name: :A │ ├── call_operator_loc: (155,1)-(155,3) = "::" + │ ├── name: :% │ ├── message_loc: (155,3)-(155,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (157,0)-(157,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (157,0)-(157,1)) │ │ └── name: :A │ ├── call_operator_loc: (157,1)-(157,3) = "::" + │ ├── name: :% │ ├── message_loc: (157,3)-(157,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1018,23 +1019,23 @@ │ │ │ └── @ CallNode (location: (157,4)-(157,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :i │ │ │ ├── message_loc: (157,4)-(157,5) = "i" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :i + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (159,0)-(159,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (159,0)-(159,1)) │ │ └── name: :A │ ├── call_operator_loc: (159,1)-(159,3) = "::" + │ ├── name: :% │ ├── message_loc: (159,3)-(159,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1043,23 +1044,23 @@ │ │ │ └── @ CallNode (location: (159,4)-(159,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :w │ │ │ ├── message_loc: (159,4)-(159,5) = "w" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :w + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (161,0)-(161,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (161,0)-(161,1)) │ │ └── name: :A │ ├── call_operator_loc: (161,1)-(161,3) = "::" + │ ├── name: :% │ ├── message_loc: (161,3)-(161,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1068,23 +1069,23 @@ │ │ │ └── @ CallNode (location: (161,4)-(161,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :x │ │ │ ├── message_loc: (161,4)-(161,5) = "x" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :x + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (163,0)-(163,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (163,0)-(163,1)) │ │ └── name: :A │ ├── call_operator_loc: (163,1)-(163,3) = "::" + │ ├── name: :% │ ├── message_loc: (163,3)-(163,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1095,13 +1096,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (165,0)-(165,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (165,0)-(165,1)) │ │ └── name: :A │ ├── call_operator_loc: (165,1)-(165,3) = "::" + │ ├── name: :% │ ├── message_loc: (165,3)-(165,4) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1112,80 +1113,79 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (167,0)-(167,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (167,0)-(167,1)) │ │ └── name: :A │ ├── call_operator_loc: (167,1)-(167,3) = "::" + │ ├── name: :| │ ├── message_loc: (167,3)-(167,4) = "|" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :| + │ └── flags: ∅ ├── @ CallNode (location: (169,0)-(169,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (169,0)-(169,1)) │ │ └── name: :A │ ├── call_operator_loc: (169,1)-(169,3) = "::" + │ ├── name: :+ │ ├── message_loc: (169,3)-(169,4) = "+" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (171,0)-(171,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (171,0)-(171,1)) │ │ └── name: :A │ ├── call_operator_loc: (171,1)-(171,3) = "::" + │ ├── name: :/ │ ├── message_loc: (171,3)-(171,4) = "/" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :/ + │ └── flags: ∅ ├── @ CallNode (location: (173,0)-(173,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (173,0)-(173,1)) │ │ └── name: :A │ ├── call_operator_loc: (173,1)-(173,3) = "::" + │ ├── name: :* │ ├── message_loc: (173,3)-(173,4) = "*" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ ├── @ CallNode (location: (175,0)-(175,5)) │ ├── receiver: │ │ @ ConstantReadNode (location: (175,0)-(175,1)) │ │ └── name: :A │ ├── call_operator_loc: (175,1)-(175,3) = "::" + │ ├── name: :** │ ├── message_loc: (175,3)-(175,5) = "**" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── @ CallNode (location: (177,0)-(177,4)) │ ├── receiver: │ │ @ ConstantReadNode (location: (177,0)-(177,1)) │ │ └── name: :A │ ├── call_operator_loc: (177,1)-(177,3) = "::" + │ ├── name: :~ │ ├── message_loc: (177,3)-(177,4) = "~" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :~ + │ └── flags: ∅ ├── @ ConstantPathNode (location: (179,0)-(180,1)) │ ├── parent: │ │ @ CallNode (location: (179,0)-(179,4)) @@ -1193,13 +1193,13 @@ │ │ │ @ ConstantReadNode (location: (179,0)-(179,1)) │ │ │ └── name: :A │ │ ├── call_operator_loc: (179,1)-(179,3) = "::" + │ │ ├── name: :_ │ │ ├── message_loc: (179,3)-(179,4) = "_" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :_ + │ │ └── flags: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (180,0)-(180,1)) │ │ └── name: :C @@ -1211,25 +1211,25 @@ │ │ @ ConstantReadNode (location: (182,0)-(182,1)) │ │ └── name: :A │ ├── call_operator_loc: (182,1)-(182,3) = "::" + │ ├── name: :_ │ ├── message_loc: (182,3)-(182,4) = "_" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :_ + │ └── flags: ∅ ├── right: │ @ CallNode (location: (184,0)-(184,10)) │ ├── receiver: │ │ @ ConstantReadNode (location: (184,0)-(184,1)) │ │ └── name: :A │ ├── call_operator_loc: (184,1)-(184,3) = "::" + │ ├── name: :__END__ │ ├── message_loc: (184,3)-(184,10) = "__END__" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :__END__ + │ └── flags: ∅ ├── operator_loc: (182,4)-(182,6) = ".." └── flags: ∅ diff --git a/test/prism/snapshots/dash_heredocs.txt b/test/prism/snapshots/dash_heredocs.txt index 4c76b61d5c1523..ebb14c3a49a7d6 100644 --- a/test/prism/snapshots/dash_heredocs.txt +++ b/test/prism/snapshots/dash_heredocs.txt @@ -18,6 +18,7 @@ │ │ ├── closing_loc: (7,0)-(8,0) = "FIRST\n" │ │ └── unescaped: " a\n" │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (5,9)-(5,10) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -32,8 +33,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ InterpolatedXStringNode (location: (11,0)-(11,8)) │ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`" │ ├── parts: (length: 3) @@ -51,13 +51,13 @@ │ │ │ │ └── @ CallNode (location: (13,2)-(13,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (13,3)-(13,4) = "}" │ │ └── @ StringNode (location: (13,4)-(14,0)) │ │ ├── flags: ∅ @@ -95,13 +95,13 @@ │ │ │ │ └── @ CallNode (location: (27,2)-(27,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (27,2)-(27,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (27,3)-(27,4) = "}" │ │ └── @ StringNode (location: (27,4)-(28,0)) │ │ ├── flags: ∅ @@ -127,13 +127,13 @@ │ │ │ │ └── @ CallNode (location: (32,2)-(32,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (32,2)-(32,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (32,3)-(32,4) = "}" │ │ └── @ StringNode (location: (32,4)-(33,0)) │ │ ├── flags: ∅ @@ -175,6 +175,7 @@ │ │ ├── closing_loc: (51,0)-(52,0) = "A\n" │ │ └── unescaped: " a\n" │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (49,5)-(49,6) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -207,8 +208,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ └── @ CallNode (location: (57,0)-(57,11)) ├── receiver: │ @ StringNode (location: (57,0)-(57,4)) @@ -218,6 +218,7 @@ │ ├── closing_loc: (59,0)-(60,0) = "A\n" │ └── unescaped: " a\n" ├── call_operator_loc: ∅ + ├── name: :+ ├── message_loc: (57,5)-(57,6) = "+" ├── opening_loc: ∅ ├── arguments: @@ -250,5 +251,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :+ + └── flags: ∅ diff --git a/test/prism/snapshots/defined.txt b/test/prism/snapshots/defined.txt index 1bedb73977e002..1d52354f68fbbb 100644 --- a/test/prism/snapshots/defined.txt +++ b/test/prism/snapshots/defined.txt @@ -43,24 +43,24 @@ │ │ │ @ CallNode (location: (5,9)-(5,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (5,9)-(5,12) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── right: │ │ │ @ CallNode (location: (5,17)-(5,20)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (5,17)-(5,20) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── operator_loc: (5,13)-(5,16) = "and" │ ├── rparen_loc: (5,20)-(5,21) = ")" │ └── keyword_loc: (5,0)-(5,8) = "defined?" diff --git a/test/prism/snapshots/dos_endings.txt b/test/prism/snapshots/dos_endings.txt index 758334138cc83e..f0622a2434114e 100644 --- a/test/prism/snapshots/dos_endings.txt +++ b/test/prism/snapshots/dos_endings.txt @@ -6,31 +6,32 @@ ├── @ CallNode (location: (1,0)-(2,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :puts │ ├── message_loc: (1,0)-(1,4) = "puts" │ ├── opening_loc: ∅ │ ├── arguments: │ │ @ ArgumentsNode (location: (1,5)-(2,12)) │ │ ├── arguments: (length: 1) - │ │ │ └── @ StringConcatNode (location: (1,5)-(2,12)) - │ │ │ ├── left: - │ │ │ │ @ StringNode (location: (1,5)-(1,9)) - │ │ │ │ ├── flags: ∅ - │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\"" - │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi" - │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" - │ │ │ │ └── unescaped: "hi" - │ │ │ └── right: - │ │ │ @ StringNode (location: (2,5)-(2,12)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (2,5)-(2,6) = "\"" - │ │ │ ├── content_loc: (2,6)-(2,11) = "there" - │ │ │ ├── closing_loc: (2,11)-(2,12) = "\"" - │ │ │ └── unescaped: "there" + │ │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12)) + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── parts: (length: 2) + │ │ │ │ ├── @ StringNode (location: (1,5)-(1,9)) + │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\"" + │ │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi" + │ │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" + │ │ │ │ │ └── unescaped: "hi" + │ │ │ │ └── @ StringNode (location: (2,5)-(2,12)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (2,5)-(2,6) = "\"" + │ │ │ │ ├── content_loc: (2,6)-(2,11) = "there" + │ │ │ │ ├── closing_loc: (2,11)-(2,12) = "\"" + │ │ │ │ └── unescaped: "there" + │ │ │ └── closing_loc: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :puts + │ └── flags: ∅ ├── @ ArrayNode (location: (4,0)-(5,2)) │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (4,3)-(5,1)) @@ -39,7 +40,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (4,0)-(4,3) = "%I{" - │ └── closing_loc: (5,1)-(5,2) = "}" + │ ├── closing_loc: (5,1)-(5,2) = "}" + │ └── flags: ∅ ├── @ StringNode (location: (7,0)-(7,4)) │ ├── flags: ∅ │ ├── opening_loc: (7,0)-(7,4) = "<<-E" @@ -66,6 +68,7 @@ │ @ CallNode (location: (17,4)-(17,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (17,4)-(17,7) = "foo" │ ├── opening_loc: (17,7)-(17,8) = "(" │ ├── arguments: @@ -90,16 +93,15 @@ │ │ │ │ │ └── unescaped: "baz\r\n" │ │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n" │ │ │ ├── call_operator_loc: (17,14)-(17,15) = "." + │ │ │ ├── name: :chop │ │ │ ├── message_loc: (17,15)-(17,19) = "chop" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :chop + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: (17,19)-(17,20) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ └── operator_loc: (17,2)-(17,3) = "=" diff --git a/test/prism/snapshots/endless_methods.txt b/test/prism/snapshots/endless_methods.txt index b5820da4f86a2d..a8d685ade61667 100644 --- a/test/prism/snapshots/endless_methods.txt +++ b/test/prism/snapshots/endless_methods.txt @@ -31,6 +31,7 @@ │ │ └── @ CallNode (location: (3,10)-(3,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A │ │ ├── message_loc: (3,10)-(3,11) = "A" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -45,8 +46,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :A + │ │ └── flags: ∅ │ ├── locals: [] │ ├── def_keyword_loc: (3,0)-(3,3) = "def" │ ├── operator_loc: ∅ @@ -69,6 +69,7 @@ │ │ │ @ IntegerNode (location: (5,13)-(5,14)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (5,15)-(5,16) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -79,9 +80,9 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (5,19)-(5,20) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -92,8 +93,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── locals: [] ├── def_keyword_loc: (5,0)-(5,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/hashes.txt b/test/prism/snapshots/hashes.txt index 452747acc04f27..824def5ca1ffdd 100644 --- a/test/prism/snapshots/hashes.txt +++ b/test/prism/snapshots/hashes.txt @@ -19,48 +19,48 @@ │ │ │ │ @ CallNode (location: (6,2)-(6,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (6,2)-(6,3) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ ├── value: │ │ │ │ @ CallNode (location: (6,7)-(6,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (6,7)-(6,8) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (6,4)-(6,6) = "=>" │ │ └── @ AssocNode (location: (6,10)-(6,16)) │ │ ├── key: │ │ │ @ CallNode (location: (6,10)-(6,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (6,10)-(6,11) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ ├── value: │ │ │ @ CallNode (location: (6,15)-(6,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (6,15)-(6,16) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── operator_loc: (6,12)-(6,14) = "=>" │ └── closing_loc: (6,17)-(6,18) = "}" ├── @ HashNode (location: (8,0)-(8,15)) @@ -71,37 +71,37 @@ │ │ │ │ @ CallNode (location: (8,2)-(8,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (8,2)-(8,3) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ ├── value: │ │ │ │ @ CallNode (location: (8,7)-(8,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (8,7)-(8,8) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (8,4)-(8,6) = "=>" │ │ └── @ AssocSplatNode (location: (8,10)-(8,13)) │ │ ├── value: │ │ │ @ CallNode (location: (8,12)-(8,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (8,12)-(8,13) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── operator_loc: (8,10)-(8,12) = "**" │ └── closing_loc: (8,14)-(8,15) = "}" ├── @ HashNode (location: (10,0)-(16,5)) @@ -118,13 +118,13 @@ │ │ │ │ @ CallNode (location: (11,9)-(11,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (11,9)-(11,10) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (12,6)-(12,10)) │ │ ├── key: @@ -137,13 +137,13 @@ │ │ │ @ CallNode (location: (12,9)-(12,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (12,9)-(12,10) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── operator_loc: ∅ │ └── closing_loc: (16,4)-(16,5) = "}" ├── @ HashNode (location: (18,0)-(18,25)) @@ -160,13 +160,13 @@ │ │ │ │ @ CallNode (location: (18,5)-(18,6)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (18,5)-(18,6) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocNode (location: (18,8)-(18,12)) │ │ │ ├── key: @@ -179,26 +179,26 @@ │ │ │ │ @ CallNode (location: (18,11)-(18,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d │ │ │ │ ├── message_loc: (18,11)-(18,12) = "d" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :d + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocSplatNode (location: (18,14)-(18,17)) │ │ │ ├── value: │ │ │ │ @ CallNode (location: (18,16)-(18,17)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :e │ │ │ │ ├── message_loc: (18,16)-(18,17) = "e" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :e + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (18,14)-(18,16) = "**" │ │ └── @ AssocNode (location: (18,19)-(18,23)) │ │ ├── key: @@ -211,13 +211,13 @@ │ │ │ @ CallNode (location: (18,22)-(18,23)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :g │ │ │ ├── message_loc: (18,22)-(18,23) = "g" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :g + │ │ │ └── flags: variable_call │ │ └── operator_loc: ∅ │ └── closing_loc: (18,24)-(18,25) = "}" ├── @ HashNode (location: (20,0)-(20,12)) @@ -236,21 +236,21 @@ │ │ │ │ @ CallNode (location: (20,8)-(20,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b? │ │ │ │ ├── message_loc: (20,8)-(20,10) = "b?" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b? + │ │ │ │ └── flags: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :! │ │ │ ├── message_loc: (20,7)-(20,8) = "!" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :! + │ │ │ └── flags: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (20,11)-(20,12) = "}" ├── @ LocalVariableWriteNode (location: (22,0)-(22,5)) @@ -264,6 +264,7 @@ └── @ CallNode (location: (23,0)-(26,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :tap ├── message_loc: (23,0)-(23,3) = "tap" ├── opening_loc: ∅ ├── arguments: ∅ @@ -327,13 +328,13 @@ │ │ │ │ │ @ CallNode (location: (25,12)-(25,14)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :c │ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :c + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (25,16)-(25,18)) │ │ │ ├── key: @@ -351,5 +352,4 @@ │ │ └── closing_loc: (25,19)-(25,20) = "}" │ ├── opening_loc: (23,4)-(23,6) = "do" │ └── closing_loc: (26,0)-(26,3) = "end" - ├── flags: ∅ - └── name: :tap + └── flags: ∅ diff --git a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt index b403d618fc67e1..4350b4f3251827 100644 --- a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt +++ b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt @@ -12,6 +12,7 @@ │ │ ├── closing_loc: (2,0)-(3,0) = "TARGET\n" │ │ └── unescaped: "" │ ├── call_operator_loc: (1,9)-(1,10) = "." + │ ├── name: :gsub │ ├── message_loc: (1,10)-(1,14) = "gsub" │ ├── opening_loc: ∅ │ ├── arguments: @@ -32,8 +33,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :gsub + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,25)) ├── receiver: │ @ StringNode (location: (5,0)-(5,9)) @@ -43,6 +43,7 @@ │ ├── closing_loc: (6,0)-(7,0) = "TARGET\r\n" │ └── unescaped: "" ├── call_operator_loc: (5,9)-(5,10) = "." + ├── name: :gsub ├── message_loc: (5,10)-(5,14) = "gsub" ├── opening_loc: ∅ ├── arguments: @@ -63,5 +64,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :gsub + └── flags: ∅ diff --git a/test/prism/snapshots/if.txt b/test/prism/snapshots/if.txt index 50e4116dd93abd..b48b58d1c0a068 100644 --- a/test/prism/snapshots/if.txt +++ b/test/prism/snapshots/if.txt @@ -132,13 +132,13 @@ │ │ @ CallNode (location: (16,3)-(16,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :exit_loop │ │ ├── message_loc: (16,3)-(16,12) = "exit_loop" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :exit_loop + │ │ └── flags: variable_call │ ├── then_keyword_loc: (16,13)-(16,17) = "then" │ ├── statements: │ │ @ StatementsNode (location: (16,18)-(16,26)) @@ -159,13 +159,13 @@ │ │ @ CallNode (location: (18,3)-(18,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (18,3)-(18,6) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── then_keyword_loc: (19,0)-(19,4) = "then" │ ├── statements: │ │ @ StatementsNode (location: (19,5)-(19,8)) @@ -173,13 +173,13 @@ │ │ └── @ CallNode (location: (19,5)-(19,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (19,5)-(19,8) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ ├── consequent: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ IfNode (location: (22,0)-(22,11)) @@ -188,13 +188,13 @@ │ │ @ CallNode (location: (22,10)-(22,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c │ │ ├── message_loc: (22,10)-(22,11) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :c + │ │ └── flags: variable_call │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (22,0)-(22,6)) @@ -205,13 +205,13 @@ │ │ │ @ CallNode (location: (22,5)-(22,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (22,5)-(22,6) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (22,0)-(22,1)) @@ -219,13 +219,13 @@ │ │ │ └── @ CallNode (location: (22,0)-(22,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (22,0)-(22,1) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: ∅ │ ├── consequent: ∅ @@ -241,6 +241,7 @@ │ │ └── @ CallNode (location: (25,2)-(25,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (25,2)-(25,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -261,19 +262,18 @@ │ │ │ │ │ @ CallNode (location: (25,4)-(25,6)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :b │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :b + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── operator_loc: ∅ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :a + │ │ └── flags: ∅ │ ├── consequent: │ │ @ ElseNode (location: (26,0)-(27,3)) │ │ ├── else_keyword_loc: (26,0)-(26,4) = "else" @@ -288,13 +288,13 @@ │ │ │ @ CallNode (location: (29,3)-(29,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :type │ │ │ ├── message_loc: (29,3)-(29,7) = "type" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :type + │ │ │ └── flags: variable_call │ │ ├── pattern: │ │ │ @ IntegerNode (location: (29,11)-(29,12)) │ │ │ └── flags: decimal @@ -310,13 +310,13 @@ │ │ │ │ @ CallNode (location: (30,6)-(30,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :type │ │ │ │ ├── message_loc: (30,6)-(30,10) = "type" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :type + │ │ │ │ └── flags: variable_call │ │ │ ├── pattern: │ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15)) │ │ │ │ └── name: :B @@ -338,6 +338,7 @@ │ └── @ CallNode (location: (34,2)-(35,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :lambda │ ├── message_loc: (34,2)-(34,8) = "lambda" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -364,8 +365,7 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (34,9)-(34,11) = "do" │ │ └── closing_loc: (35,2)-(35,5) = "end" - │ ├── flags: ∅ - │ └── name: :lambda + │ └── flags: ∅ ├── consequent: │ @ IfNode (location: (36,0)-(42,3)) │ ├── if_keyword_loc: (36,0)-(36,5) = "elsif" @@ -379,6 +379,7 @@ │ │ └── @ CallNode (location: (37,2)-(38,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :lambda │ │ ├── message_loc: (37,2)-(37,8) = "lambda" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -405,8 +406,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (37,9)-(37,11) = "do" │ │ │ └── closing_loc: (38,2)-(38,5) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :lambda + │ │ └── flags: ∅ │ ├── consequent: │ │ @ ElseNode (location: (39,0)-(42,3)) │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else" @@ -416,6 +416,7 @@ │ │ │ └── @ CallNode (location: (40,2)-(41,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :lambda │ │ │ ├── message_loc: (40,2)-(40,8) = "lambda" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -442,8 +443,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do" │ │ │ │ └── closing_loc: (41,2)-(41,5) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :lambda + │ │ │ └── flags: ∅ │ │ └── end_keyword_loc: (42,0)-(42,3) = "end" │ └── end_keyword_loc: (42,0)-(42,3) = "end" └── end_keyword_loc: (42,0)-(42,3) = "end" diff --git a/test/prism/snapshots/integer_operations.txt b/test/prism/snapshots/integer_operations.txt index 9eeaa62184fe73..8fe3c2420f374e 100644 --- a/test/prism/snapshots/integer_operations.txt +++ b/test/prism/snapshots/integer_operations.txt @@ -8,30 +8,31 @@ │ │ @ IntegerNode (location: (1,1)-(1,2)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,0)-(1,1) = "!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,2)) │ ├── receiver: │ │ @ IntegerNode (location: (3,1)-(3,2)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :~ │ ├── message_loc: (3,0)-(3,1) = "~" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :~ + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,6)) │ ├── receiver: │ │ @ IntegerNode (location: (5,0)-(5,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :!= │ ├── message_loc: (5,2)-(5,4) = "!=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -42,13 +43,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :!= + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,6)) │ ├── receiver: │ │ @ IntegerNode (location: (7,0)-(7,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :!~ │ ├── message_loc: (7,2)-(7,4) = "!~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -59,13 +60,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :!~ + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,5)) │ ├── receiver: │ │ @ IntegerNode (location: (9,0)-(9,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :% │ ├── message_loc: (9,2)-(9,3) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -76,13 +77,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,5)) │ ├── receiver: │ │ @ IntegerNode (location: (11,0)-(11,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :& │ ├── message_loc: (11,2)-(11,3) = "&" │ ├── opening_loc: ∅ │ ├── arguments: @@ -93,13 +94,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :& + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,5)) │ ├── receiver: │ │ @ IntegerNode (location: (13,0)-(13,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :* │ ├── message_loc: (13,2)-(13,3) = "*" │ ├── opening_loc: ∅ │ ├── arguments: @@ -110,13 +111,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,4)) │ ├── receiver: │ │ @ IntegerNode (location: (15,0)-(15,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :** │ ├── message_loc: (15,1)-(15,3) = "**" │ ├── opening_loc: ∅ │ ├── arguments: @@ -127,13 +128,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,5)) │ ├── receiver: │ │ @ IntegerNode (location: (17,0)-(17,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (17,2)-(17,3) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -144,13 +145,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,5)) │ ├── receiver: │ │ @ IntegerNode (location: (19,0)-(19,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :- │ ├── message_loc: (19,2)-(19,3) = "-" │ ├── opening_loc: ∅ │ ├── arguments: @@ -161,13 +162,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :- + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,5)) │ ├── receiver: │ │ @ IntegerNode (location: (21,0)-(21,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :/ │ ├── message_loc: (21,2)-(21,3) = "/" │ ├── opening_loc: ∅ │ ├── arguments: @@ -178,8 +179,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :/ + │ └── flags: ∅ ├── @ CallNode (location: (23,0)-(23,5)) │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) @@ -187,6 +187,7 @@ │ │ │ @ IntegerNode (location: (23,0)-(23,1)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :/ │ │ ├── message_loc: (23,1)-(23,2) = "/" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -197,9 +198,9 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :/ + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :/ │ ├── message_loc: (23,3)-(23,4) = "/" │ ├── opening_loc: ∅ │ ├── arguments: @@ -210,13 +211,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :/ + │ └── flags: ∅ ├── @ CallNode (location: (25,0)-(25,5)) │ ├── receiver: │ │ @ IntegerNode (location: (25,0)-(25,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :< │ ├── message_loc: (25,2)-(25,3) = "<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -227,13 +228,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :< + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(27,6)) │ ├── receiver: │ │ @ IntegerNode (location: (27,0)-(27,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :<< │ ├── message_loc: (27,2)-(27,4) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -244,13 +245,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ CallNode (location: (29,0)-(29,6)) │ ├── receiver: │ │ @ IntegerNode (location: (29,0)-(29,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :<= │ ├── message_loc: (29,2)-(29,4) = "<=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -261,13 +262,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<= + │ └── flags: ∅ ├── @ CallNode (location: (31,0)-(31,7)) │ ├── receiver: │ │ @ IntegerNode (location: (31,0)-(31,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :<=> │ ├── message_loc: (31,2)-(31,5) = "<=>" │ ├── opening_loc: ∅ │ ├── arguments: @@ -278,13 +279,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<=> + │ └── flags: ∅ ├── @ CallNode (location: (33,0)-(33,6)) │ ├── receiver: │ │ @ IntegerNode (location: (33,0)-(33,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :== │ ├── message_loc: (33,2)-(33,4) = "==" │ ├── opening_loc: ∅ │ ├── arguments: @@ -295,13 +296,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :== + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,7)) │ ├── receiver: │ │ @ IntegerNode (location: (35,0)-(35,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :=== │ ├── message_loc: (35,2)-(35,5) = "===" │ ├── opening_loc: ∅ │ ├── arguments: @@ -312,13 +313,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=== + │ └── flags: ∅ ├── @ CallNode (location: (37,0)-(37,6)) │ ├── receiver: │ │ @ IntegerNode (location: (37,0)-(37,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :=~ │ ├── message_loc: (37,2)-(37,4) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -329,13 +330,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=~ + │ └── flags: ∅ ├── @ CallNode (location: (39,0)-(39,5)) │ ├── receiver: │ │ @ IntegerNode (location: (39,0)-(39,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :> │ ├── message_loc: (39,2)-(39,3) = ">" │ ├── opening_loc: ∅ │ ├── arguments: @@ -346,13 +347,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :> + │ └── flags: ∅ ├── @ CallNode (location: (41,0)-(41,6)) │ ├── receiver: │ │ @ IntegerNode (location: (41,0)-(41,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :>= │ ├── message_loc: (41,2)-(41,4) = ">=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -363,13 +364,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>= + │ └── flags: ∅ ├── @ CallNode (location: (43,0)-(43,6)) │ ├── receiver: │ │ @ IntegerNode (location: (43,0)-(43,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :>> │ ├── message_loc: (43,2)-(43,4) = ">>" │ ├── opening_loc: ∅ │ ├── arguments: @@ -380,13 +381,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>> + │ └── flags: ∅ ├── @ CallNode (location: (45,0)-(45,5)) │ ├── receiver: │ │ @ IntegerNode (location: (45,0)-(45,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :^ │ ├── message_loc: (45,2)-(45,3) = "^" │ ├── opening_loc: ∅ │ ├── arguments: @@ -397,13 +398,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :^ + │ └── flags: ∅ ├── @ CallNode (location: (47,0)-(47,5)) │ ├── receiver: │ │ @ IntegerNode (location: (47,0)-(47,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :| │ ├── message_loc: (47,2)-(47,3) = "|" │ ├── opening_loc: ∅ │ ├── arguments: @@ -414,8 +415,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :| + │ └── flags: ∅ ├── @ AndNode (location: (49,0)-(49,6)) │ ├── left: │ │ @ IntegerNode (location: (49,0)-(49,1)) @@ -437,6 +437,7 @@ │ │ @ IntegerNode (location: (53,0)-(53,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :* │ ├── message_loc: (53,2)-(53,3) = "*" │ ├── opening_loc: ∅ │ ├── arguments: @@ -447,6 +448,7 @@ │ │ │ │ @ IntegerNode (location: (53,4)-(53,5)) │ │ │ │ └── flags: decimal │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :** │ │ │ ├── message_loc: (53,6)-(53,8) = "**" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -457,13 +459,11 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :** + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ ├── @ CallNode (location: (55,0)-(55,9)) │ ├── receiver: │ │ @ CallNode (location: (55,0)-(55,5)) @@ -471,6 +471,7 @@ │ │ │ @ IntegerNode (location: (55,0)-(55,1)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :* │ │ ├── message_loc: (55,2)-(55,3) = "*" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -481,9 +482,9 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :* + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (55,6)-(55,7) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -494,8 +495,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ OrNode (location: (57,0)-(57,6)) │ ├── left: │ │ @ IntegerNode (location: (57,0)-(57,1)) @@ -517,6 +517,7 @@ │ │ @ IntegerNode (location: (61,0)-(61,1)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (61,2)-(61,3) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -527,6 +528,7 @@ │ │ │ │ @ IntegerNode (location: (61,4)-(61,5)) │ │ │ │ └── flags: decimal │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :* │ │ │ ├── message_loc: (61,6)-(61,7) = "*" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -537,13 +539,11 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :* + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ └── @ ParenthesesNode (location: (63,0)-(63,7)) ├── body: │ @ StatementsNode (location: (63,1)-(63,6)) @@ -553,6 +553,7 @@ │ │ @ IntegerNode (location: (63,1)-(63,2)) │ │ └── flags: decimal │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (63,3)-(63,4) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -563,7 +564,6 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── opening_loc: (63,0)-(63,1) = "(" └── closing_loc: (63,6)-(63,7) = ")" diff --git a/test/prism/snapshots/keyword_method_names.txt b/test/prism/snapshots/keyword_method_names.txt index a61cdb9019096c..0714fa3d4b961d 100644 --- a/test/prism/snapshots/keyword_method_names.txt +++ b/test/prism/snapshots/keyword_method_names.txt @@ -33,6 +33,7 @@ ├── @ CallNode (location: (7,0)-(10,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :private │ ├── message_loc: (7,0)-(7,7) = "private" │ ├── opening_loc: ∅ │ ├── arguments: @@ -49,6 +50,7 @@ │ │ │ │ └── @ CallNode (location: (8,2)-(9,5)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -60,8 +62,7 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do" │ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def" │ │ │ ├── operator_loc: ∅ @@ -72,8 +73,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :private + │ └── flags: ∅ ├── @ DefNode (location: (12,0)-(13,3)) │ ├── name: :m │ ├── name_loc: (12,4)-(12,5) = "m" diff --git a/test/prism/snapshots/lambda.txt b/test/prism/snapshots/lambda.txt index 270594d71474a5..8e358b2709a7f7 100644 --- a/test/prism/snapshots/lambda.txt +++ b/test/prism/snapshots/lambda.txt @@ -60,13 +60,13 @@ │ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ ├── message_loc: (5,10)-(5,11) = "a" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :a + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── closing_loc: (5,11)-(5,12) = "}" │ │ │ │ └── closing_loc: (5,12)-(5,13) = "\"" │ │ │ ├── keyword_rest: ∅ @@ -98,14 +98,15 @@ │ │ │ │ │ @ CallNode (location: (7,6)-(7,7)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :b │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "b" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :b + │ │ │ │ │ └── flags: variable_call │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :* │ │ │ │ ├── message_loc: (7,8)-(7,9) = "*" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: @@ -116,8 +117,7 @@ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :* + │ │ │ │ └── flags: ∅ │ │ │ ├── keyword_rest: ∅ │ │ │ └── block: ∅ │ │ ├── locals: (length: 0) @@ -143,13 +143,13 @@ │ │ │ │ @ CallNode (location: (9,9)-(9,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (9,9)-(9,12) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -180,13 +180,13 @@ │ │ │ @ CallNode (location: (11,8)-(11,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (11,8)-(11,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ │ ├── locals: (length: 0) diff --git a/test/prism/snapshots/method_calls.txt b/test/prism/snapshots/method_calls.txt index 6b339f51515bfc..57c233fb51b65d 100644 --- a/test/prism/snapshots/method_calls.txt +++ b/test/prism/snapshots/method_calls.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :bar │ ├── message_loc: (1,4)-(1,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: @@ -30,21 +31,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :bar + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,9)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (3,0)-(3,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,1)-(3,2) = "." + │ ├── name: :b │ ├── message_loc: (3,2)-(3,3) = "b" │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: @@ -53,48 +54,47 @@ │ │ │ ├── @ CallNode (location: (3,4)-(3,5)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :c + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (3,7)-(3,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (3,7)-(3,8) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (3,8)-(3,9) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,5)) │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (5,0)-(5,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (5,1)-(5,2) = "." + │ ├── name: :b │ ├── message_loc: (5,2)-(5,3) = "b" │ ├── opening_loc: (5,3)-(5,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (5,4)-(5,5) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(9,7)) │ ├── receiver: │ │ @ CallNode (location: (7,0)-(8,6)) @@ -102,72 +102,73 @@ │ │ │ @ CallNode (location: (7,0)-(7,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (7,0)-(7,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (8,2)-(8,3) = "." + │ │ ├── name: :bar │ │ ├── message_loc: (8,3)-(8,6) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :bar + │ │ └── flags: ∅ │ ├── call_operator_loc: (9,2)-(9,4) = "&." + │ ├── name: :baz │ ├── message_loc: (9,4)-(9,7) = "baz" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :baz + │ └── flags: safe_navigation ├── @ CallNode (location: (11,0)-(11,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a! │ ├── message_loc: (11,0)-(11,2) = "a!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a! + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,4)) │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (13,0)-(13,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (13,1)-(13,2) = "." + │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (13,2)-(13,3) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (13,3)-(13,4) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :call + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,11)) │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (15,0)-(15,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (15,1)-(15,2) = "." + │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (15,2)-(15,3) = "(" │ ├── arguments: @@ -182,41 +183,41 @@ │ │ └── flags: ∅ │ ├── closing_loc: (15,10)-(15,11) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :call + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,4)) │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (17,0)-(17,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (17,1)-(17,3) = "::" + │ ├── name: :b │ ├── message_loc: (17,3)-(17,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,6)) │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (19,0)-(19,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (19,1)-(19,3) = "::" + │ ├── name: :b │ ├── message_loc: (19,3)-(19,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -225,31 +226,31 @@ │ │ │ └── @ CallNode (location: (19,5)-(19,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (19,5)-(19,6) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,11)) │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (21,0)-(21,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (21,3)-(21,4) = "." + │ ├── name: :bar= │ ├── message_loc: (21,4)-(21,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: @@ -260,21 +261,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :bar= + │ └── flags: ∅ ├── @ CallNode (location: (23,0)-(23,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a? │ ├── message_loc: (23,0)-(23,2) = "a?" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a? + │ └── flags: ∅ ├── @ CallNode (location: (25,0)-(25,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (25,0)-(25,1) = "a" │ ├── opening_loc: (25,1)-(25,2) = "(" │ ├── arguments: ∅ @@ -285,19 +286,19 @@ │ │ │ @ CallNode (location: (25,3)-(25,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :block │ │ │ ├── message_loc: (25,3)-(25,8) = "block" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :block + │ │ │ └── flags: variable_call │ │ └── operator_loc: (25,2)-(25,3) = "&" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(27,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (27,0)-(27,1) = "a" │ ├── opening_loc: (27,1)-(27,2) = "(" │ ├── arguments: @@ -310,19 +311,18 @@ │ │ │ │ @ CallNode (location: (27,4)-(27,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :kwargs │ │ │ │ ├── message_loc: (27,4)-(27,10) = "kwargs" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :kwargs + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (27,2)-(27,4) = "**" - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: (27,10)-(27,11) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (29,0)-(29,5)) │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) @@ -330,32 +330,33 @@ │ │ │ @ CallNode (location: (29,0)-(29,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (29,0)-(29,1) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (29,1)-(29,2) = "." + │ │ ├── name: :b │ │ ├── message_loc: (29,2)-(29,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── call_operator_loc: (29,3)-(29,4) = "." + │ ├── name: :c │ ├── message_loc: (29,4)-(29,5) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :c + │ └── flags: ∅ ├── @ CallNode (location: (31,0)-(31,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (31,0)-(31,1) = "a" │ ├── opening_loc: (31,1)-(31,2) = "(" │ ├── arguments: @@ -364,41 +365,41 @@ │ │ │ ├── @ CallNode (location: (31,2)-(31,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (31,5)-(31,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (31,5)-(31,6) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (31,6)-(31,7) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (33,0)-(33,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (33,0)-(33,1) = "a" │ ├── opening_loc: (33,1)-(33,2) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (33,2)-(33,3) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (35,0)-(35,1) = "a" │ ├── opening_loc: (35,1)-(35,2) = "(" │ ├── arguments: @@ -410,21 +411,21 @@ │ │ │ @ CallNode (location: (35,3)-(35,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :args │ │ │ ├── message_loc: (35,3)-(35,7) = "args" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :args + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (35,7)-(35,8) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (37,0)-(37,6)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (37,0)-(37,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -433,41 +434,41 @@ │ │ │ ├── @ CallNode (location: (37,2)-(37,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (37,5)-(37,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (37,5)-(37,6) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (39,0)-(39,8)) │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (39,0)-(39,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (39,1)-(39,2) = "." + │ ├── name: :b │ ├── message_loc: (39,2)-(39,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -476,28 +477,27 @@ │ │ │ ├── @ CallNode (location: (39,4)-(39,5)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :c │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :c + │ │ │ │ └── flags: variable_call │ │ │ └── @ CallNode (location: (39,7)-(39,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (39,7)-(39,8) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,23)) │ ├── lefts: (length: 2) │ │ ├── @ CallNode (location: (41,0)-(41,7)) @@ -505,41 +505,41 @@ │ │ │ │ @ CallNode (location: (41,0)-(41,3)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (41,0)-(41,3) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: (41,3)-(41,4) = "." + │ │ │ ├── name: :foo= │ │ │ ├── message_loc: (41,4)-(41,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :foo= + │ │ │ └── flags: ∅ │ │ └── @ CallNode (location: (41,9)-(41,16)) │ │ ├── receiver: │ │ │ @ CallNode (location: (41,9)-(41,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (41,9)-(41,12) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (41,12)-(41,13) = "." + │ │ ├── name: :bar= │ │ ├── message_loc: (41,13)-(41,16) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :bar= + │ │ └── flags: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -553,60 +553,62 @@ │ │ └── @ IntegerNode (location: (41,22)-(41,23)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: ∅ ├── @ CallNode (location: (43,0)-(43,4)) │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (43,0)-(43,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (43,1)-(43,3) = "&." + │ ├── name: :b │ ├── message_loc: (43,3)-(43,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :b + │ └── flags: safe_navigation ├── @ CallNode (location: (45,0)-(45,5)) │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (45,0)-(45,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (45,1)-(45,3) = "&." + │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (45,3)-(45,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (45,4)-(45,5) = ")" │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :call + │ └── flags: safe_navigation ├── @ CallNode (location: (47,0)-(47,7)) │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (47,0)-(47,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (47,1)-(47,3) = "&." + │ ├── name: :b │ ├── message_loc: (47,3)-(47,4) = "b" │ ├── opening_loc: (47,4)-(47,5) = "(" │ ├── arguments: @@ -615,38 +617,37 @@ │ │ │ └── @ CallNode (location: (47,5)-(47,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (47,5)-(47,6) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (47,6)-(47,7) = ")" │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :b + │ └── flags: safe_navigation ├── @ CallNode (location: (49,0)-(49,6)) │ ├── receiver: │ │ @ CallNode (location: (49,0)-(49,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (49,0)-(49,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (49,1)-(49,3) = "&." + │ ├── name: :b │ ├── message_loc: (49,3)-(49,4) = "b" │ ├── opening_loc: (49,4)-(49,5) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (49,5)-(49,6) = ")" │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :b + │ └── flags: safe_navigation ├── @ IfNode (location: (51,0)-(51,33)) │ ├── if_keyword_loc: (51,11)-(51,13) = "if" │ ├── predicate: @@ -657,36 +658,36 @@ │ │ │ │ @ CallNode (location: (51,14)-(51,18)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar? │ │ │ │ ├── message_loc: (51,14)-(51,18) = "bar?" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :bar? + │ │ │ │ └── flags: ∅ │ │ │ ├── right: │ │ │ │ @ CallNode (location: (51,22)-(51,25)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (51,22)-(51,25) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (51,19)-(51,21) = "or" │ │ ├── right: │ │ │ @ CallNode (location: (51,30)-(51,33)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :qux │ │ │ ├── message_loc: (51,30)-(51,33) = "qux" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :qux + │ │ │ └── flags: variable_call │ │ └── operator_loc: (51,26)-(51,29) = "and" │ ├── then_keyword_loc: ∅ │ ├── statements: @@ -695,6 +696,7 @@ │ │ └── @ CallNode (location: (51,0)-(51,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (51,0)-(51,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -713,13 +715,13 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (53,0)-(56,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (53,0)-(53,3) = "foo" │ ├── opening_loc: (53,3)-(53,4) = "(" │ ├── arguments: @@ -738,11 +740,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (56,0)-(56,1) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (58,0)-(58,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (58,0)-(58,3) = "foo" │ ├── opening_loc: (58,3)-(58,4) = "(" │ ├── arguments: @@ -754,21 +756,21 @@ │ │ │ @ CallNode (location: (58,5)-(58,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :rest │ │ │ ├── message_loc: (58,5)-(58,9) = "rest" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :rest + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (58,9)-(58,10) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (60,0)-(60,39)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (60,0)-(60,3) = "foo" │ ├── opening_loc: (60,3)-(60,4) = "(" │ ├── arguments: @@ -802,7 +804,8 @@ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: "y" │ │ │ │ │ ├── opening_loc: (60,14)-(60,15) = "[" - │ │ │ │ │ └── closing_loc: (60,21)-(60,22) = "]" + │ │ │ │ │ ├── closing_loc: (60,21)-(60,22) = "]" + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── operator_loc: (60,11)-(60,13) = "=>" │ │ │ └── @ AssocNode (location: (60,24)-(60,32)) │ │ │ ├── key: @@ -829,11 +832,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "bar" │ │ └── operator_loc: (60,34)-(60,35) = "&" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (62,0)-(62,49)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :hi │ ├── message_loc: (62,0)-(62,2) = "hi" │ ├── opening_loc: ∅ │ ├── arguments: @@ -883,11 +886,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :hi + │ └── flags: ∅ ├── @ CallNode (location: (64,0)-(64,36)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (64,0)-(64,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -939,6 +942,7 @@ │ │ │ └── @ CallNode (location: (64,26)-(64,32)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :puts │ │ │ ├── message_loc: (64,26)-(64,30) = "puts" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -950,15 +954,14 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :puts + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (64,16)-(64,18) = "do" │ │ └── closing_loc: (64,33)-(64,36) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (66,0)-(66,17)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :hi │ ├── message_loc: (66,0)-(66,2) = "hi" │ ├── opening_loc: ∅ │ ├── arguments: @@ -983,11 +986,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :hi + │ └── flags: ∅ ├── @ CallNode (location: (68,0)-(68,40)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :hi │ ├── message_loc: (68,0)-(68,2) = "hi" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1030,14 +1033,14 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "dog" │ │ │ └── operator_loc: ∅ - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :hi + │ └── flags: ∅ ├── @ CallNode (location: (70,0)-(70,41)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :hi │ ├── message_loc: (70,0)-(70,2) = "hi" │ ├── opening_loc: (70,2)-(70,3) = "(" │ ├── arguments: @@ -1080,14 +1083,14 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "dog" │ │ │ └── operator_loc: ∅ - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: (70,40)-(70,41) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :hi + │ └── flags: ∅ ├── @ CallNode (location: (72,0)-(72,35)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (72,0)-(72,3) = "foo" │ ├── opening_loc: (72,3)-(72,4) = "(" │ ├── arguments: @@ -1128,11 +1131,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "block" │ │ └── operator_loc: (72,28)-(72,29) = "&" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (74,0)-(74,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :hi │ ├── message_loc: (74,0)-(74,2) = "hi" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1157,11 +1160,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :hi + │ └── flags: ∅ ├── @ CallNode (location: (76,0)-(78,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (76,0)-(76,3) = "foo" │ ├── opening_loc: (76,3)-(76,4) = "(" │ ├── arguments: @@ -1180,11 +1183,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (78,0)-(78,1) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (80,0)-(83,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (80,0)-(80,3) = "foo" │ ├── opening_loc: (80,3)-(80,4) = "(" │ ├── arguments: @@ -1214,11 +1217,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (83,0)-(83,1) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (85,0)-(85,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (85,0)-(85,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -1232,11 +1235,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "block" │ │ └── operator_loc: (85,4)-(85,5) = "&" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (87,0)-(87,30)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (87,0)-(87,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1275,11 +1278,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "block" │ │ └── operator_loc: (87,23)-(87,24) = "&" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (89,0)-(89,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :some_func │ ├── message_loc: (89,0)-(89,9) = "some_func" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1303,13 +1306,13 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :some_func + │ └── flags: ∅ ├── @ CallNode (location: (91,0)-(91,18)) │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,6)) │ │ └── name: :Kernel │ ├── call_operator_loc: (91,6)-(91,7) = "." + │ ├── name: :Integer │ ├── message_loc: (91,7)-(91,14) = "Integer" │ ├── opening_loc: (91,14)-(91,15) = "(" │ ├── arguments: @@ -1320,21 +1323,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: (91,17)-(91,18) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Integer + │ └── flags: ∅ ├── @ CallNode (location: (93,0)-(93,10)) │ ├── receiver: │ │ @ CallNode (location: (93,0)-(93,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :x │ │ ├── message_loc: (93,0)-(93,1) = "x" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :x + │ │ └── flags: variable_call │ ├── call_operator_loc: (93,1)-(93,2) = "." + │ ├── name: :each │ ├── message_loc: (93,2)-(93,6) = "each" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -1346,21 +1349,21 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (93,7)-(93,8) = "{" │ │ └── closing_loc: (93,9)-(93,10) = "}" - │ ├── flags: ∅ - │ └── name: :each + │ └── flags: ∅ ├── @ CallNode (location: (95,0)-(95,14)) │ ├── receiver: │ │ @ CallNode (location: (95,0)-(95,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (95,0)-(95,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (95,3)-(95,4) = "." + │ ├── name: :map │ ├── message_loc: (95,4)-(95,7) = "map" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -1376,8 +1379,7 @@ │ │ │ └── name: :$& │ │ ├── opening_loc: (95,8)-(95,9) = "{" │ │ └── closing_loc: (95,13)-(95,14) = "}" - │ ├── flags: ∅ - │ └── name: :map + │ └── flags: ∅ ├── @ CallNode (location: (97,0)-(97,12)) │ ├── receiver: │ │ @ ConstantPathNode (location: (97,0)-(97,4)) @@ -1389,6 +1391,7 @@ │ │ │ └── name: :B │ │ └── delimiter_loc: (97,1)-(97,3) = "::" │ ├── call_operator_loc: (97,4)-(97,6) = "::" + │ ├── name: :C │ ├── message_loc: (97,6)-(97,7) = "C" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1402,8 +1405,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :C + │ └── flags: ∅ ├── @ CallNode (location: (99,0)-(99,13)) │ ├── receiver: │ │ @ ConstantPathNode (location: (99,0)-(99,4)) @@ -1415,6 +1417,7 @@ │ │ │ └── name: :B │ │ └── delimiter_loc: (99,1)-(99,3) = "::" │ ├── call_operator_loc: (99,4)-(99,6) = "::" + │ ├── name: :C │ ├── message_loc: (99,6)-(99,7) = "C" │ ├── opening_loc: (99,7)-(99,8) = "(" │ ├── arguments: @@ -1428,8 +1431,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (99,12)-(99,13) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :C + │ └── flags: ∅ ├── @ CallNode (location: (101,0)-(101,17)) │ ├── receiver: │ │ @ ConstantPathNode (location: (101,0)-(101,4)) @@ -1441,6 +1443,7 @@ │ │ │ └── name: :B │ │ └── delimiter_loc: (101,1)-(101,3) = "::" │ ├── call_operator_loc: (101,4)-(101,6) = "::" + │ ├── name: :C │ ├── message_loc: (101,6)-(101,7) = "C" │ ├── opening_loc: (101,7)-(101,8) = "(" │ ├── arguments: @@ -1460,11 +1463,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (101,14)-(101,15) = "{" │ │ └── closing_loc: (101,16)-(101,17) = "}" - │ ├── flags: ∅ - │ └── name: :C + │ └── flags: ∅ ├── @ CallNode (location: (103,0)-(103,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (103,0)-(103,3) = "foo" │ ├── opening_loc: (103,3)-(103,4) = "(" │ ├── arguments: @@ -1486,11 +1489,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (103,11)-(103,12) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (105,0)-(105,28)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (105,0)-(105,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1520,6 +1523,7 @@ │ │ │ │ │ │ @ CallNode (location: (105,16)-(105,26)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :qux │ │ │ │ │ │ ├── message_loc: (105,16)-(105,19) = "qux" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ @@ -1531,19 +1535,18 @@ │ │ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ │ │ ├── opening_loc: (105,20)-(105,22) = "do" │ │ │ │ │ │ │ └── closing_loc: (105,23)-(105,26) = "end" - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :qux + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── operator_loc: ∅ │ │ │ │ └── closing_loc: (105,27)-(105,28) = "}" │ │ │ └── operator_loc: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (107,0)-(107,24)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (107,0)-(107,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1567,6 +1570,7 @@ │ │ │ │ │ │ @ CallNode (location: (107,13)-(107,22)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :kw │ │ │ │ │ │ ├── message_loc: (107,13)-(107,15) = "kw" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ @@ -1578,19 +1582,18 @@ │ │ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ │ │ ├── opening_loc: (107,16)-(107,18) = "do" │ │ │ │ │ │ │ └── closing_loc: (107,19)-(107,22) = "end" - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :kw + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── operator_loc: (107,11)-(107,13) = "**" │ │ │ │ └── closing_loc: (107,23)-(107,24) = "}" │ │ │ └── operator_loc: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (109,0)-(109,36)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (109,0)-(109,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1609,14 +1612,15 @@ │ │ │ │ │ │ @ CallNode (location: (109,7)-(109,10)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :bar │ │ │ │ │ │ ├── message_loc: (109,7)-(109,10) = "bar" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :bar + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ ├── call_operator_loc: (109,10)-(109,11) = "." + │ │ │ │ │ ├── name: :map │ │ │ │ │ ├── message_loc: (109,11)-(109,14) = "map" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ @@ -1636,8 +1640,7 @@ │ │ │ │ │ │ │ └── unescaped: "baz" │ │ │ │ │ │ ├── opening_loc: (109,15)-(109,17) = "do" │ │ │ │ │ │ └── closing_loc: (109,24)-(109,27) = "end" - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :map + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── closing_loc: (109,27)-(109,28) = "}" │ │ │ └── closing_loc: (109,28)-(109,29) = "\"" │ │ └── flags: ∅ @@ -1649,11 +1652,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (109,30)-(109,32) = "do" │ │ └── closing_loc: (109,33)-(109,36) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (111,0)-(111,28)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (111,0)-(111,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1673,6 +1676,7 @@ │ │ │ │ └── @ CallNode (location: (111,14)-(111,24)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (111,14)-(111,17) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1684,18 +1688,17 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (111,18)-(111,20) = "do" │ │ │ │ │ └── closing_loc: (111,21)-(111,24) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: ∅ │ │ │ ├── end_keyword_loc: (111,25)-(111,28) = "end" │ │ │ └── name: :Bar │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (113,0)-(113,29)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (113,0)-(113,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1713,6 +1716,7 @@ │ │ │ │ └── @ CallNode (location: (113,15)-(113,25)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (113,15)-(113,18) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1724,18 +1728,17 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (113,19)-(113,21) = "do" │ │ │ │ │ └── closing_loc: (113,22)-(113,25) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: ∅ │ │ │ ├── end_keyword_loc: (113,26)-(113,29) = "end" │ │ │ └── name: :Bar │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (115,0)-(115,16)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (115,0)-(115,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1746,6 +1749,7 @@ │ │ │ │ └── @ CallNode (location: (115,5)-(115,15)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (115,5)-(115,8) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1757,18 +1761,18 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (115,9)-(115,11) = "do" │ │ │ │ │ └── closing_loc: (115,12)-(115,15) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: ∅ │ │ │ ├── opening_loc: (115,4)-(115,5) = "[" - │ │ │ └── closing_loc: (115,15)-(115,16) = "]" + │ │ │ ├── closing_loc: (115,15)-(115,16) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (117,0)-(117,28)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :p │ ├── message_loc: (117,0)-(117,1) = "p" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1784,6 +1788,7 @@ │ │ │ │ │ @ IntegerNode (location: (117,8)-(117,9)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "." + │ │ │ │ ├── name: :times │ │ │ │ ├── message_loc: (117,10)-(117,15) = "times" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1799,8 +1804,7 @@ │ │ │ │ │ │ └── flags: decimal │ │ │ │ │ ├── opening_loc: (117,16)-(117,18) = "do" │ │ │ │ │ └── closing_loc: (117,21)-(117,24) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :times + │ │ │ │ └── flags: ∅ │ │ │ ├── rescue_clause: ∅ │ │ │ ├── else_clause: ∅ │ │ │ ├── ensure_clause: ∅ @@ -1808,11 +1812,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :p + │ └── flags: ∅ ├── @ CallNode (location: (119,0)-(124,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (119,0)-(119,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1829,13 +1833,13 @@ │ │ │ │ @ CallNode (location: (120,5)-(120,6)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :x │ │ │ │ ├── message_loc: (120,5)-(120,6) = "x" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :x + │ │ │ │ └── flags: variable_call │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (121,4)-(123,7)) @@ -1843,6 +1847,7 @@ │ │ │ │ └── @ CallNode (location: (121,4)-(123,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (121,4)-(121,7) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1874,18 +1879,17 @@ │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ ├── opening_loc: (121,8)-(121,10) = "do" │ │ │ │ │ └── closing_loc: (123,4)-(123,7) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: ∅ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: (124,2)-(124,5) = "end" │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (126,0)-(135,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (126,0)-(126,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1903,19 +1907,20 @@ │ │ │ │ │ @ CallNode (location: (127,8)-(127,9)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :x │ │ │ │ │ ├── message_loc: (127,8)-(127,9) = "x" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :x + │ │ │ │ │ └── flags: variable_call │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (128,4)-(130,7)) │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (128,4)-(130,7)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (128,4)-(128,7) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ @@ -1947,8 +1952,7 @@ │ │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ │ ├── opening_loc: (128,8)-(128,10) = "do" │ │ │ │ │ │ └── closing_loc: (130,4)-(130,7) = "end" - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── flags: ∅ │ │ │ └── @ UntilNode (location: (132,2)-(135,5)) │ │ │ ├── keyword_loc: (132,2)-(132,7) = "until" @@ -1957,19 +1961,20 @@ │ │ │ │ @ CallNode (location: (132,8)-(132,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :x │ │ │ │ ├── message_loc: (132,8)-(132,9) = "x" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :x + │ │ │ │ └── flags: variable_call │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (133,4)-(134,7)) │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (133,4)-(134,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :baz │ │ │ │ ├── message_loc: (133,4)-(133,7) = "baz" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1981,14 +1986,12 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (133,8)-(133,10) = "do" │ │ │ │ │ └── closing_loc: (134,4)-(134,7) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :baz + │ │ │ │ └── flags: ∅ │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ CallNode (location: (137,0)-(137,9)) │ ├── receiver: │ │ @ HashNode (location: (137,0)-(137,2)) @@ -1996,6 +1999,7 @@ │ │ ├── elements: (length: 0) │ │ └── closing_loc: (137,1)-(137,2) = "}" │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (137,3)-(137,4) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -2004,6 +2008,7 @@ │ │ │ └── @ CallNode (location: (137,5)-(137,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :A │ │ │ ├── message_loc: (137,5)-(137,6) = "A" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -2015,13 +2020,11 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (137,7)-(137,8) = "{" │ │ │ │ └── closing_loc: (137,8)-(137,9) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :A + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (139,0)-(139,16)) │ ├── receiver: │ │ @ HashNode (location: (139,0)-(139,2)) @@ -2029,6 +2032,7 @@ │ │ ├── elements: (length: 0) │ │ └── closing_loc: (139,1)-(139,2) = "}" │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (139,3)-(139,4) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -2037,6 +2041,7 @@ │ │ │ └── @ CallNode (location: (139,5)-(139,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :A │ │ │ ├── message_loc: (139,5)-(139,6) = "A" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -2068,18 +2073,17 @@ │ │ │ │ │ └── depth: 0 │ │ │ │ ├── opening_loc: (139,7)-(139,8) = "{" │ │ │ │ └── closing_loc: (139,15)-(139,16) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :A + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (141,0)-(141,11)) │ ├── receiver: │ │ @ CallNode (location: (141,0)-(141,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :A │ │ ├── message_loc: (141,0)-(141,1) = "A" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -2091,9 +2095,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (141,2)-(141,3) = "{" │ │ │ └── closing_loc: (141,3)-(141,4) = "}" - │ │ ├── flags: ∅ - │ │ └── name: :A + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (141,5)-(141,6) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -2102,6 +2106,7 @@ │ │ │ └── @ CallNode (location: (141,7)-(141,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :A │ │ │ ├── message_loc: (141,7)-(141,8) = "A" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -2113,26 +2118,25 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (141,9)-(141,10) = "{" │ │ │ │ └── closing_loc: (141,10)-(141,11) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :A + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (143,0)-(143,11)) │ ├── receiver: │ │ @ CallNode (location: (143,0)-(143,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :lst │ │ ├── message_loc: (143,0)-(143,3) = "lst" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :lst + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :<< │ ├── message_loc: (143,4)-(143,6) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -2141,6 +2145,7 @@ │ │ │ └── @ CallNode (location: (143,7)-(143,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :A │ │ │ ├── message_loc: (143,7)-(143,8) = "A" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -2152,13 +2157,11 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (143,9)-(143,10) = "{" │ │ │ │ └── closing_loc: (143,10)-(143,11) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :A + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ InterpolatedStringNode (location: (145,0)-(145,17)) │ ├── opening_loc: (145,0)-(145,1) = "\"" │ ├── parts: (length: 1) @@ -2170,6 +2173,7 @@ │ │ │ └── @ CallNode (location: (145,4)-(145,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :join │ │ │ ├── message_loc: (145,4)-(145,8) = "join" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -2190,8 +2194,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :join + │ │ │ └── flags: ∅ │ │ └── closing_loc: (145,15)-(145,16) = "}" │ └── closing_loc: (145,16)-(145,17) = "\"" ├── @ InterpolatedStringNode (location: (147,0)-(147,8)) @@ -2209,13 +2212,13 @@ │ │ │ │ └── @ CallNode (location: (147,4)-(147,5)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :v │ │ │ │ ├── message_loc: (147,4)-(147,5) = "v" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :v + │ │ │ │ └── flags: variable_call │ │ │ ├── opening_loc: (147,3)-(147,4) = "(" │ │ │ └── closing_loc: (147,5)-(147,6) = ")" │ │ └── closing_loc: (147,6)-(147,7) = "}" @@ -2243,6 +2246,7 @@ │ └── @ CallNode (location: (149,10)-(149,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :p │ ├── message_loc: (149,10)-(149,11) = "p" │ ├── opening_loc: ∅ │ ├── arguments: @@ -2254,8 +2258,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :p + │ └── flags: ∅ ├── locals: [:*] ├── def_keyword_loc: (149,0)-(149,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/methods.txt b/test/prism/snapshots/methods.txt index ce23a2824896e5..08fc370018b712 100644 --- a/test/prism/snapshots/methods.txt +++ b/test/prism/snapshots/methods.txt @@ -1,8 +1,8 @@ -@ ProgramNode (location: (1,0)-(170,18)) +@ ProgramNode (location: (1,0)-(182,3)) ├── locals: [:a, :c, :foo] └── statements: - @ StatementsNode (location: (1,0)-(170,18)) - └── body: (length: 63) + @ StatementsNode (location: (1,0)-(182,3)) + └── body: (length: 68) ├── @ DefNode (location: (1,0)-(2,3)) │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" @@ -115,13 +115,13 @@ │ │ │ @ CallNode (location: (10,5)-(10,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (10,5)-(10,6) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (10,4)-(10,5) = "(" │ │ └── closing_loc: (10,6)-(10,7) = ")" │ ├── parameters: ∅ @@ -142,13 +142,13 @@ │ │ │ @ CallNode (location: (13,5)-(13,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (13,5)-(13,6) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (13,4)-(13,5) = "(" │ │ └── closing_loc: (13,6)-(13,7) = ")" │ ├── parameters: ∅ @@ -218,13 +218,13 @@ │ │ @ CallNode (location: (25,4)-(25,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (25,4)-(25,5) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -903,6 +903,7 @@ │ │ └── @ CallNode (location: (110,10)-(110,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (110,10)-(110,11) = "b" │ │ ├── opening_loc: (110,11)-(110,12) = "(" │ │ ├── arguments: @@ -914,8 +915,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (110,13)-(110,14) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── locals: [:*] │ ├── def_keyword_loc: (110,0)-(110,3) = "def" │ ├── operator_loc: ∅ @@ -943,6 +943,7 @@ │ │ └── @ CallNode (location: (112,12)-(112,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (112,12)-(112,13) = "b" │ │ ├── opening_loc: (112,13)-(112,14) = "(" │ │ ├── arguments: @@ -952,8 +953,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (112,17)-(112,18) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── locals: [:"..."] │ ├── def_keyword_loc: (112,0)-(112,3) = "def" │ ├── operator_loc: ∅ @@ -981,6 +981,7 @@ │ │ └── @ CallNode (location: (114,12)-(114,24)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (114,12)-(114,13) = "b" │ │ ├── opening_loc: (114,13)-(114,14) = "(" │ │ ├── arguments: @@ -994,8 +995,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (114,23)-(114,24) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── locals: [:"..."] │ ├── def_keyword_loc: (114,0)-(114,3) = "def" │ ├── operator_loc: ∅ @@ -1017,13 +1017,13 @@ │ │ │ │ @ CallNode (location: (116,9)-(116,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (116,9)-(116,10) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (116,7)-(116,8) = "=" │ │ ├── opening_loc: (116,4)-(116,5) = "(" │ │ └── closing_loc: (116,10)-(116,11) = ")" @@ -1115,13 +1115,13 @@ │ │ │ │ @ CallNode (location: (128,9)-(128,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (128,9)-(128,10) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── operator_loc: (128,7)-(128,8) = "=" │ │ ├── opening_loc: (128,4)-(128,5) = "(" │ │ └── closing_loc: (128,10)-(128,11) = ")" @@ -1204,6 +1204,7 @@ │ │ │ │ └── @ CallNode (location: (136,18)-(136,24)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (136,18)-(136,19) = "b" │ │ │ │ ├── opening_loc: (136,19)-(136,20) = "(" │ │ │ │ ├── arguments: @@ -1213,8 +1214,7 @@ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── closing_loc: (136,24)-(136,25) = "}" │ │ └── closing_loc: (136,25)-(136,26) = "\"" │ ├── locals: [:"..."] @@ -1239,6 +1239,7 @@ │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (139,3)-(139,4) = "}" │ │ ├── call_operator_loc: (139,4)-(139,5) = "." + │ │ ├── name: :merge │ │ ├── message_loc: (139,5)-(139,10) = "merge" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -1251,45 +1252,44 @@ │ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :bar │ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :bar + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**" │ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23)) │ │ │ │ │ ├── value: │ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :baz │ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :baz + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**" │ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30)) │ │ │ │ ├── value: │ │ │ │ │ @ CallNode (location: (139,27)-(139,30)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :qux │ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :qux + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── operator_loc: (139,25)-(139,27) = "**" - │ │ │ └── flags: keyword_splat + │ │ │ └── flags: contains_keyword_splat │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :merge + │ │ └── flags: ∅ │ ├── locals: [] │ ├── def_keyword_loc: (138,0)-(138,3) = "def" │ ├── operator_loc: ∅ @@ -1555,14 +1555,15 @@ │ │ │ @ CallNode (location: (161,2)-(161,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :item │ │ │ ├── message_loc: (161,2)-(161,6) = "item" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :item + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :>> │ │ ├── message_loc: (161,7)-(161,9) = ">>" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -1571,6 +1572,7 @@ │ │ │ │ └── @ CallNode (location: (161,10)-(161,14)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (161,10)-(161,11) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1582,13 +1584,11 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{" │ │ │ │ │ └── closing_loc: (161,13)-(161,14) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :a + │ │ │ │ └── flags: ∅ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :>> + │ │ └── flags: ∅ │ ├── locals: [:a] │ ├── def_keyword_loc: (160,0)-(160,3) = "def" │ ├── operator_loc: ∅ @@ -1649,37 +1649,241 @@ │ ├── rparen_loc: ∅ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (168,13)-(168,16) = "end" - └── @ DefNode (location: (170,0)-(170,18)) - ├── name: :f - ├── name_loc: (170,4)-(170,5) = "f" + ├── @ DefNode (location: (170,0)-(170,18)) + │ ├── name: :f + │ ├── name_loc: (170,4)-(170,5) = "f" + │ ├── receiver: ∅ + │ ├── parameters: + │ │ @ ParametersNode (location: (170,6)-(170,7)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: + │ │ │ @ RestParameterNode (location: (170,6)-(170,7)) + │ │ │ ├── name: ∅ + │ │ │ ├── name_loc: ∅ + │ │ │ └── operator_loc: (170,6)-(170,7) = "*" + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 0) + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (170,10)-(170,13)) + │ │ └── body: (length: 1) + │ │ └── @ ArrayNode (location: (170,10)-(170,13)) + │ │ ├── elements: (length: 1) + │ │ │ └── @ SplatNode (location: (170,11)-(170,12)) + │ │ │ ├── operator_loc: (170,11)-(170,12) = "*" + │ │ │ └── expression: ∅ + │ │ ├── opening_loc: (170,10)-(170,11) = "[" + │ │ ├── closing_loc: (170,12)-(170,13) = "]" + │ │ └── flags: contains_splat + │ ├── locals: [:*] + │ ├── def_keyword_loc: (170,0)-(170,3) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: (170,5)-(170,6) = "(" + │ ├── rparen_loc: (170,7)-(170,8) = ")" + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (170,15)-(170,18) = "end" + ├── @ DefNode (location: (172,0)-(172,15)) + │ ├── name: :f + │ ├── name_loc: (172,4)-(172,5) = "f" + │ ├── receiver: ∅ + │ ├── parameters: + │ │ @ ParametersNode (location: (172,6)-(172,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (172,6)-(172,10)) + │ │ │ ├── name: :x + │ │ │ ├── name_loc: (172,6)-(172,8) = "x:" + │ │ │ └── value: + │ │ │ @ CallNode (location: (172,8)-(172,10)) + │ │ │ ├── receiver: + │ │ │ │ @ CallNode (location: (172,9)-(172,10)) + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a + │ │ │ │ ├── message_loc: (172,9)-(172,10) = "a" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ ├── block: ∅ + │ │ │ │ └── flags: variable_call + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :-@ + │ │ │ ├── message_loc: (172,8)-(172,9) = "-" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ ├── block: ∅ + │ │ │ └── flags: ∅ + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── body: ∅ + │ ├── locals: [:x] + │ ├── def_keyword_loc: (172,0)-(172,3) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (172,12)-(172,15) = "end" + ├── @ DefNode (location: (174,0)-(174,15)) + │ ├── name: :f + │ ├── name_loc: (174,4)-(174,5) = "f" + │ ├── receiver: ∅ + │ ├── parameters: + │ │ @ ParametersNode (location: (174,6)-(174,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (174,6)-(174,10)) + │ │ │ ├── name: :x + │ │ │ ├── name_loc: (174,6)-(174,8) = "x:" + │ │ │ └── value: + │ │ │ @ CallNode (location: (174,8)-(174,10)) + │ │ │ ├── receiver: + │ │ │ │ @ CallNode (location: (174,9)-(174,10)) + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a + │ │ │ │ ├── message_loc: (174,9)-(174,10) = "a" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ ├── block: ∅ + │ │ │ │ └── flags: variable_call + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+@ + │ │ │ ├── message_loc: (174,8)-(174,9) = "+" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ ├── block: ∅ + │ │ │ └── flags: ∅ + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── body: ∅ + │ ├── locals: [:x] + │ ├── def_keyword_loc: (174,0)-(174,3) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (174,12)-(174,15) = "end" + ├── @ DefNode (location: (176,0)-(176,15)) + │ ├── name: :f + │ ├── name_loc: (176,4)-(176,5) = "f" + │ ├── receiver: ∅ + │ ├── parameters: + │ │ @ ParametersNode (location: (176,6)-(176,10)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (176,6)-(176,10)) + │ │ │ ├── name: :x + │ │ │ ├── name_loc: (176,6)-(176,8) = "x:" + │ │ │ └── value: + │ │ │ @ CallNode (location: (176,8)-(176,10)) + │ │ │ ├── receiver: + │ │ │ │ @ CallNode (location: (176,9)-(176,10)) + │ │ │ │ ├── receiver: ∅ + │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a + │ │ │ │ ├── message_loc: (176,9)-(176,10) = "a" + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── arguments: ∅ + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ ├── block: ∅ + │ │ │ │ └── flags: variable_call + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :! + │ │ │ ├── message_loc: (176,8)-(176,9) = "!" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ ├── block: ∅ + │ │ │ └── flags: ∅ + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── body: ∅ + │ ├── locals: [:x] + │ ├── def_keyword_loc: (176,0)-(176,3) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (176,12)-(176,15) = "end" + ├── @ DefNode (location: (178,0)-(178,20)) + │ ├── name: :foo + │ ├── name_loc: (178,4)-(178,7) = "foo" + │ ├── receiver: ∅ + │ ├── parameters: + │ │ @ ParametersNode (location: (178,8)-(178,15)) + │ │ ├── requireds: (length: 0) + │ │ ├── optionals: (length: 0) + │ │ ├── rest: ∅ + │ │ ├── posts: (length: 0) + │ │ ├── keywords: (length: 1) + │ │ │ └── @ OptionalKeywordParameterNode (location: (178,8)-(178,15)) + │ │ │ ├── name: :x + │ │ │ ├── name_loc: (178,8)-(178,10) = "x:" + │ │ │ └── value: + │ │ │ @ StringNode (location: (178,10)-(178,15)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (178,10)-(178,12) = "%(" + │ │ │ ├── content_loc: (178,12)-(178,14) = "xx" + │ │ │ ├── closing_loc: (178,14)-(178,15) = ")" + │ │ │ └── unescaped: "xx" + │ │ ├── keyword_rest: ∅ + │ │ └── block: ∅ + │ ├── body: ∅ + │ ├── locals: [:x] + │ ├── def_keyword_loc: (178,0)-(178,3) = "def" + │ ├── operator_loc: ∅ + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── equal_loc: ∅ + │ └── end_keyword_loc: (178,17)-(178,20) = "end" + └── @ DefNode (location: (180,0)-(182,3)) + ├── name: :foo + ├── name_loc: (180,4)-(180,7) = "foo" ├── receiver: ∅ ├── parameters: - │ @ ParametersNode (location: (170,6)-(170,7)) + │ @ ParametersNode (location: (180,8)-(180,11)) │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) - │ ├── rest: - │ │ @ RestParameterNode (location: (170,6)-(170,7)) - │ │ ├── name: ∅ - │ │ ├── name_loc: ∅ - │ │ └── operator_loc: (170,6)-(170,7) = "*" + │ ├── rest: ∅ │ ├── posts: (length: 0) │ ├── keywords: (length: 0) - │ ├── keyword_rest: ∅ + │ ├── keyword_rest: + │ │ @ ForwardingParameterNode (location: (180,8)-(180,11)) │ └── block: ∅ ├── body: - │ @ StatementsNode (location: (170,10)-(170,13)) + │ @ StatementsNode (location: (181,2)-(181,7)) │ └── body: (length: 1) - │ └── @ ArrayNode (location: (170,10)-(170,13)) - │ ├── elements: (length: 1) - │ │ └── @ SplatNode (location: (170,11)-(170,12)) - │ │ ├── operator_loc: (170,11)-(170,12) = "*" - │ │ └── expression: ∅ - │ ├── opening_loc: (170,10)-(170,11) = "[" - │ └── closing_loc: (170,12)-(170,13) = "]" - ├── locals: [:*] - ├── def_keyword_loc: (170,0)-(170,3) = "def" + │ └── @ CallNode (location: (181,2)-(181,7)) + │ ├── receiver: ∅ + │ ├── call_operator_loc: ∅ + │ ├── name: :bar + │ ├── message_loc: (181,2)-(181,5) = "bar" + │ ├── opening_loc: (181,5)-(181,6) = "(" + │ ├── arguments: ∅ + │ ├── closing_loc: (181,7)-(181,8) = ")" + │ ├── block: + │ │ @ BlockArgumentNode (location: (181,6)-(181,7)) + │ │ ├── expression: ∅ + │ │ └── operator_loc: (181,6)-(181,7) = "&" + │ └── flags: ∅ + ├── locals: [:"..."] + ├── def_keyword_loc: (180,0)-(180,3) = "def" ├── operator_loc: ∅ - ├── lparen_loc: (170,5)-(170,6) = "(" - ├── rparen_loc: (170,7)-(170,8) = ")" + ├── lparen_loc: (180,7)-(180,8) = "(" + ├── rparen_loc: (180,11)-(180,12) = ")" ├── equal_loc: ∅ - └── end_keyword_loc: (170,15)-(170,18) = "end" + └── end_keyword_loc: (182,0)-(182,3) = "end" diff --git a/test/prism/snapshots/modules.txt b/test/prism/snapshots/modules.txt index 52d79a615a934c..b781a586d1e7cf 100644 --- a/test/prism/snapshots/modules.txt +++ b/test/prism/snapshots/modules.txt @@ -39,13 +39,13 @@ │ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bbb │ │ │ │ ├── message_loc: (3,9)-(3,12) = "bbb" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bbb + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (3,12)-(3,13) = "}" │ │ └── @ StringNode (location: (3,13)-(3,17)) │ │ ├── flags: ∅ @@ -63,13 +63,13 @@ │ │ │ @ CallNode (location: (5,7)-(5,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :m │ │ │ ├── message_loc: (5,7)-(5,8) = "m" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :m + │ │ │ └── flags: variable_call │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,10)-(5,11)) │ │ │ └── name: :M @@ -134,13 +134,13 @@ │ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8)) │ │ │ │ └── name: :A │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :[] │ │ │ ├── message_loc: (14,8)-(14,10) = "[]" │ │ │ ├── opening_loc: (14,8)-(14,9) = "[" │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: (14,9)-(14,10) = "]" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :[] + │ │ │ └── flags: ∅ │ │ ├── child: │ │ │ @ ConstantReadNode (location: (14,12)-(14,13)) │ │ │ └── name: :B @@ -159,6 +159,7 @@ │ │ │ @ ConstantReadNode (location: (17,7)-(17,8)) │ │ │ └── name: :A │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[] │ │ ├── message_loc: (17,8)-(17,11) = "[1]" │ │ ├── opening_loc: (17,8)-(17,9) = "[" │ │ ├── arguments: @@ -169,8 +170,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (17,10)-(17,11) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :[] + │ │ └── flags: ∅ │ ├── child: │ │ @ ConstantReadNode (location: (17,13)-(17,14)) │ │ └── name: :B diff --git a/test/prism/snapshots/next.txt b/test/prism/snapshots/next.txt index c5aa6f5a8c380c..8c8757f14428b9 100644 --- a/test/prism/snapshots/next.txt +++ b/test/prism/snapshots/next.txt @@ -81,7 +81,8 @@ │ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13)) │ │ │ │ └── flags: decimal │ │ │ ├── opening_loc: (12,5)-(12,6) = "[" - │ │ │ └── closing_loc: (12,13)-(12,14) = "]" + │ │ │ ├── closing_loc: (12,13)-(12,14) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ └── keyword_loc: (12,0)-(12,4) = "next" ├── @ NextNode (location: (14,0)-(17,1)) diff --git a/test/prism/snapshots/non_alphanumeric_methods.txt b/test/prism/snapshots/non_alphanumeric_methods.txt index acf46d62429ea3..b846dc9b7c5f14 100644 --- a/test/prism/snapshots/non_alphanumeric_methods.txt +++ b/test/prism/snapshots/non_alphanumeric_methods.txt @@ -235,13 +235,13 @@ │ │ @ CallNode (location: (48,4)-(48,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (48,4)-(48,5) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] diff --git a/test/prism/snapshots/not.txt b/test/prism/snapshots/not.txt index b41d65a87cc812..eee55fc1fc2dd9 100644 --- a/test/prism/snapshots/not.txt +++ b/test/prism/snapshots/not.txt @@ -10,42 +10,42 @@ │ │ │ @ CallNode (location: (1,4)-(1,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,4)-(1,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (1,0)-(1,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ ├── right: │ │ @ CallNode (location: (1,12)-(1,19)) │ │ ├── receiver: │ │ │ @ CallNode (location: (1,16)-(1,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,16)-(1,19) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (1,12)-(1,15) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ └── operator_loc: (1,8)-(1,11) = "and" ├── @ CallNode (location: (3,0)-(3,16)) │ ├── receiver: @@ -54,53 +54,53 @@ │ │ │ @ CallNode (location: (3,4)-(3,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,4)-(3,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── right: │ │ │ @ CallNode (location: (3,12)-(3,15)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (3,12)-(3,15) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── operator_loc: (3,8)-(3,11) = "and" │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (3,0)-(3,3) = "not" │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,15)-(3,16) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,7)) │ ├── receiver: │ │ @ CallNode (location: (5,4)-(5,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (5,4)-(5,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (5,0)-(5,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ AndNode (location: (7,0)-(8,5)) │ ├── left: │ │ @ CallNode (location: (7,0)-(7,7)) @@ -108,42 +108,42 @@ │ │ │ @ CallNode (location: (7,4)-(7,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (7,4)-(7,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (7,0)-(7,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ ├── right: │ │ @ CallNode (location: (7,12)-(8,5)) │ │ ├── receiver: │ │ │ @ CallNode (location: (8,2)-(8,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (8,2)-(8,5) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (7,12)-(7,15) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ └── operator_loc: (7,8)-(7,11) = "and" ├── @ AndNode (location: (11,0)-(13,5)) │ ├── left: @@ -152,42 +152,42 @@ │ │ │ @ CallNode (location: (11,4)-(11,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (11,4)-(11,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (11,0)-(11,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ ├── right: │ │ @ CallNode (location: (12,4)-(13,5)) │ │ ├── receiver: │ │ │ @ CallNode (location: (13,2)-(13,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (13,2)-(13,5) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (12,4)-(12,7) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ └── operator_loc: (11,8)-(11,11) = "and" ├── @ AndNode (location: (16,0)-(20,5)) │ ├── left: @@ -196,83 +196,83 @@ │ │ │ @ CallNode (location: (16,4)-(16,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (16,4)-(16,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (16,0)-(16,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ ├── right: │ │ @ CallNode (location: (17,2)-(20,5)) │ │ ├── receiver: │ │ │ @ CallNode (location: (20,2)-(20,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (20,2)-(20,5) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (17,2)-(17,5) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ └── operator_loc: (16,8)-(16,11) = "and" ├── @ CallNode (location: (22,0)-(25,1)) │ ├── receiver: │ │ @ CallNode (location: (22,4)-(22,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (22,4)-(22,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (22,0)-(22,3) = "not" │ ├── opening_loc: (22,3)-(22,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (25,0)-(25,1) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(33,3)) │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (30,0)-(30,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (27,0)-(27,3) = "not" │ ├── opening_loc: (27,3)-(27,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (33,2)-(33,3) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,14)) │ ├── receiver: │ │ @ FlipFlopNode (location: (35,4)-(35,14)) @@ -280,34 +280,34 @@ │ │ │ @ CallNode (location: (35,4)-(35,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (35,4)-(35,7) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── right: │ │ │ @ CallNode (location: (35,11)-(35,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (35,11)-(35,14) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── operator_loc: (35,8)-(35,10) = ".." │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (35,0)-(35,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ └── @ CallNode (location: (37,0)-(37,16)) ├── receiver: │ @ ParenthesesNode (location: (37,4)-(37,16)) @@ -319,33 +319,33 @@ │ │ │ @ CallNode (location: (37,5)-(37,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (37,5)-(37,8) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── right: │ │ │ @ CallNode (location: (37,12)-(37,15)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (37,12)-(37,15) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ ├── operator_loc: (37,9)-(37,11) = ".." │ │ └── flags: ∅ │ ├── opening_loc: (37,4)-(37,5) = "(" │ └── closing_loc: (37,15)-(37,16) = ")" ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (37,0)-(37,3) = "not" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/patterns.txt b/test/prism/snapshots/patterns.txt index ef2e26de15a3b7..44e15fb6442214 100644 --- a/test/prism/snapshots/patterns.txt +++ b/test/prism/snapshots/patterns.txt @@ -1,20 +1,20 @@ -@ ProgramNode (location: (1,0)-(195,17)) -├── locals: [:bar, :baz, :qux, :b, :a] +@ ProgramNode (location: (1,0)-(200,3)) +├── locals: [:bar, :baz, :qux, :b, :a, :foo] └── statements: - @ StatementsNode (location: (1,0)-(195,17)) - └── body: (length: 172) + @ StatementsNode (location: (1,0)-(200,3)) + └── body: (length: 174) ├── @ MatchRequiredNode (location: (1,0)-(1,10)) │ ├── value: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (1,7)-(1,10)) │ │ ├── name: :bar @@ -25,13 +25,13 @@ │ │ @ CallNode (location: (2,0)-(2,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (2,0)-(2,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ IntegerNode (location: (2,7)-(2,8)) │ │ └── flags: decimal @@ -41,13 +41,13 @@ │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FloatNode (location: (3,7)-(3,10)) │ └── operator_loc: (3,4)-(3,6) = "=>" @@ -56,13 +56,13 @@ │ │ @ CallNode (location: (4,0)-(4,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (4,0)-(4,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ImaginaryNode (location: (4,7)-(4,9)) │ │ └── numeric: @@ -74,13 +74,13 @@ │ │ @ CallNode (location: (5,0)-(5,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (5,0)-(5,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RationalNode (location: (5,7)-(5,9)) │ │ └── numeric: @@ -92,13 +92,13 @@ │ │ @ CallNode (location: (6,0)-(6,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (6,0)-(6,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (6,7)-(6,11)) │ │ ├── opening_loc: (6,7)-(6,8) = ":" @@ -111,13 +111,13 @@ │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,0)-(7,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (7,7)-(7,14)) │ │ ├── opening_loc: (7,7)-(7,10) = "%s[" @@ -130,13 +130,13 @@ │ │ @ CallNode (location: (8,0)-(8,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (8,0)-(8,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (8,7)-(8,13)) │ │ ├── opening_loc: (8,7)-(8,9) = ":\"" @@ -149,13 +149,13 @@ │ │ @ CallNode (location: (9,0)-(9,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (9,0)-(9,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RegularExpressionNode (location: (9,7)-(9,12)) │ │ ├── opening_loc: (9,7)-(9,8) = "/" @@ -169,13 +169,13 @@ │ │ @ CallNode (location: (10,0)-(10,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (10,0)-(10,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ XStringNode (location: (10,7)-(10,12)) │ │ ├── opening_loc: (10,7)-(10,8) = "`" @@ -188,13 +188,13 @@ │ │ @ CallNode (location: (11,0)-(11,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (11,0)-(11,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ XStringNode (location: (11,7)-(11,14)) │ │ ├── opening_loc: (11,7)-(11,10) = "%x[" @@ -207,13 +207,13 @@ │ │ @ CallNode (location: (12,0)-(12,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (12,0)-(12,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (12,7)-(12,14)) │ │ ├── elements: (length: 1) @@ -223,20 +223,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (12,7)-(12,10) = "%i[" - │ │ └── closing_loc: (12,13)-(12,14) = "]" + │ │ ├── closing_loc: (12,13)-(12,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (12,4)-(12,6) = "=>" ├── @ MatchRequiredNode (location: (13,0)-(13,14)) │ ├── value: │ │ @ CallNode (location: (13,0)-(13,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (13,0)-(13,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (13,7)-(13,14)) │ │ ├── elements: (length: 1) @@ -246,20 +247,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (13,7)-(13,10) = "%I[" - │ │ └── closing_loc: (13,13)-(13,14) = "]" + │ │ ├── closing_loc: (13,13)-(13,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (13,4)-(13,6) = "=>" ├── @ MatchRequiredNode (location: (14,0)-(14,14)) │ ├── value: │ │ @ CallNode (location: (14,0)-(14,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (14,0)-(14,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (14,7)-(14,14)) │ │ ├── elements: (length: 1) @@ -270,20 +272,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (14,7)-(14,10) = "%w[" - │ │ └── closing_loc: (14,13)-(14,14) = "]" + │ │ ├── closing_loc: (14,13)-(14,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (14,4)-(14,6) = "=>" ├── @ MatchRequiredNode (location: (15,0)-(15,14)) │ ├── value: │ │ @ CallNode (location: (15,0)-(15,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (15,0)-(15,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (15,7)-(15,14)) │ │ ├── elements: (length: 1) @@ -294,20 +297,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (15,7)-(15,10) = "%W[" - │ │ └── closing_loc: (15,13)-(15,14) = "]" + │ │ ├── closing_loc: (15,13)-(15,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (15,4)-(15,6) = "=>" ├── @ MatchRequiredNode (location: (16,0)-(16,14)) │ ├── value: │ │ @ CallNode (location: (16,0)-(16,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (16,0)-(16,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (16,7)-(16,14)) │ │ ├── flags: ∅ @@ -321,13 +325,13 @@ │ │ @ CallNode (location: (17,0)-(17,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (17,0)-(17,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (17,7)-(17,14)) │ │ ├── flags: ∅ @@ -341,13 +345,13 @@ │ │ @ CallNode (location: (18,0)-(18,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (18,0)-(18,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (18,7)-(18,12)) │ │ ├── flags: ∅ @@ -361,13 +365,13 @@ │ │ @ CallNode (location: (19,0)-(19,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (19,0)-(19,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ NilNode (location: (19,7)-(19,10)) │ └── operator_loc: (19,4)-(19,6) = "=>" @@ -376,13 +380,13 @@ │ │ @ CallNode (location: (20,0)-(20,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (20,0)-(20,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SelfNode (location: (20,7)-(20,11)) │ └── operator_loc: (20,4)-(20,6) = "=>" @@ -391,13 +395,13 @@ │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (21,0)-(21,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ TrueNode (location: (21,7)-(21,11)) │ └── operator_loc: (21,4)-(21,6) = "=>" @@ -406,13 +410,13 @@ │ │ @ CallNode (location: (22,0)-(22,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (22,0)-(22,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FalseNode (location: (22,7)-(22,12)) │ └── operator_loc: (22,4)-(22,6) = "=>" @@ -421,13 +425,13 @@ │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (23,0)-(23,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceFileNode (location: (23,7)-(23,15)) │ │ └── filepath: "patterns.txt" @@ -437,13 +441,13 @@ │ │ @ CallNode (location: (24,0)-(24,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (24,0)-(24,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceLineNode (location: (24,7)-(24,15)) │ └── operator_loc: (24,4)-(24,6) = "=>" @@ -452,13 +456,13 @@ │ │ @ CallNode (location: (25,0)-(25,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (25,0)-(25,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceEncodingNode (location: (25,7)-(25,19)) │ └── operator_loc: (25,4)-(25,6) = "=>" @@ -467,13 +471,13 @@ │ │ @ CallNode (location: (26,0)-(26,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (26,0)-(26,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ LambdaNode (location: (26,7)-(26,17)) │ │ ├── locals: [] @@ -493,13 +497,13 @@ │ │ @ CallNode (location: (28,0)-(28,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (28,0)-(28,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (28,7)-(28,13)) │ │ ├── left: @@ -516,13 +520,13 @@ │ │ @ CallNode (location: (29,0)-(29,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (29,0)-(29,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (29,7)-(29,17)) │ │ ├── left: @@ -537,13 +541,13 @@ │ │ @ CallNode (location: (30,0)-(30,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (30,0)-(30,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (30,7)-(30,15)) │ │ ├── left: @@ -564,13 +568,13 @@ │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (31,0)-(31,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (31,7)-(31,15)) │ │ ├── left: @@ -591,13 +595,13 @@ │ │ @ CallNode (location: (32,0)-(32,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (32,0)-(32,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (32,7)-(32,19)) │ │ ├── left: @@ -620,13 +624,13 @@ │ │ @ CallNode (location: (33,0)-(33,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (33,0)-(33,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (33,7)-(33,25)) │ │ ├── left: @@ -649,13 +653,13 @@ │ │ @ CallNode (location: (34,0)-(34,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (34,0)-(34,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (34,7)-(34,23)) │ │ ├── left: @@ -678,13 +682,13 @@ │ │ @ CallNode (location: (35,0)-(35,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (35,0)-(35,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (35,7)-(35,21)) │ │ ├── left: @@ -709,13 +713,13 @@ │ │ @ CallNode (location: (36,0)-(36,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (36,0)-(36,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (36,7)-(36,21)) │ │ ├── left: @@ -738,13 +742,13 @@ │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (37,0)-(37,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (37,7)-(37,25)) │ │ ├── left: @@ -767,13 +771,13 @@ │ │ @ CallNode (location: (38,0)-(38,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (38,0)-(38,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (38,7)-(38,25)) │ │ ├── left: @@ -785,7 +789,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (38,7)-(38,10) = "%i[" - │ │ │ └── closing_loc: (38,13)-(38,14) = "]" + │ │ │ ├── closing_loc: (38,13)-(38,14) = "]" + │ │ │ └── flags: ∅ │ │ ├── right: │ │ │ @ ArrayNode (location: (38,18)-(38,25)) │ │ │ ├── elements: (length: 1) @@ -795,7 +800,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (38,18)-(38,21) = "%i[" - │ │ │ └── closing_loc: (38,24)-(38,25) = "]" + │ │ │ ├── closing_loc: (38,24)-(38,25) = "]" + │ │ │ └── flags: ∅ │ │ ├── operator_loc: (38,15)-(38,17) = ".." │ │ └── flags: ∅ │ └── operator_loc: (38,4)-(38,6) = "=>" @@ -804,13 +810,13 @@ │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (39,0)-(39,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (39,7)-(39,25)) │ │ ├── left: @@ -822,7 +828,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (39,7)-(39,10) = "%I[" - │ │ │ └── closing_loc: (39,13)-(39,14) = "]" + │ │ │ ├── closing_loc: (39,13)-(39,14) = "]" + │ │ │ └── flags: ∅ │ │ ├── right: │ │ │ @ ArrayNode (location: (39,18)-(39,25)) │ │ │ ├── elements: (length: 1) @@ -832,7 +839,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (39,18)-(39,21) = "%I[" - │ │ │ └── closing_loc: (39,24)-(39,25) = "]" + │ │ │ ├── closing_loc: (39,24)-(39,25) = "]" + │ │ │ └── flags: ∅ │ │ ├── operator_loc: (39,15)-(39,17) = ".." │ │ └── flags: ∅ │ └── operator_loc: (39,4)-(39,6) = "=>" @@ -841,13 +849,13 @@ │ │ @ CallNode (location: (40,0)-(40,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (40,0)-(40,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (40,7)-(40,25)) │ │ ├── left: @@ -860,7 +868,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (40,7)-(40,10) = "%w[" - │ │ │ └── closing_loc: (40,13)-(40,14) = "]" + │ │ │ ├── closing_loc: (40,13)-(40,14) = "]" + │ │ │ └── flags: ∅ │ │ ├── right: │ │ │ @ ArrayNode (location: (40,18)-(40,25)) │ │ │ ├── elements: (length: 1) @@ -871,7 +880,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (40,18)-(40,21) = "%w[" - │ │ │ └── closing_loc: (40,24)-(40,25) = "]" + │ │ │ ├── closing_loc: (40,24)-(40,25) = "]" + │ │ │ └── flags: ∅ │ │ ├── operator_loc: (40,15)-(40,17) = ".." │ │ └── flags: ∅ │ └── operator_loc: (40,4)-(40,6) = "=>" @@ -880,13 +890,13 @@ │ │ @ CallNode (location: (41,0)-(41,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (41,0)-(41,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (41,7)-(41,25)) │ │ ├── left: @@ -899,7 +909,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (41,7)-(41,10) = "%W[" - │ │ │ └── closing_loc: (41,13)-(41,14) = "]" + │ │ │ ├── closing_loc: (41,13)-(41,14) = "]" + │ │ │ └── flags: ∅ │ │ ├── right: │ │ │ @ ArrayNode (location: (41,18)-(41,25)) │ │ │ ├── elements: (length: 1) @@ -910,7 +921,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (41,18)-(41,21) = "%W[" - │ │ │ └── closing_loc: (41,24)-(41,25) = "]" + │ │ │ ├── closing_loc: (41,24)-(41,25) = "]" + │ │ │ └── flags: ∅ │ │ ├── operator_loc: (41,15)-(41,17) = ".." │ │ └── flags: ∅ │ └── operator_loc: (41,4)-(41,6) = "=>" @@ -919,13 +931,13 @@ │ │ @ CallNode (location: (42,0)-(42,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (42,0)-(42,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (42,7)-(42,25)) │ │ ├── left: @@ -950,13 +962,13 @@ │ │ @ CallNode (location: (43,0)-(43,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (43,0)-(43,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (43,7)-(43,25)) │ │ ├── left: @@ -981,13 +993,13 @@ │ │ @ CallNode (location: (44,0)-(44,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (44,0)-(44,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (44,7)-(44,21)) │ │ ├── left: @@ -1012,13 +1024,13 @@ │ │ @ CallNode (location: (45,0)-(45,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (45,0)-(45,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (45,7)-(45,17)) │ │ ├── left: @@ -1033,13 +1045,13 @@ │ │ @ CallNode (location: (46,0)-(46,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (46,0)-(46,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (46,7)-(46,19)) │ │ ├── left: @@ -1054,13 +1066,13 @@ │ │ @ CallNode (location: (47,0)-(47,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (47,0)-(47,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (47,7)-(47,19)) │ │ ├── left: @@ -1075,13 +1087,13 @@ │ │ @ CallNode (location: (48,0)-(48,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (48,0)-(48,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (48,7)-(48,21)) │ │ ├── left: @@ -1096,13 +1108,13 @@ │ │ @ CallNode (location: (49,0)-(49,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (49,0)-(49,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (49,7)-(49,27)) │ │ ├── left: @@ -1119,13 +1131,13 @@ │ │ @ CallNode (location: (50,0)-(50,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (50,0)-(50,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (50,7)-(50,27)) │ │ ├── left: @@ -1140,13 +1152,13 @@ │ │ @ CallNode (location: (51,0)-(51,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (51,0)-(51,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (51,7)-(51,35)) │ │ ├── left: @@ -1161,13 +1173,13 @@ │ │ @ CallNode (location: (52,0)-(52,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (52,0)-(52,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RangeNode (location: (52,7)-(52,31)) │ │ ├── left: @@ -1204,13 +1216,13 @@ │ │ @ CallNode (location: (54,0)-(54,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (54,0)-(54,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedVariableNode (location: (54,7)-(54,11)) │ │ ├── variable: @@ -1224,13 +1236,13 @@ │ │ @ CallNode (location: (55,0)-(55,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (55,0)-(55,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedVariableNode (location: (55,7)-(55,12)) │ │ ├── variable: @@ -1243,13 +1255,13 @@ │ │ @ CallNode (location: (56,0)-(56,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (56,0)-(56,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedVariableNode (location: (56,7)-(56,13)) │ │ ├── variable: @@ -1262,13 +1274,13 @@ │ │ @ CallNode (location: (57,0)-(57,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (57,0)-(57,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedVariableNode (location: (57,7)-(57,12)) │ │ ├── variable: @@ -1281,13 +1293,13 @@ │ │ @ CallNode (location: (59,0)-(59,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (59,0)-(59,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedExpressionNode (location: (59,7)-(59,11)) │ │ ├── expression: @@ -1302,13 +1314,13 @@ │ │ @ CallNode (location: (60,0)-(60,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (60,0)-(60,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedExpressionNode (location: (60,7)-(60,13)) │ │ ├── expression: @@ -1322,13 +1334,13 @@ │ │ @ CallNode (location: (61,0)-(61,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (61,0)-(61,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ PinnedExpressionNode (location: (61,7)-(61,23)) │ │ ├── expression: @@ -1341,6 +1353,7 @@ │ │ │ │ ├── closing_loc: (61,13)-(61,14) = "\"" │ │ │ │ └── unescaped: "bar" │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (61,15)-(61,16) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -1355,8 +1368,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── operator_loc: (61,7)-(61,8) = "^" │ │ ├── lparen_loc: (61,8)-(61,9) = "(" │ │ └── rparen_loc: (61,22)-(61,23) = ")" @@ -1366,13 +1378,13 @@ │ │ @ CallNode (location: (63,0)-(63,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (63,0)-(63,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ConstantReadNode (location: (63,7)-(63,10)) │ │ └── name: :Foo @@ -1382,13 +1394,13 @@ │ │ @ CallNode (location: (64,0)-(64,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (64,0)-(64,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ConstantPathNode (location: (64,7)-(64,20)) │ │ ├── parent: @@ -1410,13 +1422,13 @@ │ │ @ CallNode (location: (65,0)-(65,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (65,0)-(65,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ConstantPathNode (location: (65,7)-(65,12)) │ │ ├── parent: ∅ @@ -1430,13 +1442,13 @@ │ │ @ CallNode (location: (66,0)-(66,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (66,0)-(66,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ConstantPathNode (location: (66,7)-(66,22)) │ │ ├── parent: @@ -1462,13 +1474,13 @@ │ │ @ CallNode (location: (68,0)-(68,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (68,0)-(68,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (68,7)-(68,12)) │ │ ├── constant: @@ -1485,13 +1497,13 @@ │ │ @ CallNode (location: (69,0)-(69,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (69,0)-(69,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (69,7)-(69,13)) │ │ ├── constant: @@ -1510,13 +1522,13 @@ │ │ @ CallNode (location: (70,0)-(70,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (70,0)-(70,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (70,7)-(70,19)) │ │ ├── constant: @@ -1539,13 +1551,13 @@ │ │ @ CallNode (location: (71,0)-(71,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (71,0)-(71,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (71,7)-(71,15)) │ │ ├── constant: @@ -1565,13 +1577,13 @@ │ │ @ CallNode (location: (72,0)-(72,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (72,0)-(72,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (72,7)-(72,21)) │ │ ├── constant: @@ -1597,13 +1609,13 @@ │ │ @ CallNode (location: (73,0)-(73,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (73,0)-(73,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (73,7)-(73,21)) │ │ ├── constant: @@ -1629,13 +1641,13 @@ │ │ @ CallNode (location: (74,0)-(74,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (74,0)-(74,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FindPatternNode (location: (74,7)-(74,27)) │ │ ├── constant: @@ -1667,13 +1679,13 @@ │ │ @ CallNode (location: (76,0)-(76,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (76,0)-(76,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (76,7)-(76,12)) │ │ ├── constant: @@ -1690,13 +1702,13 @@ │ │ @ CallNode (location: (77,0)-(77,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (77,0)-(77,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (77,7)-(77,13)) │ │ ├── constant: @@ -1715,13 +1727,13 @@ │ │ @ CallNode (location: (78,0)-(78,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (78,0)-(78,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (78,7)-(78,19)) │ │ ├── constant: @@ -1744,13 +1756,13 @@ │ │ @ CallNode (location: (79,0)-(79,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (79,0)-(79,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (79,7)-(79,17)) │ │ ├── constant: @@ -1776,13 +1788,13 @@ │ │ @ CallNode (location: (80,0)-(80,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (80,0)-(80,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (80,7)-(80,15)) │ │ ├── constant: @@ -1802,13 +1814,13 @@ │ │ @ CallNode (location: (81,0)-(81,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (81,0)-(81,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (81,7)-(81,21)) │ │ ├── constant: @@ -1834,13 +1846,13 @@ │ │ @ CallNode (location: (82,0)-(82,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (82,0)-(82,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (82,7)-(82,21)) │ │ ├── constant: @@ -1866,13 +1878,13 @@ │ │ @ CallNode (location: (83,0)-(83,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (83,0)-(83,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FindPatternNode (location: (83,7)-(83,27)) │ │ ├── constant: @@ -1904,13 +1916,13 @@ │ │ @ CallNode (location: (85,0)-(85,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (85,0)-(85,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (85,7)-(85,11)) │ │ ├── constant: ∅ @@ -1931,13 +1943,13 @@ │ │ @ CallNode (location: (86,0)-(86,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (86,0)-(86,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (86,7)-(86,21)) │ │ ├── constant: ∅ @@ -1964,13 +1976,13 @@ │ │ @ CallNode (location: (87,0)-(87,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (87,0)-(87,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (87,7)-(87,21)) │ │ ├── constant: ∅ @@ -1997,13 +2009,13 @@ │ │ @ CallNode (location: (88,0)-(88,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (88,0)-(88,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (88,7)-(88,21)) │ │ ├── constant: ∅ @@ -2030,13 +2042,13 @@ │ │ @ CallNode (location: (89,0)-(89,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (89,0)-(89,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FindPatternNode (location: (89,7)-(89,22)) │ │ ├── constant: ∅ @@ -2066,13 +2078,13 @@ │ │ @ CallNode (location: (91,0)-(91,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (91,0)-(91,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (91,7)-(91,9)) │ │ ├── constant: ∅ @@ -2087,13 +2099,13 @@ │ │ @ CallNode (location: (92,0)-(92,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (92,0)-(92,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (92,7)-(92,17)) │ │ ├── constant: ∅ @@ -2136,13 +2148,13 @@ │ │ @ CallNode (location: (94,0)-(94,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (94,0)-(94,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (94,7)-(94,13)) │ │ ├── constant: ∅ @@ -2163,13 +2175,13 @@ │ │ @ CallNode (location: (95,0)-(95,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (95,0)-(95,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (95,7)-(95,23)) │ │ ├── constant: ∅ @@ -2196,13 +2208,13 @@ │ │ @ CallNode (location: (96,0)-(96,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (96,0)-(96,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (96,7)-(96,23)) │ │ ├── constant: ∅ @@ -2229,13 +2241,13 @@ │ │ @ CallNode (location: (97,0)-(97,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (97,0)-(97,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (97,7)-(97,23)) │ │ ├── constant: ∅ @@ -2262,13 +2274,13 @@ │ │ @ CallNode (location: (98,0)-(98,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (98,0)-(98,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FindPatternNode (location: (98,7)-(98,24)) │ │ ├── constant: ∅ @@ -2298,13 +2310,13 @@ │ │ @ CallNode (location: (100,0)-(100,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (100,0)-(100,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (100,7)-(100,10)) │ │ ├── name: :bar @@ -2315,13 +2327,13 @@ │ │ @ CallNode (location: (101,0)-(101,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (101,0)-(101,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ IntegerNode (location: (101,7)-(101,8)) │ │ └── flags: decimal @@ -2331,13 +2343,13 @@ │ │ @ CallNode (location: (102,0)-(102,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (102,0)-(102,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FloatNode (location: (102,7)-(102,10)) │ └── operator_loc: (102,4)-(102,6) = "in" @@ -2346,13 +2358,13 @@ │ │ @ CallNode (location: (103,0)-(103,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (103,0)-(103,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ImaginaryNode (location: (103,7)-(103,9)) │ │ └── numeric: @@ -2364,13 +2376,13 @@ │ │ @ CallNode (location: (104,0)-(104,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (104,0)-(104,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RationalNode (location: (104,7)-(104,9)) │ │ └── numeric: @@ -2382,13 +2394,13 @@ │ │ @ CallNode (location: (105,0)-(105,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (105,0)-(105,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (105,7)-(105,11)) │ │ ├── opening_loc: (105,7)-(105,8) = ":" @@ -2401,13 +2413,13 @@ │ │ @ CallNode (location: (106,0)-(106,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (106,0)-(106,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (106,7)-(106,14)) │ │ ├── opening_loc: (106,7)-(106,10) = "%s[" @@ -2420,13 +2432,13 @@ │ │ @ CallNode (location: (107,0)-(107,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (107,0)-(107,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SymbolNode (location: (107,7)-(107,13)) │ │ ├── opening_loc: (107,7)-(107,9) = ":\"" @@ -2439,13 +2451,13 @@ │ │ @ CallNode (location: (108,0)-(108,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (108,0)-(108,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ RegularExpressionNode (location: (108,7)-(108,12)) │ │ ├── opening_loc: (108,7)-(108,8) = "/" @@ -2459,13 +2471,13 @@ │ │ @ CallNode (location: (109,0)-(109,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (109,0)-(109,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ XStringNode (location: (109,7)-(109,12)) │ │ ├── opening_loc: (109,7)-(109,8) = "`" @@ -2478,13 +2490,13 @@ │ │ @ CallNode (location: (110,0)-(110,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (110,0)-(110,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ XStringNode (location: (110,7)-(110,14)) │ │ ├── opening_loc: (110,7)-(110,10) = "%x[" @@ -2497,13 +2509,13 @@ │ │ @ CallNode (location: (111,0)-(111,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (111,0)-(111,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (111,7)-(111,14)) │ │ ├── elements: (length: 1) @@ -2513,20 +2525,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (111,7)-(111,10) = "%i[" - │ │ └── closing_loc: (111,13)-(111,14) = "]" + │ │ ├── closing_loc: (111,13)-(111,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (111,4)-(111,6) = "in" ├── @ MatchPredicateNode (location: (112,0)-(112,14)) │ ├── value: │ │ @ CallNode (location: (112,0)-(112,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (112,0)-(112,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (112,7)-(112,14)) │ │ ├── elements: (length: 1) @@ -2536,20 +2549,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (112,7)-(112,10) = "%I[" - │ │ └── closing_loc: (112,13)-(112,14) = "]" + │ │ ├── closing_loc: (112,13)-(112,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (112,4)-(112,6) = "in" ├── @ MatchPredicateNode (location: (113,0)-(113,14)) │ ├── value: │ │ @ CallNode (location: (113,0)-(113,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (113,0)-(113,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (113,7)-(113,14)) │ │ ├── elements: (length: 1) @@ -2560,20 +2574,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (113,7)-(113,10) = "%w[" - │ │ └── closing_loc: (113,13)-(113,14) = "]" + │ │ ├── closing_loc: (113,13)-(113,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (113,4)-(113,6) = "in" ├── @ MatchPredicateNode (location: (114,0)-(114,14)) │ ├── value: │ │ @ CallNode (location: (114,0)-(114,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (114,0)-(114,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayNode (location: (114,7)-(114,14)) │ │ ├── elements: (length: 1) @@ -2584,20 +2599,21 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── opening_loc: (114,7)-(114,10) = "%W[" - │ │ └── closing_loc: (114,13)-(114,14) = "]" + │ │ ├── closing_loc: (114,13)-(114,14) = "]" + │ │ └── flags: ∅ │ └── operator_loc: (114,4)-(114,6) = "in" ├── @ MatchPredicateNode (location: (115,0)-(115,14)) │ ├── value: │ │ @ CallNode (location: (115,0)-(115,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (115,0)-(115,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (115,7)-(115,14)) │ │ ├── flags: ∅ @@ -2611,13 +2627,13 @@ │ │ @ CallNode (location: (116,0)-(116,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (116,0)-(116,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (116,7)-(116,14)) │ │ ├── flags: ∅ @@ -2631,13 +2647,13 @@ │ │ @ CallNode (location: (117,0)-(117,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (117,0)-(117,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ StringNode (location: (117,7)-(117,12)) │ │ ├── flags: ∅ @@ -2651,13 +2667,13 @@ │ │ @ CallNode (location: (118,0)-(118,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (118,0)-(118,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ NilNode (location: (118,7)-(118,10)) │ └── operator_loc: (118,4)-(118,6) = "in" @@ -2666,13 +2682,13 @@ │ │ @ CallNode (location: (119,0)-(119,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (119,0)-(119,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SelfNode (location: (119,7)-(119,11)) │ └── operator_loc: (119,4)-(119,6) = "in" @@ -2681,13 +2697,13 @@ │ │ @ CallNode (location: (120,0)-(120,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (120,0)-(120,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ TrueNode (location: (120,7)-(120,11)) │ └── operator_loc: (120,4)-(120,6) = "in" @@ -2696,13 +2712,13 @@ │ │ @ CallNode (location: (121,0)-(121,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (121,0)-(121,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ FalseNode (location: (121,7)-(121,12)) │ └── operator_loc: (121,4)-(121,6) = "in" @@ -2711,13 +2727,13 @@ │ │ @ CallNode (location: (122,0)-(122,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (122,0)-(122,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceFileNode (location: (122,7)-(122,15)) │ │ └── filepath: "patterns.txt" @@ -2727,13 +2743,13 @@ │ │ @ CallNode (location: (123,0)-(123,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (123,0)-(123,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceLineNode (location: (123,7)-(123,15)) │ └── operator_loc: (123,4)-(123,6) = "in" @@ -2742,13 +2758,13 @@ │ │ @ CallNode (location: (124,0)-(124,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (124,0)-(124,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ SourceEncodingNode (location: (124,7)-(124,19)) │ └── operator_loc: (124,4)-(124,6) = "in" @@ -2757,13 +2773,13 @@ │ │ @ CallNode (location: (125,0)-(125,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (125,0)-(125,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ LambdaNode (location: (125,7)-(125,17)) │ │ ├── locals: [] @@ -2783,13 +2799,13 @@ │ │ @ CallNode (location: (127,5)-(127,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (127,5)-(127,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (127,10)-(127,21)) │ │ ├── pattern: @@ -2807,13 +2823,13 @@ │ │ @ CallNode (location: (128,5)-(128,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (128,5)-(128,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (128,10)-(128,19)) │ │ ├── pattern: @@ -2830,13 +2846,13 @@ │ │ @ CallNode (location: (129,5)-(129,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (129,5)-(129,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (129,10)-(129,21)) │ │ ├── pattern: @@ -2852,13 +2868,13 @@ │ │ @ CallNode (location: (130,5)-(130,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (130,5)-(130,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (130,10)-(130,20)) │ │ ├── pattern: @@ -2877,13 +2893,13 @@ │ │ @ CallNode (location: (131,5)-(131,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (131,5)-(131,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (131,10)-(131,20)) │ │ ├── pattern: @@ -2902,13 +2918,13 @@ │ │ @ CallNode (location: (132,5)-(132,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (132,5)-(132,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (132,10)-(132,22)) │ │ ├── pattern: @@ -2928,13 +2944,13 @@ │ │ @ CallNode (location: (133,5)-(133,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (133,5)-(133,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (133,10)-(133,25)) │ │ ├── pattern: @@ -2954,13 +2970,13 @@ │ │ @ CallNode (location: (134,5)-(134,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (134,5)-(134,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (134,10)-(134,24)) │ │ ├── pattern: @@ -2980,13 +2996,13 @@ │ │ @ CallNode (location: (135,5)-(135,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (135,5)-(135,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (135,10)-(135,23)) │ │ ├── pattern: @@ -3007,13 +3023,13 @@ │ │ @ CallNode (location: (136,5)-(136,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (136,5)-(136,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (136,10)-(136,23)) │ │ ├── pattern: @@ -3033,13 +3049,13 @@ │ │ @ CallNode (location: (137,5)-(137,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (137,5)-(137,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (137,10)-(137,25)) │ │ ├── pattern: @@ -3059,13 +3075,13 @@ │ │ @ CallNode (location: (138,5)-(138,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (138,5)-(138,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (138,10)-(138,25)) │ │ ├── pattern: @@ -3077,7 +3093,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (138,13)-(138,16) = "%i[" - │ │ │ └── closing_loc: (138,19)-(138,20) = "]" + │ │ │ ├── closing_loc: (138,19)-(138,20) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (138,10)-(138,12) = "in" │ │ └── then_loc: (138,21)-(138,25) = "then" @@ -3089,13 +3106,13 @@ │ │ @ CallNode (location: (139,5)-(139,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (139,5)-(139,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (139,10)-(139,25)) │ │ ├── pattern: @@ -3107,7 +3124,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (139,13)-(139,16) = "%I[" - │ │ │ └── closing_loc: (139,19)-(139,20) = "]" + │ │ │ ├── closing_loc: (139,19)-(139,20) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (139,10)-(139,12) = "in" │ │ └── then_loc: (139,21)-(139,25) = "then" @@ -3119,13 +3137,13 @@ │ │ @ CallNode (location: (140,5)-(140,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (140,5)-(140,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (140,10)-(140,25)) │ │ ├── pattern: @@ -3138,7 +3156,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (140,13)-(140,16) = "%w[" - │ │ │ └── closing_loc: (140,19)-(140,20) = "]" + │ │ │ ├── closing_loc: (140,19)-(140,20) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (140,10)-(140,12) = "in" │ │ └── then_loc: (140,21)-(140,25) = "then" @@ -3150,13 +3169,13 @@ │ │ @ CallNode (location: (141,5)-(141,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (141,5)-(141,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (141,10)-(141,25)) │ │ ├── pattern: @@ -3169,7 +3188,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ ├── opening_loc: (141,13)-(141,16) = "%W[" - │ │ │ └── closing_loc: (141,19)-(141,20) = "]" + │ │ │ ├── closing_loc: (141,19)-(141,20) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (141,10)-(141,12) = "in" │ │ └── then_loc: (141,21)-(141,25) = "then" @@ -3181,13 +3201,13 @@ │ │ @ CallNode (location: (142,5)-(142,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (142,5)-(142,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (142,10)-(142,25)) │ │ ├── pattern: @@ -3208,13 +3228,13 @@ │ │ @ CallNode (location: (143,5)-(143,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (143,5)-(143,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (143,10)-(143,25)) │ │ ├── pattern: @@ -3235,13 +3255,13 @@ │ │ @ CallNode (location: (144,5)-(144,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (144,5)-(144,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (144,10)-(144,23)) │ │ ├── pattern: @@ -3262,13 +3282,13 @@ │ │ @ CallNode (location: (145,5)-(145,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (145,5)-(145,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (145,10)-(145,21)) │ │ ├── pattern: @@ -3284,13 +3304,13 @@ │ │ @ CallNode (location: (146,5)-(146,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (146,5)-(146,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (146,10)-(146,22)) │ │ ├── pattern: @@ -3306,13 +3326,13 @@ │ │ @ CallNode (location: (147,5)-(147,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (147,5)-(147,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (147,10)-(147,22)) │ │ ├── pattern: @@ -3328,13 +3348,13 @@ │ │ @ CallNode (location: (148,5)-(148,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (148,5)-(148,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (148,10)-(148,23)) │ │ ├── pattern: @@ -3350,13 +3370,13 @@ │ │ @ CallNode (location: (149,5)-(149,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (149,5)-(149,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (149,10)-(149,26)) │ │ ├── pattern: @@ -3373,13 +3393,13 @@ │ │ @ CallNode (location: (150,5)-(150,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (150,5)-(150,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (150,10)-(150,26)) │ │ ├── pattern: @@ -3395,13 +3415,13 @@ │ │ @ CallNode (location: (151,5)-(151,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (151,5)-(151,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (151,10)-(151,30)) │ │ ├── pattern: @@ -3417,13 +3437,13 @@ │ │ @ CallNode (location: (152,5)-(152,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (152,5)-(152,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (152,10)-(152,28)) │ │ ├── pattern: @@ -3450,13 +3470,13 @@ │ │ @ CallNode (location: (154,5)-(154,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (154,5)-(154,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (154,10)-(154,28)) │ │ ├── pattern: @@ -3486,13 +3506,13 @@ │ │ @ CallNode (location: (155,5)-(155,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (155,5)-(155,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (155,10)-(155,26)) │ │ ├── pattern: @@ -3521,13 +3541,13 @@ │ │ @ CallNode (location: (156,5)-(156,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (156,5)-(156,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (156,10)-(156,28)) │ │ ├── pattern: @@ -3555,13 +3575,13 @@ │ │ @ CallNode (location: (157,5)-(157,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (157,5)-(157,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (157,10)-(157,27)) │ │ ├── pattern: @@ -3592,13 +3612,13 @@ │ │ @ CallNode (location: (158,5)-(158,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (158,5)-(158,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (158,10)-(158,27)) │ │ ├── pattern: @@ -3629,13 +3649,13 @@ │ │ @ CallNode (location: (159,5)-(159,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (159,5)-(159,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (159,10)-(159,29)) │ │ ├── pattern: @@ -3667,13 +3687,13 @@ │ │ @ CallNode (location: (160,5)-(160,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (160,5)-(160,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (160,10)-(160,32)) │ │ ├── pattern: @@ -3705,13 +3725,13 @@ │ │ @ CallNode (location: (161,5)-(161,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (161,5)-(161,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (161,10)-(161,31)) │ │ ├── pattern: @@ -3743,13 +3763,13 @@ │ │ @ CallNode (location: (162,5)-(162,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (162,5)-(162,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (162,10)-(162,30)) │ │ ├── pattern: @@ -3782,13 +3802,13 @@ │ │ @ CallNode (location: (163,5)-(163,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (163,5)-(163,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (163,10)-(163,30)) │ │ ├── pattern: @@ -3820,13 +3840,13 @@ │ │ @ CallNode (location: (164,5)-(164,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (164,5)-(164,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (164,10)-(164,32)) │ │ ├── pattern: @@ -3858,13 +3878,13 @@ │ │ @ CallNode (location: (165,5)-(165,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (165,5)-(165,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (165,10)-(165,32)) │ │ ├── pattern: @@ -3886,7 +3906,8 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (165,13)-(165,16) = "%i[" - │ │ │ │ └── closing_loc: (165,19)-(165,20) = "]" + │ │ │ │ ├── closing_loc: (165,19)-(165,20) = "]" + │ │ │ │ └── flags: ∅ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3900,13 +3921,13 @@ │ │ @ CallNode (location: (166,5)-(166,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (166,5)-(166,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (166,10)-(166,32)) │ │ ├── pattern: @@ -3928,7 +3949,8 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (166,13)-(166,16) = "%I[" - │ │ │ │ └── closing_loc: (166,19)-(166,20) = "]" + │ │ │ │ ├── closing_loc: (166,19)-(166,20) = "]" + │ │ │ │ └── flags: ∅ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3942,13 +3964,13 @@ │ │ @ CallNode (location: (167,5)-(167,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (167,5)-(167,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (167,10)-(167,32)) │ │ ├── pattern: @@ -3971,7 +3993,8 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (167,13)-(167,16) = "%w[" - │ │ │ │ └── closing_loc: (167,19)-(167,20) = "]" + │ │ │ │ ├── closing_loc: (167,19)-(167,20) = "]" + │ │ │ │ └── flags: ∅ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -3985,13 +4008,13 @@ │ │ @ CallNode (location: (168,5)-(168,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (168,5)-(168,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (168,10)-(168,32)) │ │ ├── pattern: @@ -4014,7 +4037,8 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "foo" │ │ │ │ ├── opening_loc: (168,13)-(168,16) = "%W[" - │ │ │ │ └── closing_loc: (168,19)-(168,20) = "]" + │ │ │ │ ├── closing_loc: (168,19)-(168,20) = "]" + │ │ │ │ └── flags: ∅ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4028,13 +4052,13 @@ │ │ @ CallNode (location: (169,5)-(169,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (169,5)-(169,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (169,10)-(169,32)) │ │ ├── pattern: @@ -4067,13 +4091,13 @@ │ │ @ CallNode (location: (170,5)-(170,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (170,5)-(170,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (170,10)-(170,32)) │ │ ├── pattern: @@ -4106,13 +4130,13 @@ │ │ @ CallNode (location: (171,5)-(171,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (171,5)-(171,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (171,10)-(171,30)) │ │ ├── pattern: @@ -4145,13 +4169,13 @@ │ │ @ CallNode (location: (172,5)-(172,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (172,5)-(172,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (172,10)-(172,28)) │ │ ├── pattern: @@ -4179,13 +4203,13 @@ │ │ @ CallNode (location: (173,5)-(173,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (173,5)-(173,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (173,10)-(173,29)) │ │ ├── pattern: @@ -4213,13 +4237,13 @@ │ │ @ CallNode (location: (174,5)-(174,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (174,5)-(174,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (174,10)-(174,29)) │ │ ├── pattern: @@ -4247,13 +4271,13 @@ │ │ @ CallNode (location: (175,5)-(175,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (175,5)-(175,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (175,10)-(175,30)) │ │ ├── pattern: @@ -4281,13 +4305,13 @@ │ │ @ CallNode (location: (176,5)-(176,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (176,5)-(176,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (176,10)-(176,33)) │ │ ├── pattern: @@ -4316,13 +4340,13 @@ │ │ @ CallNode (location: (177,5)-(177,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (177,5)-(177,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (177,10)-(177,33)) │ │ ├── pattern: @@ -4350,13 +4374,13 @@ │ │ @ CallNode (location: (178,5)-(178,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (178,5)-(178,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (178,10)-(178,37)) │ │ ├── pattern: @@ -4384,13 +4408,13 @@ │ │ @ CallNode (location: (179,5)-(179,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (179,5)-(179,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (179,10)-(179,35)) │ │ ├── pattern: @@ -4432,13 +4456,13 @@ │ │ │ @ CallNode (location: (181,3)-(181,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (181,3)-(181,4) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (181,8)-(181,10)) │ │ │ ├── constant: ∅ @@ -4457,13 +4481,13 @@ │ │ @ CallNode (location: (184,0)-(184,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (184,0)-(184,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── pattern: │ │ @ ArrayPatternNode (location: (184,5)-(186,1)) │ │ ├── constant: ∅ @@ -4481,13 +4505,13 @@ │ │ @ CallNode (location: (188,0)-(188,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (188,0)-(188,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ HashPatternNode (location: (188,7)-(192,1)) │ │ ├── constant: @@ -4532,13 +4556,13 @@ │ │ @ CallNode (location: (194,0)-(194,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (194,0)-(194,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── pattern: │ │ @ CapturePatternNode (location: (194,7)-(194,17)) │ │ ├── value: @@ -4551,27 +4575,104 @@ │ │ │ └── depth: 0 │ │ └── operator_loc: (194,11)-(194,13) = "=>" │ └── operator_loc: (194,4)-(194,6) = "in" - └── @ MatchRequiredNode (location: (195,0)-(195,17)) - ├── value: - │ @ CallNode (location: (195,0)-(195,3)) - │ ├── receiver: ∅ - │ ├── call_operator_loc: ∅ - │ ├── message_loc: (195,0)-(195,3) = "foo" - │ ├── opening_loc: ∅ - │ ├── arguments: ∅ - │ ├── closing_loc: ∅ - │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo - ├── pattern: - │ @ CapturePatternNode (location: (195,7)-(195,17)) - │ ├── value: - │ │ @ LocalVariableTargetNode (location: (195,7)-(195,10)) - │ │ ├── name: :bar - │ │ └── depth: 0 - │ ├── target: - │ │ @ LocalVariableTargetNode (location: (195,14)-(195,17)) - │ │ ├── name: :baz - │ │ └── depth: 0 - │ └── operator_loc: (195,11)-(195,13) = "=>" - └── operator_loc: (195,4)-(195,6) = "=>" + ├── @ MatchRequiredNode (location: (195,0)-(195,17)) + │ ├── value: + │ │ @ CallNode (location: (195,0)-(195,3)) + │ │ ├── receiver: ∅ + │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo + │ │ ├── message_loc: (195,0)-(195,3) = "foo" + │ │ ├── opening_loc: ∅ + │ │ ├── arguments: ∅ + │ │ ├── closing_loc: ∅ + │ │ ├── block: ∅ + │ │ └── flags: variable_call + │ ├── pattern: + │ │ @ CapturePatternNode (location: (195,7)-(195,17)) + │ │ ├── value: + │ │ │ @ LocalVariableTargetNode (location: (195,7)-(195,10)) + │ │ │ ├── name: :bar + │ │ │ └── depth: 0 + │ │ ├── target: + │ │ │ @ LocalVariableTargetNode (location: (195,14)-(195,17)) + │ │ │ ├── name: :baz + │ │ │ └── depth: 0 + │ │ └── operator_loc: (195,11)-(195,13) = "=>" + │ └── operator_loc: (195,4)-(195,6) = "=>" + ├── @ MultiWriteNode (location: (197,0)-(197,20)) + │ ├── lefts: (length: 3) + │ │ ├── @ LocalVariableTargetNode (location: (197,0)-(197,3)) + │ │ │ ├── name: :foo + │ │ │ └── depth: 0 + │ │ ├── @ LocalVariableTargetNode (location: (197,5)-(197,8)) + │ │ │ ├── name: :bar + │ │ │ └── depth: 0 + │ │ └── @ LocalVariableTargetNode (location: (197,10)-(197,13)) + │ │ ├── name: :baz + │ │ └── depth: 0 + │ ├── rest: ∅ + │ ├── rights: (length: 0) + │ ├── lparen_loc: ∅ + │ ├── rparen_loc: ∅ + │ ├── operator_loc: (197,14)-(197,15) = "=" + │ └── value: + │ @ ArrayNode (location: (197,16)-(197,20)) + │ ├── elements: (length: 2) + │ │ ├── @ IntegerNode (location: (197,16)-(197,17)) + │ │ │ └── flags: decimal + │ │ └── @ IntegerNode (location: (197,19)-(197,20)) + │ │ └── flags: decimal + │ ├── opening_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: ∅ + └── @ CallNode (location: (198,0)-(200,3)) + ├── receiver: ∅ + ├── call_operator_loc: ∅ + ├── name: :foo + ├── message_loc: (198,0)-(198,3) = "foo" + ├── opening_loc: ∅ + ├── arguments: ∅ + ├── closing_loc: ∅ + ├── block: + │ @ BlockNode (location: (198,4)-(200,3)) + │ ├── locals: [] + │ ├── parameters: ∅ + │ ├── body: + │ │ @ StatementsNode (location: (199,2)-(199,29)) + │ │ └── body: (length: 1) + │ │ └── @ MatchRequiredNode (location: (199,2)-(199,29)) + │ │ ├── value: + │ │ │ @ ArrayNode (location: (199,2)-(199,8)) + │ │ │ ├── elements: (length: 2) + │ │ │ │ ├── @ IntegerNode (location: (199,3)-(199,4)) + │ │ │ │ │ └── flags: decimal + │ │ │ │ └── @ IntegerNode (location: (199,6)-(199,7)) + │ │ │ │ └── flags: decimal + │ │ │ ├── opening_loc: (199,2)-(199,3) = "[" + │ │ │ ├── closing_loc: (199,7)-(199,8) = "]" + │ │ │ └── flags: ∅ + │ │ ├── pattern: + │ │ │ @ CapturePatternNode (location: (199,12)-(199,29)) + │ │ │ ├── value: + │ │ │ │ @ ArrayPatternNode (location: (199,12)-(199,22)) + │ │ │ │ ├── constant: ∅ + │ │ │ │ ├── requireds: (length: 2) + │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (199,13)-(199,16)) + │ │ │ │ │ │ ├── name: :foo + │ │ │ │ │ │ └── depth: 1 + │ │ │ │ │ └── @ LocalVariableTargetNode (location: (199,18)-(199,21)) + │ │ │ │ │ ├── name: :bar + │ │ │ │ │ └── depth: 1 + │ │ │ │ ├── rest: ∅ + │ │ │ │ ├── posts: (length: 0) + │ │ │ │ ├── opening_loc: (199,12)-(199,13) = "[" + │ │ │ │ └── closing_loc: (199,21)-(199,22) = "]" + │ │ │ ├── target: + │ │ │ │ @ LocalVariableTargetNode (location: (199,26)-(199,29)) + │ │ │ │ ├── name: :baz + │ │ │ │ └── depth: 1 + │ │ │ └── operator_loc: (199,23)-(199,25) = "=>" + │ │ └── operator_loc: (199,9)-(199,11) = "=>" + │ ├── opening_loc: (198,4)-(198,6) = "do" + │ └── closing_loc: (200,0)-(200,3) = "end" + └── flags: ∅ diff --git a/test/prism/snapshots/procs.txt b/test/prism/snapshots/procs.txt index c29c39fede0092..25783cfb342930 100644 --- a/test/prism/snapshots/procs.txt +++ b/test/prism/snapshots/procs.txt @@ -95,13 +95,13 @@ │ └── @ CallNode (location: (13,5)-(13,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (13,5)-(13,8) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── @ LambdaNode (location: (15,0)-(15,15)) │ ├── locals: [] │ ├── operator_loc: (15,0)-(15,2) = "->" @@ -114,13 +114,13 @@ │ └── @ CallNode (location: (15,7)-(15,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (15,7)-(15,10) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── @ LambdaNode (location: (17,0)-(17,29)) │ ├── locals: [:a, :b, :c, :d, :e] │ ├── operator_loc: (17,0)-(17,2) = "->" @@ -323,6 +323,7 @@ │ │ ├── name: :a │ │ └── depth: 1 │ ├── call_operator_loc: ∅ + │ ├── name: :* │ ├── message_loc: (25,18)-(25,19) = "*" │ ├── opening_loc: ∅ │ ├── arguments: @@ -334,8 +335,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ └── @ LambdaNode (location: (27,0)-(27,19)) ├── locals: [:a, :b, :c] ├── operator_loc: (27,0)-(27,2) = "->" diff --git a/test/prism/snapshots/ranges.txt b/test/prism/snapshots/ranges.txt index 8b946d5f0391ab..f52f93633caaed 100644 --- a/test/prism/snapshots/ranges.txt +++ b/test/prism/snapshots/ranges.txt @@ -1,8 +1,8 @@ -@ ProgramNode (location: (1,0)-(17,5)) +@ ProgramNode (location: (1,0)-(19,8)) ├── locals: [] └── statements: - @ StatementsNode (location: (1,0)-(17,5)) - └── body: (length: 9) + @ StatementsNode (location: (1,0)-(19,8)) + └── body: (length: 10) ├── @ ParenthesesNode (location: (1,0)-(1,6)) │ ├── body: │ │ @ StatementsNode (location: (1,1)-(1,5)) @@ -43,14 +43,15 @@ │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,0)-(7,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :[] │ ├── message_loc: (7,3)-(7,9) = "[...2]" │ ├── opening_loc: (7,3)-(7,4) = "[" │ ├── arguments: @@ -66,8 +67,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (7,8)-(7,9) = "]" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :[] + │ └── flags: ∅ ├── @ HashNode (location: (9,0)-(9,15)) │ ├── opening_loc: (9,0)-(9,1) = "{" │ ├── elements: (length: 1) @@ -85,13 +85,13 @@ │ │ │ │ @ CallNode (location: (9,10)-(9,13)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (9,10)-(9,13) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── operator_loc: (9,7)-(9,10) = "..." │ │ │ └── flags: exclude_end │ │ └── operator_loc: ∅ @@ -135,27 +135,41 @@ │ │ │ │ @ CallNode (location: (15,9)-(15,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (15,9)-(15,12) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ ├── operator_loc: (15,7)-(15,9) = ".." │ │ │ └── flags: ∅ │ │ └── operator_loc: ∅ │ └── closing_loc: (15,13)-(15,14) = "}" - └── @ ParenthesesNode (location: (17,0)-(17,5)) - ├── body: - │ @ StatementsNode (location: (17,1)-(17,4)) - │ └── body: (length: 1) - │ └── @ RangeNode (location: (17,1)-(17,4)) - │ ├── left: - │ │ @ IntegerNode (location: (17,1)-(17,2)) - │ │ └── flags: decimal - │ ├── right: ∅ - │ ├── operator_loc: (17,2)-(17,4) = ".." - │ └── flags: ∅ - ├── opening_loc: (17,0)-(17,1) = "(" - └── closing_loc: (17,4)-(17,5) = ")" + ├── @ ParenthesesNode (location: (17,0)-(17,5)) + │ ├── body: + │ │ @ StatementsNode (location: (17,1)-(17,4)) + │ │ └── body: (length: 1) + │ │ └── @ RangeNode (location: (17,1)-(17,4)) + │ │ ├── left: + │ │ │ @ IntegerNode (location: (17,1)-(17,2)) + │ │ │ └── flags: decimal + │ │ ├── right: ∅ + │ │ ├── operator_loc: (17,2)-(17,4) = ".." + │ │ └── flags: ∅ + │ ├── opening_loc: (17,0)-(17,1) = "(" + │ └── closing_loc: (17,4)-(17,5) = ")" + └── @ RangeNode (location: (19,0)-(19,8)) + ├── left: + │ @ IntegerNode (location: (19,0)-(19,1)) + │ └── flags: decimal + ├── right: + │ @ RangeNode (location: (19,5)-(19,8)) + │ ├── left: ∅ + │ ├── right: + │ │ @ IntegerNode (location: (19,7)-(19,8)) + │ │ └── flags: decimal + │ ├── operator_loc: (19,5)-(19,7) = ".." + │ └── flags: ∅ + ├── operator_loc: (19,2)-(19,4) = ".." + └── flags: ∅ diff --git a/test/prism/snapshots/regex.txt b/test/prism/snapshots/regex.txt index b69e5cc31eeaf0..3b6ed09c536644 100644 --- a/test/prism/snapshots/regex.txt +++ b/test/prism/snapshots/regex.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,8 +21,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ RegularExpressionNode (location: (3,0)-(3,8)) │ ├── opening_loc: (3,0)-(3,3) = "%r{" │ ├── content_loc: (3,3)-(3,6) = "abc" @@ -67,13 +67,13 @@ │ │ │ │ └── @ CallNode (location: (9,7)-(9,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bbb │ │ │ │ ├── message_loc: (9,7)-(9,10) = "bbb" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bbb + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (9,10)-(9,11) = "}" │ │ └── @ StringNode (location: (9,11)-(9,15)) │ │ ├── flags: ∅ @@ -96,6 +96,7 @@ │ │ │ │ │ ├── unescaped: "(?bar)" │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :=~ │ │ │ │ ├── message_loc: (11,15)-(11,17) = "=~" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: @@ -104,18 +105,17 @@ │ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :baz │ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :baz + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :=~ + │ │ │ │ └── flags: ∅ │ │ │ └── targets: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (11,5)-(11,8)) │ │ │ ├── name: :foo @@ -124,7 +124,8 @@ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── opening_loc: (11,0)-(11,1) = "[" - │ └── closing_loc: (11,26)-(11,27) = "]" + │ ├── closing_loc: (11,26)-(11,27) = "]" + │ └── flags: ∅ ├── @ RegularExpressionNode (location: (13,0)-(13,6)) │ ├── opening_loc: (13,0)-(13,1) = "/" │ ├── content_loc: (13,1)-(13,4) = "abc" @@ -164,6 +165,7 @@ │ │ ├── unescaped: "(?#\\))" │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :=~ │ ├── message_loc: (26,9)-(26,11) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -178,8 +180,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=~ + │ └── flags: ∅ ├── @ RegularExpressionNode (location: (28,0)-(28,9)) │ ├── opening_loc: (28,0)-(28,3) = "%r#" │ ├── content_loc: (28,3)-(28,8) = "pound" @@ -203,13 +204,13 @@ │ │ │ └── @ CallNode (location: (30,7)-(30,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bbb │ │ │ ├── message_loc: (30,7)-(30,10) = "bbb" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bbb + │ │ │ └── flags: variable_call │ │ └── closing_loc: (30,10)-(30,11) = "}" │ ├── closing_loc: (30,11)-(30,13) = "/o" │ └── flags: once @@ -224,6 +225,7 @@ │ │ │ ├── unescaped: "(?)" │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :=~ │ │ ├── message_loc: (33,5)-(33,7) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -238,8 +240,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :=~ + │ │ └── flags: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (32,0)-(33,4)) │ ├── name: :ab @@ -258,6 +259,7 @@ │ │ │ ├── unescaped: "(?)(?)" │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :=~ │ │ ├── message_loc: (35,19)-(35,21) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -272,8 +274,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :=~ + │ │ └── flags: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (35,4)-(35,7)) │ ├── name: :abc @@ -290,6 +291,7 @@ │ │ ├── unescaped: "(?)" │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :=~ │ ├── message_loc: (37,11)-(37,13) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -304,8 +306,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=~ + │ └── flags: ∅ ├── @ LocalVariableWriteNode (location: (39,0)-(39,5)) │ ├── name: :a │ ├── depth: 0 @@ -317,6 +318,7 @@ └── @ CallNode (location: (40,0)-(40,24)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :tap ├── message_loc: (40,0)-(40,3) = "tap" ├── opening_loc: ∅ ├── arguments: ∅ @@ -339,6 +341,7 @@ │ │ │ │ ├── unescaped: "(?)" │ │ │ │ └── flags: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :=~ │ │ │ ├── message_loc: (40,15)-(40,17) = "=~" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -347,23 +350,21 @@ │ │ │ │ │ └── @ CallNode (location: (40,18)-(40,22)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :to_s │ │ │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :to_s + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :=~ + │ │ │ └── flags: ∅ │ │ └── targets: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11)) │ │ ├── name: :a │ │ └── depth: 1 │ ├── opening_loc: (40,4)-(40,5) = "{" │ └── closing_loc: (40,23)-(40,24) = "}" - ├── flags: ∅ - └── name: :tap + └── flags: ∅ diff --git a/test/prism/snapshots/rescue.txt b/test/prism/snapshots/rescue.txt index be4116717b4e5d..4537d911cfffb4 100644 --- a/test/prism/snapshots/rescue.txt +++ b/test/prism/snapshots/rescue.txt @@ -8,13 +8,13 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── keyword_loc: (1,4)-(1,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,11)-(1,14)) @@ -23,13 +23,13 @@ │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── keyword_loc: (3,4)-(3,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (4,0)-(4,3)) @@ -62,13 +62,13 @@ │ │ @ CallNode (location: (12,0)-(12,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (12,0)-(12,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── keyword_loc: (12,4)-(12,10) = "rescue" │ └── rescue_expression: │ @ OrNode (location: (12,11)-(12,19)) @@ -83,13 +83,13 @@ │ │ @ CallNode (location: (14,0)-(14,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (14,0)-(14,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── keyword_loc: (14,4)-(14,10) = "rescue" │ └── rescue_expression: │ @ IfNode (location: (14,11)-(14,22)) @@ -120,13 +120,13 @@ │ │ └── @ CallNode (location: (16,7)-(16,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (16,7)-(16,8) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (16,10)-(16,19)) │ │ ├── keyword_loc: (16,10)-(16,16) = "rescue" @@ -137,13 +137,13 @@ │ │ │ @ CallNode (location: (16,18)-(16,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (16,18)-(16,19) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: ∅ @@ -154,6 +154,7 @@ ├── @ CallNode (location: (18,0)-(20,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (18,0)-(18,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -185,6 +186,7 @@ │ │ │ │ @ CallNode (location: (19,2)-(19,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar" │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" │ │ │ │ ├── arguments: @@ -193,23 +195,23 @@ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :y │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :y + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: ∅ │ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ CallNode (location: (19,16)-(19,40)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :ArgumentError │ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -218,6 +220,7 @@ │ │ │ │ │ └── @ CallNode (location: (19,30)-(19,40)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :fail │ │ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: @@ -232,17 +235,14 @@ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :fail + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :ArgumentError + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (18,4)-(18,6) = "do" │ │ └── closing_loc: (20,0)-(20,3) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ ├── @ IfNode (location: (22,0)-(24,3)) │ ├── if_keyword_loc: (22,0)-(22,2) = "if" │ ├── predicate: @@ -256,13 +256,13 @@ │ │ │ │ @ CallNode (location: (22,7)-(22,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (22,7)-(22,10) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ NilNode (location: (22,18)-(22,21)) @@ -274,13 +274,13 @@ │ │ └── @ CallNode (location: (23,2)-(23,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (23,2)-(23,5) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ ├── consequent: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ DefNode (location: (26,0)-(26,44)) @@ -296,6 +296,7 @@ │ │ │ @ CallNode (location: (26,18)-(26,33)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :other_method │ │ │ ├── message_loc: (26,18)-(26,30) = "other_method" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -306,8 +307,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :other_method + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (26,34)-(26,40) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (26,41)-(26,44)) @@ -332,6 +332,7 @@ │ │ └── @ CallNode (location: (29,2)-(29,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (29,2)-(29,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -352,19 +353,18 @@ │ │ │ │ │ @ CallNode (location: (29,4)-(29,6)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :b │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :b + │ │ │ │ │ └── flags: ∅ │ │ │ │ └── operator_loc: ∅ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :a + │ │ └── flags: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (30,0)-(30,6)) │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" diff --git a/test/prism/snapshots/return.txt b/test/prism/snapshots/return.txt index 7f0ee3f0ef07e3..455494323ea3ff 100644 --- a/test/prism/snapshots/return.txt +++ b/test/prism/snapshots/return.txt @@ -93,7 +93,8 @@ │ │ │ └── @ IntegerNode (location: (14,14)-(14,15)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (14,7)-(14,8) = "[" - │ │ └── closing_loc: (14,15)-(14,16) = "]" + │ │ ├── closing_loc: (14,15)-(14,16) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── @ ReturnNode (location: (16,0)-(19,1)) │ ├── keyword_loc: (16,0)-(16,6) = "return" diff --git a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt index 0b48a86b5cf8b5..aa8ee4dfcd2d54 100644 --- a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt +++ b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt @@ -6,7 +6,8 @@ ├── @ ArrayNode (location: (1,0)-(4,1)) │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%I[" - │ └── closing_loc: (4,0)-(4,1) = "]" + │ ├── closing_loc: (4,0)-(4,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (6,0)-(9,1)) │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (7,0)-(7,5)) @@ -20,11 +21,13 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (6,0)-(6,3) = "%I[" - │ └── closing_loc: (9,0)-(9,1) = "]" + │ ├── closing_loc: (9,0)-(9,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (11,0)-(14,1)) │ ├── elements: (length: 0) │ ├── opening_loc: (11,0)-(11,3) = "%W[" - │ └── closing_loc: (14,0)-(14,1) = "]" + │ ├── closing_loc: (14,0)-(14,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (16,0)-(19,1)) │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (17,0)-(17,5)) @@ -40,11 +43,13 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (16,0)-(16,3) = "%W[" - │ └── closing_loc: (19,0)-(19,1) = "]" + │ ├── closing_loc: (19,0)-(19,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (21,0)-(24,1)) │ ├── elements: (length: 0) │ ├── opening_loc: (21,0)-(21,3) = "%i[" - │ └── closing_loc: (24,0)-(24,1) = "]" + │ ├── closing_loc: (24,0)-(24,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (26,0)-(29,1)) │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (27,0)-(27,5)) @@ -58,7 +63,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (26,0)-(26,3) = "%i[" - │ └── closing_loc: (29,0)-(29,1) = "]" + │ ├── closing_loc: (29,0)-(29,1) = "]" + │ └── flags: ∅ ├── @ RegularExpressionNode (location: (31,0)-(34,1)) │ ├── opening_loc: (31,0)-(31,3) = "%r[" │ ├── content_loc: (31,3)-(34,0) = "\n\n\n" @@ -68,7 +74,8 @@ ├── @ ArrayNode (location: (36,0)-(39,1)) │ ├── elements: (length: 0) │ ├── opening_loc: (36,0)-(36,3) = "%w[" - │ └── closing_loc: (39,0)-(39,1) = "]" + │ ├── closing_loc: (39,0)-(39,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (41,0)-(44,1)) │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (42,0)-(42,5)) @@ -84,7 +91,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (41,0)-(41,3) = "%w[" - │ └── closing_loc: (44,0)-(44,1) = "]" + │ ├── closing_loc: (44,0)-(44,1) = "]" + │ └── flags: ∅ ├── @ ArrayNode (location: (46,0)-(49,1)) │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (47,0)-(47,6)) @@ -98,7 +106,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line3" │ ├── opening_loc: (46,0)-(46,1) = "[" - │ └── closing_loc: (49,0)-(49,1) = "]" + │ ├── closing_loc: (49,0)-(49,1) = "]" + │ └── flags: ∅ ├── @ ClassNode (location: (51,0)-(56,3)) │ ├── locals: [] │ ├── class_keyword_loc: (51,0)-(51,5) = "class" @@ -137,6 +146,7 @@ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (54,6)-(54,7) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -148,8 +158,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── locals: [:a, :b] │ │ ├── def_keyword_loc: (52,2)-(52,5) = "def" │ │ ├── operator_loc: (52,10)-(52,11) = "." @@ -229,6 +238,7 @@ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (69,6)-(69,7) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -240,8 +250,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── locals: [:a, :b] │ │ ├── def_keyword_loc: (67,2)-(67,5) = "def" │ │ ├── operator_loc: ∅ @@ -277,7 +286,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "line4" │ │ │ ├── opening_loc: (75,6)-(75,7) = "[" - │ │ │ └── closing_loc: (78,2)-(78,3) = "]" + │ │ │ ├── closing_loc: (78,2)-(78,3) = "]" + │ │ │ └── flags: ∅ │ │ └── operator_loc: (75,4)-(75,5) = "=" │ ├── end_keyword_loc: (79,0)-(79,3) = "end" │ └── name: :X @@ -313,6 +323,7 @@ └── @ CallNode (location: (89,0)-(92,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (89,0)-(89,1) = "x" ├── opening_loc: (89,1)-(89,2) = "(" ├── arguments: @@ -331,5 +342,4 @@ │ └── flags: ∅ ├── closing_loc: (92,0)-(92,1) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/and_multi.txt b/test/prism/snapshots/seattlerb/and_multi.txt index 890b6ec2fc777f..ab73ffd0766b50 100644 --- a/test/prism/snapshots/seattlerb/and_multi.txt +++ b/test/prism/snapshots/seattlerb/and_multi.txt @@ -13,13 +13,13 @@ │ │ ├── receiver: │ │ │ @ FalseNode (location: (2,4)-(2,9)) │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :! │ │ ├── message_loc: (2,0)-(2,3) = "not" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :! + │ │ └── flags: ∅ │ └── operator_loc: (1,5)-(1,8) = "and" ├── right: │ @ TrueNode (location: (3,0)-(3,4)) diff --git a/test/prism/snapshots/seattlerb/aref_args_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_assocs.txt index 02bfd74b502115..79381cd827f22d 100644 --- a/test/prism/snapshots/seattlerb/aref_args_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_assocs.txt @@ -16,4 +16,5 @@ │ │ └── flags: decimal │ └── operator_loc: (1,3)-(1,5) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" - └── closing_loc: (1,7)-(1,8) = "]" + ├── closing_loc: (1,7)-(1,8) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt index bbe45dfc0e5344..c2dd80997f3bd7 100644 --- a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt @@ -18,4 +18,5 @@ │ │ └── flags: decimal │ └── operator_loc: (1,6)-(1,8) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" - └── closing_loc: (1,10)-(1,11) = "]" + ├── closing_loc: (1,10)-(1,11) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/array_line_breaks.txt b/test/prism/snapshots/seattlerb/array_line_breaks.txt index b6ebac16883897..9008feb483b1e3 100644 --- a/test/prism/snapshots/seattlerb/array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/array_line_breaks.txt @@ -18,6 +18,7 @@ │ │ ├── closing_loc: (3,2)-(3,3) = "'" │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ └── closing_loc: (3,3)-(3,4) = "]" + │ ├── closing_loc: (3,3)-(3,4) = "]" + │ └── flags: ∅ └── @ IntegerNode (location: (4,0)-(4,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt index 20eb6a10e6d72c..f67eb1fc16a1e5 100644 --- a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt +++ b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt @@ -8,26 +8,28 @@ │ │ @ ArrayNode (location: (1,0)-(1,4)) │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,0)-(1,3) = "%w[" - │ │ └── closing_loc: (1,3)-(1,4) = "]" + │ │ ├── closing_loc: (1,3)-(1,4) = "]" + │ │ └── flags: ∅ │ ├── call_operator_loc: (1,4)-(1,5) = "." + │ ├── name: :b │ ├── message_loc: (1,5)-(1,6) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,4)) ├── receiver: │ @ ArrayNode (location: (3,0)-(3,2)) │ ├── elements: (length: 0) │ ├── opening_loc: (3,0)-(3,1) = "[" - │ └── closing_loc: (3,1)-(3,2) = "]" + │ ├── closing_loc: (3,1)-(3,2) = "]" + │ └── flags: ∅ ├── call_operator_loc: (3,2)-(3,3) = "." + ├── name: :b ├── message_loc: (3,3)-(3,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/assoc__bare.txt b/test/prism/snapshots/seattlerb/assoc__bare.txt index d79ccd8ceb52c3..b5b3bc5f251c5f 100644 --- a/test/prism/snapshots/seattlerb/assoc__bare.txt +++ b/test/prism/snapshots/seattlerb/assoc__bare.txt @@ -19,12 +19,12 @@ │ │ @ CallNode (location: (1,2)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y │ │ ├── message_loc: (1,2)-(1,3) = "y" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :y + │ │ └── flags: ∅ │ └── operator_loc: ∅ └── closing_loc: (1,5)-(1,6) = "}" diff --git a/test/prism/snapshots/seattlerb/assoc_label.txt b/test/prism/snapshots/seattlerb/assoc_label.txt index 591918a8989959..6f79b2ca25c28f 100644 --- a/test/prism/snapshots/seattlerb/assoc_label.txt +++ b/test/prism/snapshots/seattlerb/assoc_label.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -27,5 +28,4 @@ │ └── flags: ∅ ├── closing_loc: (1,5)-(1,6) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt index f7a25fa4c6054d..43e32673c2ddf1 100644 --- a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt +++ b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt @@ -8,6 +8,7 @@ │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" + ├── name: :b= ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :b= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt index 6f028e416b2add..89650b8d09128a 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,1)-(1,9) = "[[1, 2]]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -28,11 +29,11 @@ │ │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) │ │ │ │ └── flags: decimal │ │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ │ └── closing_loc: (1,7)-(1,8) = "]" + │ │ │ ├── closing_loc: (1,7)-(1,8) = "]" + │ │ │ └── flags: ∅ │ │ └── @ IntegerNode (location: (1,12)-(1,13)) │ │ └── flags: decimal │ └── flags: ∅ ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt index 016a491b70cf1e..995f191a370407 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt @@ -16,8 +16,10 @@ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) │ │ └── flags: decimal │ ├── opening_loc: (1,0)-(1,1) = "[" - │ └── closing_loc: (1,11)-(1,12) = "]" + │ ├── closing_loc: (1,11)-(1,12) = "]" + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,12)-(1,24) = "[from .. to]" ├── opening_loc: (1,12)-(1,13) = "[" ├── arguments: @@ -28,24 +30,24 @@ │ │ │ │ @ CallNode (location: (1,13)-(1,17)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :from │ │ │ │ ├── message_loc: (1,13)-(1,17) = "from" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :from + │ │ │ │ └── flags: variable_call │ │ │ ├── right: │ │ │ │ @ CallNode (location: (1,21)-(1,23)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :to │ │ │ │ ├── message_loc: (1,21)-(1,23) = "to" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :to + │ │ │ │ └── flags: variable_call │ │ │ ├── operator_loc: (1,18)-(1,20) = ".." │ │ │ └── flags: ∅ │ │ └── @ ArrayNode (location: (1,27)-(1,42)) @@ -69,9 +71,9 @@ │ │ │ ├── closing_loc: (1,40)-(1,41) = "\"" │ │ │ └── unescaped: "c" │ │ ├── opening_loc: (1,27)-(1,28) = "[" - │ │ └── closing_loc: (1,41)-(1,42) = "]" + │ │ ├── closing_loc: (1,41)-(1,42) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: (1,23)-(1,24) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt index df216d9248ce98..00777ecff4bfc6 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :B= ├── message_loc: (1,2)-(1,3) = "B" ├── opening_loc: ∅ ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :B= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt index 40734d9f8651a2..dd6dac632d6865 100644 --- a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt +++ b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,0)-(1,1) = "x" ├── opening_loc: ∅ ├── arguments: @@ -22,17 +23,16 @@ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :y │ │ │ │ ├── message_loc: (1,5)-(1,6) = "y" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :y + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ └── closing_loc: (1,7)-(1,8) = "`" │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bang_eq.txt b/test/prism/snapshots/seattlerb/bang_eq.txt index be17b76bcfa4e0..cdf6b0407f83d3 100644 --- a/test/prism/snapshots/seattlerb/bang_eq.txt +++ b/test/prism/snapshots/seattlerb/bang_eq.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :!= ├── message_loc: (1,2)-(1,4) = "!=" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :!= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bdot2.txt b/test/prism/snapshots/seattlerb/bdot2.txt index d2a2ade1224d85..d4563230d73b09 100644 --- a/test/prism/snapshots/seattlerb/bdot2.txt +++ b/test/prism/snapshots/seattlerb/bdot2.txt @@ -16,22 +16,22 @@ │ │ @ CallNode (location: (2,4)-(2,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,4)-(2,5) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── operator_loc: (2,2)-(2,4) = ".." │ └── flags: ∅ └── @ CallNode (location: (3,2)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (3,2)-(3,3) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/bdot3.txt b/test/prism/snapshots/seattlerb/bdot3.txt index 29e5cc914bf2a0..efbea919137db2 100644 --- a/test/prism/snapshots/seattlerb/bdot3.txt +++ b/test/prism/snapshots/seattlerb/bdot3.txt @@ -16,22 +16,22 @@ │ │ @ CallNode (location: (2,5)-(2,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,5)-(2,6) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── operator_loc: (2,2)-(2,5) = "..." │ └── flags: exclude_end └── @ CallNode (location: (3,2)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (3,2)-(3,3) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt index 04c1d508adf3f7..054e43754aedb7 100644 --- a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -34,5 +35,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,10)-(1,11) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt index 37cbf99478722f..27311588626d11 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,21)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,20)-(1,21) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt index 2d82140cd524c1..94b9fa4f010856 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,19)-(1,20) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt index 28203c6d7140db..5e362a10194dc4 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,25)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -49,5 +50,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,24)-(1,25) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_optional.txt b/test/prism/snapshots/seattlerb/block_arg_optional.txt index 9201d959c1542c..f95c7aebaaab83 100644 --- a/test/prism/snapshots/seattlerb/block_arg_optional.txt +++ b/test/prism/snapshots/seattlerb/block_arg_optional.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -37,5 +38,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_scope.txt b/test/prism/snapshots/seattlerb/block_arg_scope.txt index 3d08f4e4274fb7..1c060378ca2106 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -34,5 +35,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_scope2.txt b/test/prism/snapshots/seattlerb/block_arg_scope2.txt index 2f7d2a94afdae6..9d8da491ec7e6c 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope2.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt index 6af84e9d109d59..aad8a88607a3bf 100644 --- a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -38,5 +39,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,15)-(1,16) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_kwargs.txt index 655dd6d3f85ff2..484c64bc3617c3 100644 --- a/test/prism/snapshots/seattlerb/block_args_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_kwargs.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,23)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -39,5 +40,4 @@ │ │ └── depth: 0 │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,22)-(1,23) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt index 00f95ff5f57341..bec50cfb2a352c 100644 --- a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -33,5 +34,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_opt1.txt b/test/prism/snapshots/seattlerb/block_args_opt1.txt index 848343a2d12f17..c2cfae78c84bd3 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt1.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,24)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -48,8 +49,8 @@ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── opening_loc: (1,16)-(1,17) = "[" - │ │ └── closing_loc: (1,21)-(1,22) = "]" + │ │ ├── closing_loc: (1,21)-(1,22) = "]" + │ │ └── flags: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,23)-(1,24) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_opt2.txt b/test/prism/snapshots/seattlerb/block_args_opt2.txt index 41835cd47ea7ae..1ec66cb9fac9ff 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -44,5 +45,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt index cc4fae2f7629fb..e6722c5e6565df 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,35)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -58,8 +59,8 @@ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── opening_loc: (1,24)-(1,25) = "[" - │ │ └── closing_loc: (1,32)-(1,33) = "]" + │ │ ├── closing_loc: (1,32)-(1,33) = "]" + │ │ └── flags: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,34)-(1,35) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_opt3.txt b/test/prism/snapshots/seattlerb/block_args_opt3.txt index 3aed5365730361..0cdfa0bf8e94fe 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt3.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt3.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,42)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -65,8 +66,8 @@ │ │ │ ├── name: :d │ │ │ └── depth: 0 │ │ ├── opening_loc: (1,28)-(1,29) = "[" - │ │ └── closing_loc: (1,39)-(1,40) = "]" + │ │ ├── closing_loc: (1,39)-(1,40) = "]" + │ │ └── flags: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,41)-(1,42) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_break.txt b/test/prism/snapshots/seattlerb/block_break.txt index 2d541244d846dd..9187ab3524a4e6 100644 --- a/test/prism/snapshots/seattlerb/block_break.txt +++ b/test/prism/snapshots/seattlerb/block_break.txt @@ -10,6 +10,7 @@ │ │ └── @ CallNode (location: (1,6)-(1,26)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,6)-(1,9) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -18,13 +19,13 @@ │ │ │ │ └── @ CallNode (location: (1,10)-(1,13)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :arg │ │ │ │ ├── message_loc: (1,10)-(1,13) = "arg" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :arg + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: @@ -49,7 +50,6 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" │ │ │ └── closing_loc: (1,23)-(1,26) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ └── flags: ∅ └── keyword_loc: (1,0)-(1,5) = "break" diff --git a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt index 1f809d456f2d29..9a6ac52537ad79 100644 --- a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(3,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -32,13 +33,13 @@ │ │ │ │ └── @ CallNode (location: (2,1)-(2,2)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d │ │ │ │ ├── message_loc: (2,1)-(2,2) = "d" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :d + │ │ │ │ └── flags: variable_call │ │ │ ├── locals: [:c] │ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" │ │ │ ├── operator_loc: ∅ @@ -49,21 +50,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (4,1)-(4,11)) ├── receiver: │ @ CallNode (location: (4,1)-(4,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :e │ ├── message_loc: (4,1)-(4,2) = "e" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :e + │ └── flags: variable_call ├── call_operator_loc: (4,2)-(4,3) = "." + ├── name: :f ├── message_loc: (4,3)-(4,4) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -75,5 +76,4 @@ │ ├── body: ∅ │ ├── opening_loc: (4,5)-(4,7) = "do" │ └── closing_loc: (4,8)-(4,11) = "end" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt index 7a4d1125722f31..981b56eed5df8a 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt @@ -10,14 +10,15 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,13 +27,13 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: (1,6)-(1,7) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :c + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -45,18 +46,18 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (1,11)-(1,12) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (1,8)-(1,10) = "do" │ │ └── closing_loc: (1,13)-(1,16) = "end" - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (1,16)-(1,17) = "." + ├── name: :e ├── message_loc: (1,17)-(1,18) = "e" ├── opening_loc: ∅ ├── arguments: ∅ @@ -86,14 +87,13 @@ │ │ └── @ CallNode (location: (1,26)-(1,27)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (1,26)-(1,27) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :g + │ │ └── flags: variable_call │ ├── opening_loc: (1,19)-(1,21) = "do" │ └── closing_loc: (1,28)-(1,31) = "end" - ├── flags: ∅ - └── name: :e + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt index 6b05ca7a4fdcaa..92a264fff31bbd 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt @@ -10,14 +10,15 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,13 +27,13 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: (1,6)-(1,7) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :c + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -45,18 +46,18 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (1,11)-(1,12) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (1,8)-(1,10) = "do" │ │ └── closing_loc: (1,13)-(1,16) = "end" - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (1,16)-(1,17) = "." + ├── name: :e ├── message_loc: (1,17)-(1,18) = "e" ├── opening_loc: ∅ ├── arguments: @@ -65,13 +66,13 @@ │ │ └── @ CallNode (location: (1,19)-(1,20)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :f │ │ ├── message_loc: (1,19)-(1,20) = "f" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :f + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: @@ -99,14 +100,13 @@ │ │ └── @ CallNode (location: (1,28)-(1,29)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :h │ │ ├── message_loc: (1,28)-(1,29) = "h" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :h + │ │ └── flags: variable_call │ ├── opening_loc: (1,21)-(1,23) = "do" │ └── closing_loc: (1,30)-(1,33) = "end" - ├── flags: ∅ - └── name: :e + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt index 6fd0dcab05f0ca..35029c74c3b7f6 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt @@ -10,14 +10,15 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,13 +27,13 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -42,13 +43,12 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,6)-(1,8) = "do" │ │ └── closing_loc: (1,9)-(1,12) = "end" - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (1,12)-(1,14) = "::" + ├── name: :d ├── message_loc: (1,14)-(1,15) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :d + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt index 6560463c4d5452..85ad62fca7e3af 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt @@ -10,14 +10,15 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :b │ ├── message_loc: (1,2)-(1,3) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,13 +27,13 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -42,13 +43,12 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,6)-(1,8) = "do" │ │ └── closing_loc: (1,9)-(1,12) = "end" - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (1,12)-(1,13) = "." + ├── name: :d ├── message_loc: (1,13)-(1,14) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :d + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt index c9d3f2e3368592..08adde5fd83969 100644 --- a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -18,33 +19,33 @@ │ │ │ │ └── @ CallNode (location: (1,3)-(1,4)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ ├── opening_loc: (1,2)-(1,3) = "(" │ │ │ └── closing_loc: (1,4)-(1,5) = ")" │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (2,0)-(2,10)) ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :c │ ├── message_loc: (2,0)-(2,1) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :c + │ └── flags: variable_call ├── call_operator_loc: (2,1)-(2,2) = "." + ├── name: :d ├── message_loc: (2,2)-(2,3) = "d" ├── opening_loc: ∅ ├── arguments: ∅ @@ -56,5 +57,4 @@ │ ├── body: ∅ │ ├── opening_loc: (2,4)-(2,6) = "do" │ └── closing_loc: (2,7)-(2,10) = "end" - ├── flags: ∅ - └── name: :d + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt index 259e2580db6823..5537ba25a7afd1 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt @@ -8,6 +8,7 @@ │ @ CallNode (location: (1,0)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -27,9 +28,9 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,5)-(1,7) = "do" │ │ └── closing_loc: (1,8)-(1,11) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── call_operator_loc: (1,11)-(1,13) = "::" + ├── name: :c ├── message_loc: (1,13)-(1,14) = "c" ├── opening_loc: ∅ ├── arguments: @@ -43,5 +44,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt index 1047b99a4a7bca..13589d2262dfab 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt @@ -8,6 +8,7 @@ │ @ CallNode (location: (1,0)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -27,9 +28,9 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,5)-(1,7) = "do" │ │ └── closing_loc: (1,8)-(1,11) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── call_operator_loc: (1,11)-(1,12) = "." + ├── name: :c ├── message_loc: (1,12)-(1,13) = "c" ├── opening_loc: ∅ ├── arguments: @@ -43,5 +44,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt index 671e3c4ee5ec46..f50df15dc74192 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt index ce92bd6a2e57e2..74a3902c1a3143 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt index 67439e5e53bb65..caeda850b05ecb 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_splat.txt index 5de498cac90795..4335b5f4ac4f07 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_splat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kw.txt b/test/prism/snapshots/seattlerb/block_kw.txt index 629a88080c735c..1ace3d9389f034 100644 --- a/test/prism/snapshots/seattlerb/block_kw.txt +++ b/test/prism/snapshots/seattlerb/block_kw.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :blah ├── message_loc: (1,0)-(1,4) = "blah" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,5)-(1,6) = "{" │ └── closing_loc: (1,14)-(1,15) = "}" - ├── flags: ∅ - └── name: :blah + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kw__required.txt b/test/prism/snapshots/seattlerb/block_kw__required.txt index 10ae4f5afb92a0..f1b40925fef63a 100644 --- a/test/prism/snapshots/seattlerb/block_kw__required.txt +++ b/test/prism/snapshots/seattlerb/block_kw__required.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :blah ├── message_loc: (1,0)-(1,4) = "blah" ├── opening_loc: ∅ ├── arguments: ∅ @@ -33,5 +34,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (1,13)-(1,16) = "end" - ├── flags: ∅ - └── name: :blah + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt index 83254370725fa0..ce495a7a7e7709 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :bl ├── message_loc: (1,0)-(1,2) = "bl" ├── opening_loc: ∅ ├── arguments: ∅ @@ -44,5 +45,4 @@ │ │ └── depth: 0 │ ├── opening_loc: (1,3)-(1,4) = "{" │ └── closing_loc: (1,19)-(1,20) = "}" - ├── flags: ∅ - └── name: :bl + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt index 9c9d0853ff2954..3bf3b252f18d73 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,33)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :bl ├── message_loc: (1,0)-(1,2) = "bl" ├── opening_loc: ∅ ├── arguments: ∅ @@ -53,5 +54,4 @@ │ │ └── depth: 0 │ ├── opening_loc: (1,3)-(1,4) = "{" │ └── closing_loc: (1,32)-(1,33) = "}" - ├── flags: ∅ - └── name: :bl + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_next.txt b/test/prism/snapshots/seattlerb/block_next.txt index 6f61963d9f92e8..4fde9c73007c55 100644 --- a/test/prism/snapshots/seattlerb/block_next.txt +++ b/test/prism/snapshots/seattlerb/block_next.txt @@ -10,6 +10,7 @@ │ │ └── @ CallNode (location: (1,5)-(1,25)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,5)-(1,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -18,13 +19,13 @@ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :arg │ │ │ │ ├── message_loc: (1,9)-(1,12) = "arg" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :arg + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: @@ -49,7 +50,6 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,13)-(1,15) = "do" │ │ │ └── closing_loc: (1,22)-(1,25) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :foo + │ │ └── flags: ∅ │ └── flags: ∅ └── keyword_loc: (1,0)-(1,4) = "next" diff --git a/test/prism/snapshots/seattlerb/block_opt_arg.txt b/test/prism/snapshots/seattlerb/block_opt_arg.txt index 6cdc01e494683c..4e3863c1d0ab94 100644 --- a/test/prism/snapshots/seattlerb/block_opt_arg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -39,5 +40,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_opt_splat.txt b/test/prism/snapshots/seattlerb/block_opt_splat.txt index 1b18001c993440..54009f2e0fc019 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt index 62d18b4f4fd4e7..a1cccaf42a0e27 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,22)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -47,5 +48,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,21)-(1,22) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_optarg.txt b/test/prism/snapshots/seattlerb/block_optarg.txt index bc109a51f7ddcd..6a22978ec94c2e 100644 --- a/test/prism/snapshots/seattlerb/block_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_optarg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -40,5 +41,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_paren_splat.txt b/test/prism/snapshots/seattlerb/block_paren_splat.txt index 5782874d6d90fd..04987521feae12 100644 --- a/test/prism/snapshots/seattlerb/block_paren_splat.txt +++ b/test/prism/snapshots/seattlerb/block_paren_splat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,14)-(1,15) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_reg_optarg.txt b/test/prism/snapshots/seattlerb/block_reg_optarg.txt index 15fb24d7de647b..e9ad2f1a6a5e57 100644 --- a/test/prism/snapshots/seattlerb/block_reg_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_reg_optarg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -42,5 +43,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_return.txt b/test/prism/snapshots/seattlerb/block_return.txt index a4a010ad781b2d..858e1a9de4912f 100644 --- a/test/prism/snapshots/seattlerb/block_return.txt +++ b/test/prism/snapshots/seattlerb/block_return.txt @@ -11,6 +11,7 @@ │ └── @ CallNode (location: (1,7)-(1,27)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,7)-(1,10) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: @@ -19,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :arg │ │ │ ├── message_loc: (1,11)-(1,14) = "arg" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :arg + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -50,6 +51,5 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,15)-(1,17) = "do" │ │ └── closing_loc: (1,24)-(1,27) = "end" - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_scope.txt b/test/prism/snapshots/seattlerb/block_scope.txt index f2eead2121fc73..3a2e23d27fd76e 100644 --- a/test/prism/snapshots/seattlerb/block_scope.txt +++ b/test/prism/snapshots/seattlerb/block_scope.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,10)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -24,5 +25,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,9)-(1,10) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_splat_reg.txt b/test/prism/snapshots/seattlerb/block_splat_reg.txt index 34891ead2373ad..5f7d263def4481 100644 --- a/test/prism/snapshots/seattlerb/block_splat_reg.txt +++ b/test/prism/snapshots/seattlerb/block_splat_reg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug169.txt b/test/prism/snapshots/seattlerb/bug169.txt index 1b0d0645b68083..901778c8735d87 100644 --- a/test/prism/snapshots/seattlerb/bug169.txt +++ b/test/prism/snapshots/seattlerb/bug169.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,7)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (1,0)-(1,1) = "m" ├── opening_loc: ∅ ├── arguments: @@ -24,5 +25,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,5)-(1,6) = "{" │ └── closing_loc: (1,6)-(1,7) = "}" - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug179.txt b/test/prism/snapshots/seattlerb/bug179.txt index d8b63ae6e94808..09518791114df2 100644 --- a/test/prism/snapshots/seattlerb/bug179.txt +++ b/test/prism/snapshots/seattlerb/bug179.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -24,5 +25,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug191.txt b/test/prism/snapshots/seattlerb/bug191.txt index 20901df1a5266b..c617c4a79ac535 100644 --- a/test/prism/snapshots/seattlerb/bug191.txt +++ b/test/prism/snapshots/seattlerb/bug191.txt @@ -9,13 +9,13 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,6)) @@ -35,13 +35,13 @@ │ │ │ └── @ CallNode (location: (1,8)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,8)-(1,9) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (3,0)-(3,9)) @@ -50,13 +50,13 @@ │ @ CallNode (location: (3,0)-(3,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (3,0)-(3,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── then_keyword_loc: (3,2)-(3,3) = "?" ├── statements: │ @ StatementsNode (location: (3,4)-(3,6)) @@ -76,12 +76,12 @@ │ │ └── @ CallNode (location: (3,8)-(3,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (3,8)-(3,9) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/bug236.txt b/test/prism/snapshots/seattlerb/bug236.txt index f87c869c4bb794..8dc96d2292d9cb 100644 --- a/test/prism/snapshots/seattlerb/bug236.txt +++ b/test/prism/snapshots/seattlerb/bug236.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :x │ ├── message_loc: (1,0)-(1,1) = "x" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -36,11 +37,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,1)-(1,2) = "{" │ │ └── closing_loc: (1,6)-(1,7) = "}" - │ ├── flags: ∅ - │ └── name: :x + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (3,0)-(3,1) = "x" ├── opening_loc: ∅ ├── arguments: ∅ @@ -67,5 +68,4 @@ │ ├── body: ∅ │ ├── opening_loc: (3,1)-(3,2) = "{" │ └── closing_loc: (3,5)-(3,6) = "}" - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug290.txt b/test/prism/snapshots/seattlerb/bug290.txt index f7030371456fe5..ae57cfed238304 100644 --- a/test/prism/snapshots/seattlerb/bug290.txt +++ b/test/prism/snapshots/seattlerb/bug290.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (2,2)-(2,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (2,2)-(2,5) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_187.txt b/test/prism/snapshots/seattlerb/bug_187.txt index d0cfed9ec0c2f0..83c443c7c2ff6a 100644 --- a/test/prism/snapshots/seattlerb/bug_187.txt +++ b/test/prism/snapshots/seattlerb/bug_187.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :private ├── message_loc: (1,0)-(1,7) = "private" ├── opening_loc: ∅ ├── arguments: @@ -24,14 +25,15 @@ │ │ │ │ @ CallNode (location: (2,0)-(2,1)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (2,0)-(2,1) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ │ │ ├── name: :b │ │ │ ├── message_loc: (2,2)-(2,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -43,8 +45,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :b + │ │ │ └── flags: ∅ │ │ ├── locals: [] │ │ ├── def_keyword_loc: (1,8)-(1,11) = "def" │ │ ├── operator_loc: ∅ @@ -55,5 +56,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :private + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_249.txt b/test/prism/snapshots/seattlerb/bug_249.txt index 7a3daa032d1e58..720c4d16f22f5a 100644 --- a/test/prism/snapshots/seattlerb/bug_249.txt +++ b/test/prism/snapshots/seattlerb/bug_249.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(4,28)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :mount ├── message_loc: (1,0)-(1,5) = "mount" ├── opening_loc: ∅ ├── arguments: @@ -22,6 +23,7 @@ │ │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12)) │ │ │ │ │ │ └── name: :Class │ │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." + │ │ │ │ │ ├── name: :new │ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "new" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ @@ -48,18 +50,17 @@ │ │ │ │ │ │ │ └── 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 + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── opening_loc: (1,6)-(1,7) = "(" │ │ │ │ └── closing_loc: (4,4)-(4,5) = ")" │ │ │ ├── call_operator_loc: (4,5)-(4,6) = "." + │ │ │ ├── name: :new │ │ │ ├── message_loc: (4,6)-(4,9) = "new" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :new + │ │ │ └── flags: ∅ │ │ └── @ KeywordHashNode (location: (4,11)-(4,28)) │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (4,11)-(4,28)) @@ -80,5 +81,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :mount + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_and.txt b/test/prism/snapshots/seattlerb/bug_and.txt index 49c387a72d0705..bc52f7bdc9ef7a 100644 --- a/test/prism/snapshots/seattlerb/bug_and.txt +++ b/test/prism/snapshots/seattlerb/bug_and.txt @@ -16,5 +16,6 @@ │ @ ArrayNode (location: (4,9)-(4,11)) │ ├── elements: (length: 0) │ ├── opening_loc: (4,9)-(4,10) = "[" - │ └── closing_loc: (4,10)-(4,11) = "]" + │ ├── closing_loc: (4,10)-(4,11) = "]" + │ └── flags: ∅ └── operator_loc: (4,5)-(4,8) = "and" diff --git a/test/prism/snapshots/seattlerb/bug_args__19.txt b/test/prism/snapshots/seattlerb/bug_args__19.txt index 751f990ea00bde..f4cf1066794292 100644 --- a/test/prism/snapshots/seattlerb/bug_args__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args__19.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,14 +44,13 @@ │ │ └── @ CallNode (location: (1,13)-(1,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d │ │ ├── message_loc: (1,13)-(1,14) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :d + │ │ └── flags: variable_call │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,15)-(1,16) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn.txt b/test/prism/snapshots/seattlerb/bug_args_masgn.txt index 07972ba8596927..ba00a0c0e21006 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -42,5 +43,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt index 70a365428f6e86..f417b7e0400d78 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,22)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -50,5 +51,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,21)-(1,22) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt index 131771924c6130..8554ec03d0f98b 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -48,5 +49,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,18)-(1,19) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt index b0a3db15807ee6..ba9ed0d49fba88 100644 --- a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt @@ -14,6 +14,7 @@ │ │ └── @ CallNode (location: (2,8)-(2,17)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (2,8)-(2,9) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -32,8 +33,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :g + │ │ └── flags: ∅ │ ├── locals: [] │ ├── def_keyword_loc: (1,6)-(1,9) = "def" │ ├── operator_loc: ∅ @@ -52,6 +52,7 @@ │ │ └── @ CallNode (location: (7,8)-(7,16)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (7,8)-(7,9) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -70,8 +71,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :g + │ │ └── flags: ∅ │ ├── locals: [] │ ├── def_keyword_loc: (6,6)-(6,9) = "def" │ ├── operator_loc: ∅ @@ -82,6 +82,7 @@ └── @ CallNode (location: (11,0)-(11,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :g ├── message_loc: (11,0)-(11,1) = "g" ├── opening_loc: ∅ ├── arguments: @@ -100,5 +101,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :g + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_comma.txt b/test/prism/snapshots/seattlerb/bug_comma.txt index f4b71ff47f9384..3fca88d860dce5 100644 --- a/test/prism/snapshots/seattlerb/bug_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_comma.txt @@ -9,6 +9,7 @@ │ @ CallNode (location: (1,3)-(1,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :test │ ├── message_loc: (1,3)-(1,7) = "test" │ ├── opening_loc: ∅ │ ├── arguments: @@ -23,18 +24,17 @@ │ │ │ └── @ CallNode (location: (1,12)-(1,15)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :dir │ │ │ ├── message_loc: (1,12)-(1,15) = "dir" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :dir + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :test + │ └── flags: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_args.txt b/test/prism/snapshots/seattlerb/bug_hash_args.txt index ce35191ce98291..32d9dc91a5faa0 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :foo ├── message_loc: (1,0)-(1,3) = "foo" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: @@ -31,5 +32,4 @@ │ └── flags: ∅ ├── closing_loc: (1,18)-(1,19) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :foo + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt index 2b191dc8d4ad20..1cea78d46f7030 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :foo ├── message_loc: (1,0)-(1,3) = "foo" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: @@ -31,5 +32,4 @@ │ └── flags: ∅ ├── closing_loc: (1,19)-(1,20) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :foo + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt index e4b9536b87a8f1..30c05e8960eb69 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt @@ -20,6 +20,7 @@ │ │ @ ArrayNode (location: (1,9)-(1,11)) │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,9)-(1,10) = "[" - │ │ └── closing_loc: (1,10)-(1,11) = "]" + │ │ ├── closing_loc: (1,10)-(1,11) = "]" + │ │ └── flags: ∅ │ └── operator_loc: ∅ └── closing_loc: (1,12)-(1,13) = "}" diff --git a/test/prism/snapshots/seattlerb/bug_masgn_right.txt b/test/prism/snapshots/seattlerb/bug_masgn_right.txt index c279e0d81e01b1..fba08a0260f23e 100644 --- a/test/prism/snapshots/seattlerb/bug_masgn_right.txt +++ b/test/prism/snapshots/seattlerb/bug_masgn_right.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -42,5 +43,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_not_parens.txt b/test/prism/snapshots/seattlerb/bug_not_parens.txt index 29e62e5df97905..f5328a6eb12bf8 100644 --- a/test/prism/snapshots/seattlerb/bug_not_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_not_parens.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,4)-(1,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,4)-(1,5) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,3) = "not" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,5)-(1,6) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt index e7f92976c5db8a..e8504cc9676a62 100644 --- a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt +++ b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt @@ -12,13 +12,13 @@ │ │ @ CallNode (location: (1,6)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,15)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/call_and.txt b/test/prism/snapshots/seattlerb/call_and.txt index 47ae924fa92134..5ff2ef31f1a96b 100644 --- a/test/prism/snapshots/seattlerb/call_and.txt +++ b/test/prism/snapshots/seattlerb/call_and.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :& ├── message_loc: (1,2)-(1,3) = "&" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :& + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc.txt b/test/prism/snapshots/seattlerb/call_arg_assoc.txt index f34d403330db7c..1eeb319630f4b8 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,10)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: (1,9)-(1,10) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt index 3cd7e700f24710..ca965590209fdb 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -31,8 +32,7 @@ │ │ │ @ IntegerNode (location: (1,14)-(1,15)) │ │ │ └── flags: decimal │ │ └── operator_loc: (1,12)-(1,14) = "**" - │ └── flags: keyword_splat + │ └── flags: contains_keyword_splat ├── closing_loc: (1,15)-(1,16) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt index e9383acdf0b2c5..1d3c7c5c5c70a8 100644 --- a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -14,13 +15,13 @@ │ │ ├── @ CallNode (location: (1,2)-(1,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,2)-(1,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── @ KeywordHashNode (location: (1,5)-(1,8)) │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (1,5)-(1,8)) @@ -28,8 +29,7 @@ │ │ │ @ IntegerNode (location: (1,7)-(1,8)) │ │ │ └── flags: decimal │ │ └── operator_loc: (1,5)-(1,7) = "**" - │ └── flags: keyword_splat + │ └── flags: contains_keyword_splat ├── closing_loc: (1,8)-(1,9) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt index 4c2a1a732bb380..7bbc67bb546dcd 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :x │ ├── message_loc: (1,0)-(1,1) = "x" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,13 +27,13 @@ │ │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :k │ │ │ │ │ │ ├── message_loc: (1,5)-(1,6) = "k" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :k + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":" │ │ │ ├── value: @@ -42,11 +43,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :x + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :x │ ├── message_loc: (3,0)-(3,1) = "x" │ ├── opening_loc: ∅ │ ├── arguments: @@ -68,11 +69,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :x + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (5,0)-(5,1) = "x" ├── opening_loc: ∅ ├── arguments: @@ -94,5 +95,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt index ef78286e69dd47..a24880577723cb 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: (1,10)-(1,11) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_command.txt b/test/prism/snapshots/seattlerb/call_args_command.txt index 64d39cfede8937..2b9353e7553541 100644 --- a/test/prism/snapshots/seattlerb/call_args_command.txt +++ b/test/prism/snapshots/seattlerb/call_args_command.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: @@ -26,14 +27,15 @@ │ │ │ @ CallNode (location: (1,4)-(1,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,5)-(1,6) = "." + │ │ ├── name: :d │ │ ├── message_loc: (1,6)-(1,7) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -44,10 +46,8 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :d + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_arg.txt b/test/prism/snapshots/seattlerb/call_array_arg.txt index 7315c4bb509881..01c16c0091842f 100644 --- a/test/prism/snapshots/seattlerb/call_array_arg.txt +++ b/test/prism/snapshots/seattlerb/call_array_arg.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :== ├── message_loc: (1,2)-(1,4) = "==" ├── opening_loc: ∅ ├── arguments: @@ -26,9 +27,9 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "c" │ │ ├── opening_loc: (1,5)-(1,6) = "[" - │ │ └── closing_loc: (1,12)-(1,13) = "]" + │ │ ├── closing_loc: (1,12)-(1,13) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :== + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_block_call.txt b/test/prism/snapshots/seattlerb/call_array_block_call.txt index 9175932a4d1c0c..b5705817acb469 100644 --- a/test/prism/snapshots/seattlerb/call_array_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_block_call.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -17,6 +18,7 @@ │ │ │ └── @ CallNode (location: (1,9)-(1,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,9)-(1,10) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -28,12 +30,11 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do" │ │ │ │ └── closing_loc: (1,14)-(1,17) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :b + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ └── closing_loc: (1,18)-(1,19) = "]" + │ │ ├── closing_loc: (1,18)-(1,19) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt index 2349f73430018f..92f98926f6a3c8 100644 --- a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(2,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -26,7 +27,8 @@ │ │ │ │ └── closing_loc: (1,6)-(1,7) = ")" │ │ │ └── body: ∅ │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ └── closing_loc: (1,10)-(1,11) = "]" + │ │ ├── closing_loc: (1,10)-(1,11) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: @@ -36,5 +38,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,12)-(1,14) = "do" │ └── closing_loc: (2,0)-(2,3) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt index bb89049e90aa42..cecdfbeaecf4cf 100644 --- a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt +++ b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -32,9 +33,9 @@ │ │ │ │ └── flags: decimal │ │ │ └── operator_loc: (1,10)-(1,12) = "=>" │ │ ├── opening_loc: (1,2)-(1,3) = "[" - │ │ └── closing_loc: (1,14)-(1,15) = "]" + │ │ ├── closing_loc: (1,14)-(1,15) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: (1,15)-(1,16) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc.txt b/test/prism/snapshots/seattlerb/call_assoc.txt index b590315446fd19..5a81c892142786 100644 --- a/test/prism/snapshots/seattlerb/call_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_assoc.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,7)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -24,5 +25,4 @@ │ └── flags: ∅ ├── closing_loc: (1,6)-(1,7) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_new.txt b/test/prism/snapshots/seattlerb/call_assoc_new.txt index 557a87de7afdfa..e37e00e8247393 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -27,5 +28,4 @@ │ └── flags: ∅ ├── closing_loc: (1,5)-(1,6) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt index 0c1df7c2f27ed9..1e6c1fae01db68 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(5,4)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -49,5 +50,4 @@ │ └── flags: ∅ ├── closing_loc: (5,3)-(5,4) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt index c26f16f6a98900..6c6cd4935809d5 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -24,5 +25,4 @@ │ └── flags: ∅ ├── closing_loc: (1,7)-(1,8) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_bang_command_call.txt b/test/prism/snapshots/seattlerb/call_bang_command_call.txt index f7791021b641ef..cfc96e3ef81bd6 100644 --- a/test/prism/snapshots/seattlerb/call_bang_command_call.txt +++ b/test/prism/snapshots/seattlerb/call_bang_command_call.txt @@ -10,14 +10,15 @@ │ │ @ CallNode (location: (1,2)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,2)-(1,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :b │ ├── message_loc: (1,4)-(1,5) = "b" │ ├── opening_loc: ∅ │ ├── arguments: @@ -28,13 +29,12 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt index c89dc41a9bc59f..40ebf4c3945b4c 100644 --- a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt +++ b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :!~ ├── message_loc: (1,2)-(1,4) = "!~" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :!~ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt index 0d0b5e295abac9..ac3bccb3f65c84 100644 --- a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -21,14 +22,15 @@ │ │ │ │ @ CallNode (location: (2,0)-(2,1)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (2,0)-(2,1) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ │ │ ├── name: :c │ │ │ ├── message_loc: (2,2)-(2,3) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -40,8 +42,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" │ │ │ │ └── closing_loc: (2,7)-(2,10) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :c + │ │ │ └── flags: ∅ │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ @@ -49,5 +50,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_block_arg_named.txt b/test/prism/snapshots/seattlerb/call_block_arg_named.txt index ebcdeae8d2a326..9e5bacfe2906f7 100644 --- a/test/prism/snapshots/seattlerb/call_block_arg_named.txt +++ b/test/prism/snapshots/seattlerb/call_block_arg_named.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,0)-(1,1) = "x" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: ∅ @@ -16,13 +17,12 @@ │ │ @ CallNode (location: (1,3)-(1,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :blk │ │ ├── message_loc: (1,3)-(1,6) = "blk" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :blk + │ │ └── flags: variable_call │ └── operator_loc: (1,2)-(1,3) = "&" - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_carat.txt b/test/prism/snapshots/seattlerb/call_carat.txt index 18c12c16c599b9..d62eb417c755e1 100644 --- a/test/prism/snapshots/seattlerb/call_carat.txt +++ b/test/prism/snapshots/seattlerb/call_carat.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :^ ├── message_loc: (1,2)-(1,3) = "^" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :^ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_colon2.txt b/test/prism/snapshots/seattlerb/call_colon2.txt index 88f0ad11b7e311..9581348c6f5bc5 100644 --- a/test/prism/snapshots/seattlerb/call_colon2.txt +++ b/test/prism/snapshots/seattlerb/call_colon2.txt @@ -8,10 +8,10 @@ │ @ ConstantReadNode (location: (1,0)-(1,1)) │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" + ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_colon_parens.txt b/test/prism/snapshots/seattlerb/call_colon_parens.txt index 9c7a827badb6ad..dcdbfb4ededd39 100644 --- a/test/prism/snapshots/seattlerb/call_colon_parens.txt +++ b/test/prism/snapshots/seattlerb/call_colon_parens.txt @@ -8,10 +8,10 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: (1,1)-(1,3) = "::" + ├── name: :call ├── message_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,4)-(1,5) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :call + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_div.txt b/test/prism/snapshots/seattlerb/call_div.txt index 24a8c0668ea29a..7b6fdcabef7787 100644 --- a/test/prism/snapshots/seattlerb/call_div.txt +++ b/test/prism/snapshots/seattlerb/call_div.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :/ ├── message_loc: (1,2)-(1,3) = "/" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :/ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_dot_parens.txt b/test/prism/snapshots/seattlerb/call_dot_parens.txt index 9f3d259a01a763..774c719d935a8f 100644 --- a/test/prism/snapshots/seattlerb/call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/call_dot_parens.txt @@ -8,10 +8,10 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :call ├── message_loc: ∅ ├── opening_loc: (1,2)-(1,3) = "(" ├── arguments: ∅ ├── closing_loc: (1,3)-(1,4) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :call + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_env.txt b/test/prism/snapshots/seattlerb/call_env.txt index af6dd94696d23f..c2863bb0693c4f 100644 --- a/test/prism/snapshots/seattlerb/call_env.txt +++ b/test/prism/snapshots/seattlerb/call_env.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :happy ├── message_loc: (1,2)-(1,7) = "happy" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :happy + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_eq3.txt b/test/prism/snapshots/seattlerb/call_eq3.txt index c12a8d3355f731..5d53180b414bf5 100644 --- a/test/prism/snapshots/seattlerb/call_eq3.txt +++ b/test/prism/snapshots/seattlerb/call_eq3.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :=== ├── message_loc: (1,2)-(1,5) = "===" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :=== + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_gt.txt b/test/prism/snapshots/seattlerb/call_gt.txt index 1cc1eb6417f09b..33bc1de6cfbaf1 100644 --- a/test/prism/snapshots/seattlerb/call_gt.txt +++ b/test/prism/snapshots/seattlerb/call_gt.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :> ├── message_loc: (1,2)-(1,3) = ">" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :> + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_kwsplat.txt b/test/prism/snapshots/seattlerb/call_kwsplat.txt index 6901d9ca0cb413..7e341fcbec0c78 100644 --- a/test/prism/snapshots/seattlerb/call_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_kwsplat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -18,8 +19,7 @@ │ │ │ @ IntegerNode (location: (1,4)-(1,5)) │ │ │ └── flags: decimal │ │ └── operator_loc: (1,2)-(1,4) = "**" - │ └── flags: keyword_splat + │ └── flags: contains_keyword_splat ├── closing_loc: (1,5)-(1,6) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_leading_dots.txt b/test/prism/snapshots/seattlerb/call_leading_dots.txt index ab3f75d1cbaecb..c706cf6a5b72fe 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots.txt @@ -10,26 +10,26 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (2,0)-(2,1) = "." + │ ├── name: :b │ ├── message_loc: (2,1)-(2,2) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (3,0)-(3,1) = "." + ├── name: :c ├── message_loc: (3,1)-(3,2) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt index 6e70d659fe091b..ee1abe6fc580e8 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt @@ -10,26 +10,26 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (2,0)-(2,1) = "." + │ ├── name: :b │ ├── message_loc: (2,1)-(2,2) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (4,0)-(4,1) = "." + ├── name: :d ├── message_loc: (4,1)-(4,2) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :d + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lt.txt b/test/prism/snapshots/seattlerb/call_lt.txt index 00ce2cdf4374b9..64c3967dcb05f4 100644 --- a/test/prism/snapshots/seattlerb/call_lt.txt +++ b/test/prism/snapshots/seattlerb/call_lt.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :< ├── message_loc: (1,2)-(1,3) = "<" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :< + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lte.txt b/test/prism/snapshots/seattlerb/call_lte.txt index a252aa9ab2e826..7f7dfb3bbf5e1d 100644 --- a/test/prism/snapshots/seattlerb/call_lte.txt +++ b/test/prism/snapshots/seattlerb/call_lte.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :<= ├── message_loc: (1,2)-(1,4) = "<=" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :<= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_not.txt b/test/prism/snapshots/seattlerb/call_not.txt index a2f0a5e09ec1c4..157f8df593aee9 100644 --- a/test/prism/snapshots/seattlerb/call_not.txt +++ b/test/prism/snapshots/seattlerb/call_not.txt @@ -8,10 +8,10 @@ │ @ IntegerNode (location: (1,4)-(1,6)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,3) = "not" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_pipe.txt b/test/prism/snapshots/seattlerb/call_pipe.txt index 4e93ad6ac4ee57..562dd563986ece 100644 --- a/test/prism/snapshots/seattlerb/call_pipe.txt +++ b/test/prism/snapshots/seattlerb/call_pipe.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :| ├── message_loc: (1,2)-(1,3) = "|" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :| + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_rshift.txt b/test/prism/snapshots/seattlerb/call_rshift.txt index d8b7bb77df9cbc..8a9212b1f54eaf 100644 --- a/test/prism/snapshots/seattlerb/call_rshift.txt +++ b/test/prism/snapshots/seattlerb/call_rshift.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :>> ├── message_loc: (1,2)-(1,4) = ">>" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :>> + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_self_brackets.txt b/test/prism/snapshots/seattlerb/call_self_brackets.txt index 49784e653ee3ae..c3e431e6543b35 100644 --- a/test/prism/snapshots/seattlerb/call_self_brackets.txt +++ b/test/prism/snapshots/seattlerb/call_self_brackets.txt @@ -7,6 +7,7 @@ ├── receiver: │ @ SelfNode (location: (1,0)-(1,4)) ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,4)-(1,7) = "[1]" ├── opening_loc: (1,4)-(1,5) = "[" ├── arguments: @@ -17,5 +18,4 @@ │ └── flags: ∅ ├── closing_loc: (1,6)-(1,7) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_spaceship.txt b/test/prism/snapshots/seattlerb/call_spaceship.txt index bde094ef33ff61..a35437d3613b35 100644 --- a/test/prism/snapshots/seattlerb/call_spaceship.txt +++ b/test/prism/snapshots/seattlerb/call_spaceship.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :<=> ├── message_loc: (1,2)-(1,5) = "<=>" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :<=> + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt index bfb1790b59a5d3..9d94a45e5d8bdd 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,22)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -35,5 +36,4 @@ │ │ └── flags: decimal │ ├── opening_loc: (1,14)-(1,16) = "do" │ └── closing_loc: (1,19)-(1,22) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt index ebbb7718eee30a..c641ccdeebcc8b 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -35,5 +36,4 @@ │ │ └── flags: decimal │ ├── opening_loc: (1,11)-(1,13) = "do" │ └── closing_loc: (1,16)-(1,19) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_star.txt b/test/prism/snapshots/seattlerb/call_star.txt index ecdb52f0f4e792..5246bf48561f96 100644 --- a/test/prism/snapshots/seattlerb/call_star.txt +++ b/test/prism/snapshots/seattlerb/call_star.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :* ├── message_loc: (1,2)-(1,3) = "*" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :* + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_star2.txt b/test/prism/snapshots/seattlerb/call_star2.txt index c63f67f22a96d1..792c494f57be8d 100644 --- a/test/prism/snapshots/seattlerb/call_star2.txt +++ b/test/prism/snapshots/seattlerb/call_star2.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :** ├── message_loc: (1,2)-(1,4) = "**" ├── opening_loc: ∅ ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :** + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_trailing_comma.txt index adde1e45346d7e..65425951041758 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_comma.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,5)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -16,5 +17,4 @@ │ └── flags: ∅ ├── closing_loc: (1,4)-(1,5) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_dots.txt b/test/prism/snapshots/seattlerb/call_trailing_dots.txt index fd4c001411bee6..a337486e89c37a 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_dots.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_dots.txt @@ -10,26 +10,26 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :b │ ├── message_loc: (2,0)-(2,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── call_operator_loc: (2,1)-(2,2) = "." + ├── name: :c ├── message_loc: (3,0)-(3,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_unary_bang.txt b/test/prism/snapshots/seattlerb/call_unary_bang.txt index cd184744399586..378a11b738ec3f 100644 --- a/test/prism/snapshots/seattlerb/call_unary_bang.txt +++ b/test/prism/snapshots/seattlerb/call_unary_bang.txt @@ -8,10 +8,10 @@ │ @ IntegerNode (location: (1,1)-(1,2)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in.txt b/test/prism/snapshots/seattlerb/case_in.txt index 9db7851e16e8b6..793448fb7a7874 100644 --- a/test/prism/snapshots/seattlerb/case_in.txt +++ b/test/prism/snapshots/seattlerb/case_in.txt @@ -57,7 +57,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (6,3)-(6,6) = "%I[" - │ │ │ └── closing_loc: (6,9)-(6,10) = "]" + │ │ │ ├── closing_loc: (6,9)-(6,10) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (6,0)-(6,2) = "in" │ │ └── then_loc: ∅ @@ -89,7 +90,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (10,3)-(10,6) = "%W[" - │ │ │ └── closing_loc: (10,9)-(10,10) = "]" + │ │ │ ├── closing_loc: (10,9)-(10,10) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (10,0)-(10,2) = "in" │ │ └── then_loc: ∅ @@ -119,7 +121,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (14,3)-(14,6) = "%i[" - │ │ │ └── closing_loc: (14,9)-(14,10) = "]" + │ │ │ ├── closing_loc: (14,9)-(14,10) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (14,0)-(14,2) = "in" │ │ └── then_loc: ∅ @@ -151,7 +154,8 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── opening_loc: (18,3)-(18,6) = "%w[" - │ │ │ └── closing_loc: (18,9)-(18,10) = "]" + │ │ │ ├── closing_loc: (18,9)-(18,10) = "]" + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (18,0)-(18,2) = "in" │ │ └── then_loc: ∅ @@ -732,13 +736,13 @@ │ │ │ │ │ @ CallNode (location: (90,6)-(90,7)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :a │ │ │ │ │ ├── message_loc: (90,6)-(90,7) = "a" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :a + │ │ │ │ │ └── flags: variable_call │ │ │ │ ├── operator_loc: (90,4)-(90,5) = "^" │ │ │ │ ├── lparen_loc: (90,5)-(90,6) = "(" │ │ │ │ └── rparen_loc: (90,7)-(90,8) = ")" diff --git a/test/prism/snapshots/seattlerb/case_in_86.txt b/test/prism/snapshots/seattlerb/case_in_86.txt index ab010821981844..7e789c714545bc 100644 --- a/test/prism/snapshots/seattlerb/case_in_86.txt +++ b/test/prism/snapshots/seattlerb/case_in_86.txt @@ -18,7 +18,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,5)-(1,6) = "[" - │ └── closing_loc: (1,12)-(1,13) = "]" + │ ├── closing_loc: (1,12)-(1,13) = "]" + │ └── flags: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/case_in_86_2.txt b/test/prism/snapshots/seattlerb/case_in_86_2.txt index c2b320dfad2d0b..58c154f46cd3a8 100644 --- a/test/prism/snapshots/seattlerb/case_in_86_2.txt +++ b/test/prism/snapshots/seattlerb/case_in_86_2.txt @@ -18,7 +18,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,5)-(1,6) = "[" - │ └── closing_loc: (1,12)-(1,13) = "]" + │ ├── closing_loc: (1,12)-(1,13) = "]" + │ └── flags: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/dasgn_icky2.txt b/test/prism/snapshots/seattlerb/dasgn_icky2.txt index 3780d74d4006af..34540783fc76c2 100644 --- a/test/prism/snapshots/seattlerb/dasgn_icky2.txt +++ b/test/prism/snapshots/seattlerb/dasgn_icky2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(8,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -57,5 +58,4 @@ │ │ └── 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 + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt index a7fa7797384dc7..6218bc60f0bf28 100644 --- a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt @@ -25,6 +25,7 @@ │ └── @ CallNode (location: (1,15)-(1,24)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (1,15)-(1,16) = "b" │ ├── opening_loc: (1,16)-(1,17) = "(" │ ├── arguments: @@ -37,8 +38,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,23)-(1,24) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── locals: [:x, :"..."] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt index 0dff707b29c077..a7e896ff6a330d 100644 --- a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt @@ -29,6 +29,7 @@ │ └── @ CallNode (location: (1,21)-(1,36)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (1,21)-(1,22) = "b" │ ├── opening_loc: (1,22)-(1,23) = "(" │ ├── arguments: @@ -46,8 +47,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,35)-(1,36) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── locals: [:x, :y, :z, :"..."] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_endless_command.txt b/test/prism/snapshots/seattlerb/defn_endless_command.txt index 43c66665fb3b23..ed5bd89b532638 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command.txt @@ -14,6 +14,7 @@ │ └── @ CallNode (location: (1,18)-(1,33)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :other_method │ ├── message_loc: (1,18)-(1,30) = "other_method" │ ├── opening_loc: ∅ │ ├── arguments: @@ -24,8 +25,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :other_method + │ └── flags: ∅ ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt index ace1227af1e89b..2b12d3155b2f79 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt @@ -16,6 +16,7 @@ │ │ @ CallNode (location: (1,18)-(1,33)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :other_method │ │ ├── message_loc: (1,18)-(1,30) = "other_method" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -26,8 +27,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :other_method + │ │ └── flags: ∅ │ ├── keyword_loc: (1,34)-(1,40) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,41)-(1,43)) diff --git a/test/prism/snapshots/seattlerb/defn_forward_args.txt b/test/prism/snapshots/seattlerb/defn_forward_args.txt index 6f14c0d1b10ca6..4ed738aa1e397f 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args.txt @@ -23,6 +23,7 @@ │ └── @ CallNode (location: (1,12)-(1,18)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (1,12)-(1,13) = "b" │ ├── opening_loc: (1,13)-(1,14) = "(" │ ├── arguments: @@ -32,8 +33,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,17)-(1,18) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :b + │ └── flags: ∅ ├── locals: [:"..."] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt index de87e9757a46fc..deacd362e4fc43 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt @@ -23,6 +23,7 @@ │ └── @ CallNode (location: (2,2)-(2,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (2,2)-(2,3) = "m" │ ├── opening_loc: (2,3)-(2,4) = "(" │ ├── arguments: @@ -32,8 +33,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (2,7)-(2,8) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ ├── locals: [:"..."] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt index 9839ec71cf9a42..f96a6582068e22 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt @@ -26,6 +26,7 @@ │ └── @ CallNode (location: (1,20)-(1,41)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :test_splat │ ├── message_loc: (1,20)-(1,30) = "test_splat" │ ├── opening_loc: (1,30)-(1,31) = "(" │ ├── arguments: @@ -39,11 +40,10 @@ │ │ │ │ ├── name: :testing │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (1,31)-(1,33) = "**" - │ │ └── flags: keyword_splat + │ │ └── flags: contains_keyword_splat │ ├── closing_loc: (1,40)-(1,41) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :test_splat + │ └── flags: ∅ ├── locals: [:testing] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_oneliner.txt b/test/prism/snapshots/seattlerb/defn_oneliner.txt index ecb762ca5e6e56..cc833341cd0a30 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner.txt @@ -24,6 +24,7 @@ │ └── @ CallNode (location: (1,16)-(1,27)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :system │ ├── message_loc: (1,16)-(1,22) = "system" │ ├── opening_loc: (1,22)-(1,23) = "(" │ ├── arguments: @@ -35,8 +36,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,26)-(1,27) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :system + │ └── flags: ∅ ├── locals: [:cmd] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt index 4863d34dd3e5d0..98b7c88bc0fce9 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt @@ -14,13 +14,13 @@ │ └── @ CallNode (location: (1,11)-(1,17)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :system │ ├── message_loc: (1,11)-(1,17) = "system" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :system + │ └── flags: variable_call ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt index 2bce8977beceff..ea77c4c61bf90b 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt @@ -14,13 +14,13 @@ │ └── @ CallNode (location: (1,13)-(1,19)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :system │ ├── message_loc: (1,13)-(1,19) = "system" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :system + │ └── flags: variable_call ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt index 89eaf5cae31753..670d5e7e62dcb1 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt @@ -27,6 +27,7 @@ │ │ │ └── @ CallNode (location: (2,2)-(2,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :system │ │ │ ├── message_loc: (2,2)-(2,8) = "system" │ │ │ ├── opening_loc: (2,8)-(2,9) = "(" │ │ │ ├── arguments: @@ -38,8 +39,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :system + │ │ │ └── flags: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -84,6 +84,7 @@ │ │ │ @ CallNode (location: (9,2)-(9,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :system │ │ │ ├── message_loc: (9,2)-(9,8) = "system" │ │ │ ├── opening_loc: (9,8)-(9,9) = "(" │ │ │ ├── arguments: @@ -95,8 +96,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :system + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) @@ -130,6 +130,7 @@ │ │ @ CallNode (location: (13,16)-(13,27)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :system │ │ ├── message_loc: (13,16)-(13,22) = "system" │ │ ├── opening_loc: (13,22)-(13,23) = "(" │ │ ├── arguments: @@ -141,8 +142,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (13,26)-(13,27) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :system + │ │ └── flags: ∅ │ ├── keyword_loc: (13,28)-(13,34) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,35)-(13,38)) diff --git a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt index 67c4a224989009..118db362cbb545 100644 --- a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt +++ b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,30)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -25,14 +26,15 @@ │ │ │ │ @ CallNode (location: (1,14)-(1,15)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :x │ │ │ │ ├── message_loc: (1,14)-(1,15) = "x" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :x + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: (1,15)-(1,16) = "." + │ │ │ ├── name: :y │ │ │ ├── message_loc: (1,16)-(1,17) = "y" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -44,8 +46,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (1,18)-(1,20) = "do" │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :y + │ │ │ └── flags: ∅ │ │ ├── locals: [] │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def" │ │ ├── operator_loc: (1,10)-(1,11) = "." @@ -56,5 +57,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/defs_endless_command.txt b/test/prism/snapshots/seattlerb/defs_endless_command.txt index 0a579c8a0241d1..44ce92fa8f0238 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command.txt @@ -10,13 +10,13 @@ │ @ CallNode (location: (1,4)-(1,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :x │ ├── message_loc: (1,4)-(1,5) = "x" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :x + │ └── flags: variable_call ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,35)) @@ -24,6 +24,7 @@ │ └── @ CallNode (location: (1,20)-(1,35)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :other_method │ ├── message_loc: (1,20)-(1,32) = "other_method" │ ├── opening_loc: ∅ │ ├── arguments: @@ -34,8 +35,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :other_method + │ └── flags: ∅ ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: (1,5)-(1,6) = "." diff --git a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt index cfa1d12086d4b7..9e6a4b5db56adc 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt @@ -10,13 +10,13 @@ │ @ CallNode (location: (1,4)-(1,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :x │ ├── message_loc: (1,4)-(1,5) = "x" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :x + │ └── flags: variable_call ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,45)) @@ -26,6 +26,7 @@ │ │ @ CallNode (location: (1,20)-(1,35)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :other_method │ │ ├── message_loc: (1,20)-(1,32) = "other_method" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -36,8 +37,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :other_method + │ │ └── flags: ∅ │ ├── keyword_loc: (1,36)-(1,42) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,43)-(1,45)) diff --git a/test/prism/snapshots/seattlerb/defs_oneliner.txt b/test/prism/snapshots/seattlerb/defs_oneliner.txt index eb1404cfed3dd8..11199857e3e993 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner.txt @@ -25,6 +25,7 @@ │ └── @ CallNode (location: (1,21)-(1,32)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :system │ ├── message_loc: (1,21)-(1,27) = "system" │ ├── opening_loc: (1,27)-(1,28) = "(" │ ├── arguments: @@ -36,8 +37,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,31)-(1,32) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :system + │ └── flags: ∅ ├── locals: [:cmd] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: (1,8)-(1,9) = "." diff --git a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt index e246af5c0c8155..72cce7e459faf8 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt @@ -28,6 +28,7 @@ │ │ │ └── @ CallNode (location: (2,2)-(2,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :system │ │ │ ├── message_loc: (2,2)-(2,8) = "system" │ │ │ ├── opening_loc: (2,8)-(2,9) = "(" │ │ │ ├── arguments: @@ -39,8 +40,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :system + │ │ │ └── flags: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -86,6 +86,7 @@ │ │ │ @ CallNode (location: (9,2)-(9,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :system │ │ │ ├── message_loc: (9,2)-(9,8) = "system" │ │ │ ├── opening_loc: (9,8)-(9,9) = "(" │ │ │ ├── arguments: @@ -97,8 +98,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :system + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) @@ -133,6 +133,7 @@ │ │ @ CallNode (location: (13,21)-(13,32)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :system │ │ ├── message_loc: (13,21)-(13,27) = "system" │ │ ├── opening_loc: (13,27)-(13,28) = "(" │ │ ├── arguments: @@ -144,8 +145,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (13,31)-(13,32) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :system + │ │ └── flags: ∅ │ ├── keyword_loc: (13,33)-(13,39) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,40)-(13,43)) diff --git a/test/prism/snapshots/seattlerb/difficult0_.txt b/test/prism/snapshots/seattlerb/difficult0_.txt index 4d7ab2ba448d68..1810fa0dae2f40 100644 --- a/test/prism/snapshots/seattlerb/difficult0_.txt +++ b/test/prism/snapshots/seattlerb/difficult0_.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(4,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -22,6 +23,7 @@ │ │ │ │ ├── closing_loc: (3,0)-(4,0) = " END\n" │ │ │ │ └── unescaped: " a\n" │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (1,8)-(1,9) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -46,9 +48,9 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (4,4)-(4,5) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -63,10 +65,8 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt index c0dda2420ebd1e..17a7a3cb6891e4 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt @@ -14,6 +14,7 @@ │ ├── @ CallNode (location: (2,2)-(2,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p │ │ ├── message_loc: (2,2)-(2,3) = "p" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -24,21 +25,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :p + │ │ └── flags: ∅ │ ├── @ CallNode (location: (3,2)-(3,7)) │ │ ├── receiver: │ │ │ @ CallNode (location: (3,2)-(3,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (3,2)-(3,3) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (3,3)-(3,4) = "." + │ │ ├── name: :b │ │ ├── message_loc: (3,4)-(3,5) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -49,21 +50,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── @ CallNode (location: (4,2)-(4,10)) │ │ ├── receiver: │ │ │ @ CallNode (location: (4,2)-(4,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (4,2)-(4,3) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (4,3)-(4,4) = "." + │ │ ├── name: :d │ │ ├── message_loc: (4,4)-(4,5) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -76,21 +77,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :d + │ │ └── flags: ∅ │ ├── @ CallNode (location: (5,2)-(5,7)) │ │ ├── receiver: │ │ │ @ CallNode (location: (5,2)-(5,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :e │ │ │ ├── message_loc: (5,2)-(5,3) = "e" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :e + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (5,3)-(5,4) = "." + │ │ ├── name: :f │ │ ├── message_loc: (5,4)-(5,5) = "f" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -101,21 +102,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :f + │ │ └── flags: ∅ │ ├── @ CallNode (location: (6,2)-(6,10)) │ │ ├── receiver: │ │ │ @ CallNode (location: (6,2)-(6,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :g │ │ │ ├── message_loc: (6,2)-(6,3) = "g" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :g + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (6,3)-(6,4) = "." + │ │ ├── name: :h │ │ ├── message_loc: (6,4)-(6,5) = "h" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -128,11 +129,11 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :h + │ │ └── flags: ∅ │ ├── @ CallNode (location: (7,2)-(7,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p │ │ ├── message_loc: (7,2)-(7,3) = "p" │ │ ├── opening_loc: (7,3)-(7,4) = "(" │ │ ├── arguments: @@ -143,21 +144,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (7,5)-(7,6) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :p + │ │ └── flags: ∅ │ ├── @ CallNode (location: (8,2)-(8,8)) │ │ ├── receiver: │ │ │ @ CallNode (location: (8,2)-(8,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (8,2)-(8,3) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (8,3)-(8,4) = "." + │ │ ├── name: :b │ │ ├── message_loc: (8,4)-(8,5) = "b" │ │ ├── opening_loc: (8,5)-(8,6) = "(" │ │ ├── arguments: @@ -168,21 +169,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (8,7)-(8,8) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── @ CallNode (location: (9,2)-(9,11)) │ │ ├── receiver: │ │ │ @ CallNode (location: (9,2)-(9,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (9,2)-(9,3) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (9,3)-(9,4) = "." + │ │ ├── name: :d │ │ ├── message_loc: (9,4)-(9,5) = "d" │ │ ├── opening_loc: (9,5)-(9,6) = "(" │ │ ├── arguments: @@ -195,21 +196,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (9,10)-(9,11) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :d + │ │ └── flags: ∅ │ ├── @ CallNode (location: (10,2)-(10,8)) │ │ ├── receiver: │ │ │ @ CallNode (location: (10,2)-(10,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :e │ │ │ ├── message_loc: (10,2)-(10,3) = "e" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :e + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (10,3)-(10,4) = "." + │ │ ├── name: :f │ │ ├── message_loc: (10,4)-(10,5) = "f" │ │ ├── opening_loc: (10,5)-(10,6) = "(" │ │ ├── arguments: @@ -220,21 +221,21 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (10,7)-(10,8) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :f + │ │ └── flags: ∅ │ └── @ CallNode (location: (11,2)-(11,11)) │ ├── receiver: │ │ @ CallNode (location: (11,2)-(11,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (11,2)-(11,3) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :g + │ │ └── flags: variable_call │ ├── call_operator_loc: (11,3)-(11,4) = "." + │ ├── name: :h │ ├── message_loc: (11,4)-(11,5) = "h" │ ├── opening_loc: (11,5)-(11,6) = "(" │ ├── arguments: @@ -247,7 +248,6 @@ │ │ └── flags: ∅ │ ├── closing_loc: (11,10)-(11,11) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :h + │ └── flags: ∅ ├── consequent: ∅ └── end_keyword_loc: (12,0)-(12,3) = "end" diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt index bb2f11167ac5cd..f44437480fb758 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt @@ -14,6 +14,7 @@ │ │ ├── @ CallNode (location: (2,2)-(2,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :p │ │ │ ├── message_loc: (2,2)-(2,3) = "p" │ │ │ ├── opening_loc: (2,3)-(2,4) = "(" │ │ │ ├── arguments: @@ -28,8 +29,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (2,7)-(2,8) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :p + │ │ │ └── flags: ∅ │ │ ├── @ LocalVariableWriteNode (location: (3,2)-(3,7)) │ │ │ ├── name: :b │ │ │ ├── depth: 0 @@ -41,6 +41,7 @@ │ │ ├── @ CallNode (location: (4,2)-(4,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :p │ │ │ ├── message_loc: (4,2)-(4,3) = "p" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -52,8 +53,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :p + │ │ │ └── flags: ∅ │ │ └── @ LocalVariableWriteNode (location: (5,2)-(5,6)) │ │ ├── name: :c │ │ ├── depth: 0 @@ -67,10 +67,10 @@ └── @ CallNode (location: (7,0)-(7,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (7,0)-(7,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :a + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/difficult2_.txt b/test/prism/snapshots/seattlerb/difficult2_.txt index 9929ca0345005a..599c7845013b8c 100644 --- a/test/prism/snapshots/seattlerb/difficult2_.txt +++ b/test/prism/snapshots/seattlerb/difficult2_.txt @@ -15,6 +15,7 @@ │ │ └── @ CallNode (location: (1,4)-(1,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ ├── arguments: @@ -29,8 +30,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (1,8)-(1,9) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,10)-(1,13)) │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":" @@ -44,6 +44,7 @@ └── @ CallNode (location: (2,0)-(2,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (2,0)-(2,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -65,5 +66,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_.txt b/test/prism/snapshots/seattlerb/difficult3_.txt index f4da0a4f76096d..3f2b0545dc7f65 100644 --- a/test/prism/snapshots/seattlerb/difficult3_.txt +++ b/test/prism/snapshots/seattlerb/difficult3_.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_2.txt b/test/prism/snapshots/seattlerb/difficult3_2.txt index 49c6345a5a0ad9..1352705188b46e 100644 --- a/test/prism/snapshots/seattlerb/difficult3_2.txt +++ b/test/prism/snapshots/seattlerb/difficult3_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_3.txt b/test/prism/snapshots/seattlerb/difficult3_3.txt index d7431da15aa1ee..04207aad7ab091 100644 --- a/test/prism/snapshots/seattlerb/difficult3_3.txt +++ b/test/prism/snapshots/seattlerb/difficult3_3.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -40,5 +41,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_4.txt b/test/prism/snapshots/seattlerb/difficult3_4.txt index c363006c3f9158..c23fa784d22afb 100644 --- a/test/prism/snapshots/seattlerb/difficult3_4.txt +++ b/test/prism/snapshots/seattlerb/difficult3_4.txt @@ -14,13 +14,13 @@ │ │ @ CallNode (location: (1,2)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,2)-(1,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── then_keyword_loc: (1,4)-(1,5) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,6)-(1,10)) diff --git a/test/prism/snapshots/seattlerb/difficult3_5.txt b/test/prism/snapshots/seattlerb/difficult3_5.txt index 0ba5dee9902e20..d446ac88b0f726 100644 --- a/test/prism/snapshots/seattlerb/difficult3_5.txt +++ b/test/prism/snapshots/seattlerb/difficult3_5.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: @@ -28,6 +29,7 @@ │ │ └── @ CallNode (location: (1,9)-(1,17)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :g │ │ ├── message_loc: (1,9)-(1,10) = "g" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -39,10 +41,8 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,11)-(1,13) = "do" │ │ │ └── closing_loc: (1,14)-(1,17) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :g + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__10.txt b/test/prism/snapshots/seattlerb/difficult3__10.txt index 4d6e66c0be7ace..eabf92f1f408eb 100644 --- a/test/prism/snapshots/seattlerb/difficult3__10.txt +++ b/test/prism/snapshots/seattlerb/difficult3__10.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__11.txt b/test/prism/snapshots/seattlerb/difficult3__11.txt index 7ee50022cc7689..16e2bd68b10523 100644 --- a/test/prism/snapshots/seattlerb/difficult3__11.txt +++ b/test/prism/snapshots/seattlerb/difficult3__11.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__12.txt b/test/prism/snapshots/seattlerb/difficult3__12.txt index 6aa538625aa14c..072b3fb130350f 100644 --- a/test/prism/snapshots/seattlerb/difficult3__12.txt +++ b/test/prism/snapshots/seattlerb/difficult3__12.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__6.txt b/test/prism/snapshots/seattlerb/difficult3__6.txt index 49eae83c23f171..2afabb3bb1486f 100644 --- a/test/prism/snapshots/seattlerb/difficult3__6.txt +++ b/test/prism/snapshots/seattlerb/difficult3__6.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,21)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -47,5 +48,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,20)-(1,21) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__7.txt b/test/prism/snapshots/seattlerb/difficult3__7.txt index 7c06ac827ed7b4..c44ed916592e0f 100644 --- a/test/prism/snapshots/seattlerb/difficult3__7.txt +++ b/test/prism/snapshots/seattlerb/difficult3__7.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__8.txt b/test/prism/snapshots/seattlerb/difficult3__8.txt index 5088e00b68fd4d..fe6e57b9e5fb46 100644 --- a/test/prism/snapshots/seattlerb/difficult3__8.txt +++ b/test/prism/snapshots/seattlerb/difficult3__8.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,19)-(1,20) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__9.txt b/test/prism/snapshots/seattlerb/difficult3__9.txt index 8918bf49cf9e3a..313eac0f2cc13d 100644 --- a/test/prism/snapshots/seattlerb/difficult3__9.txt +++ b/test/prism/snapshots/seattlerb/difficult3__9.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,14)-(1,15) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt index d4550f961629f5..e174cf39c0abd0 100644 --- a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt +++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (2,0)-(2,1) = "." + ├── name: :b ├── message_loc: (2,1)-(2,2) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult6_.txt b/test/prism/snapshots/seattlerb/difficult6_.txt index ddbb23217496c5..3c2c093bada65a 100644 --- a/test/prism/snapshots/seattlerb/difficult6_.txt +++ b/test/prism/snapshots/seattlerb/difficult6_.txt @@ -36,6 +36,7 @@ └── @ CallNode (location: (1,15)-(1,23)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,15)-(1,16) = "p" ├── opening_loc: ∅ ├── arguments: @@ -50,9 +51,9 @@ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── opening_loc: (1,17)-(1,18) = "[" - │ │ └── closing_loc: (1,22)-(1,23) = "]" + │ │ ├── closing_loc: (1,22)-(1,23) = "]" + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult6__7.txt b/test/prism/snapshots/seattlerb/difficult6__7.txt index 2cfbe657091b45..2b8bf58ae0c160 100644 --- a/test/prism/snapshots/seattlerb/difficult6__7.txt +++ b/test/prism/snapshots/seattlerb/difficult6__7.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: @@ -41,14 +42,13 @@ │ │ └── @ CallNode (location: (1,9)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c │ │ ├── message_loc: (1,9)-(1,10) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :c + │ │ └── flags: variable_call │ ├── opening_loc: (1,8)-(1,9) = "{" │ └── closing_loc: (1,10)-(1,11) = "}" - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult6__8.txt b/test/prism/snapshots/seattlerb/difficult6__8.txt index 4456ce6b552c18..88f0436a72542b 100644 --- a/test/prism/snapshots/seattlerb/difficult6__8.txt +++ b/test/prism/snapshots/seattlerb/difficult6__8.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "::" + ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: @@ -41,14 +42,13 @@ │ │ └── @ CallNode (location: (1,10)-(1,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c │ │ ├── message_loc: (1,10)-(1,11) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :c + │ │ └── flags: variable_call │ ├── opening_loc: (1,9)-(1,10) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult7_.txt b/test/prism/snapshots/seattlerb/difficult7_.txt index 33cdcb21533f6b..5650727fad6f1d 100644 --- a/test/prism/snapshots/seattlerb/difficult7_.txt +++ b/test/prism/snapshots/seattlerb/difficult7_.txt @@ -17,6 +17,7 @@ │ │ │ @ CallNode (location: (2,11)-(2,33)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :lambda │ │ │ ├── message_loc: (2,11)-(2,17) = "lambda" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -34,13 +35,13 @@ │ │ │ │ │ │ @ CallNode (location: (2,20)-(2,21)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :b │ │ │ │ │ │ ├── message_loc: (2,20)-(2,21) = "b" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :b + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27)) @@ -48,13 +49,13 @@ │ │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (2,24)-(2,25) = "c" │ │ │ │ │ │ ├── opening_loc: (2,25)-(2,26) = "(" │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: (2,26)-(2,27) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── consequent: │ │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31)) │ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":" @@ -64,19 +65,18 @@ │ │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31)) │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ ├── message_loc: (2,30)-(2,31) = "d" │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ └── end_keyword_loc: ∅ │ │ │ │ │ └── end_keyword_loc: ∅ │ │ │ │ ├── opening_loc: (2,18)-(2,19) = "{" │ │ │ │ └── closing_loc: (2,32)-(2,33) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :lambda + │ │ │ └── flags: ∅ │ │ └── operator_loc: ∅ │ └── @ AssocNode (location: (3,8)-(3,14)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/do_bug.txt b/test/prism/snapshots/seattlerb/do_bug.txt index 62ea0072e52081..14c707055fe653 100644 --- a/test/prism/snapshots/seattlerb/do_bug.txt +++ b/test/prism/snapshots/seattlerb/do_bug.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -16,21 +17,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (2,0)-(4,3)) ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (2,0)-(2,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (2,1)-(2,2) = "." + ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ @@ -57,5 +58,4 @@ │ ├── body: ∅ │ ├── opening_loc: (2,4)-(2,6) = "do" │ └── closing_loc: (4,0)-(4,3) = "end" - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/dot2_nil__26.txt b/test/prism/snapshots/seattlerb/dot2_nil__26.txt index caf67e187552b5..01a65eab9f900f 100644 --- a/test/prism/snapshots/seattlerb/dot2_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot2_nil__26.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── right: ∅ ├── operator_loc: (1,1)-(1,3) = ".." └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/dot3_nil__26.txt b/test/prism/snapshots/seattlerb/dot3_nil__26.txt index e44e35905523f5..be7679ab77e362 100644 --- a/test/prism/snapshots/seattlerb/dot3_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot3_nil__26.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── right: ∅ ├── operator_loc: (1,1)-(1,4) = "..." └── flags: exclude_end diff --git a/test/prism/snapshots/seattlerb/dstr_evstr.txt b/test/prism/snapshots/seattlerb/dstr_evstr.txt index 88073d9dad578f..794e144c65053d 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr.txt @@ -26,12 +26,12 @@ │ │ └── @ CallNode (location: (1,9)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,9)-(1,10) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── closing_loc: (1,10)-(1,11) = "}" └── closing_loc: (1,11)-(1,12) = "\"" diff --git a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt index de9c6cd1c7cfa8..b3743114ad932f 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt @@ -14,12 +14,12 @@ │ │ └── @ CallNode (location: (1,4)-(1,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :field │ │ ├── message_loc: (1,4)-(1,9) = "field" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :field + │ │ └── flags: variable_call │ └── closing_loc: (1,9)-(1,10) = "}" └── closing_loc: (1,10)-(1,11) = "\"" diff --git a/test/prism/snapshots/seattlerb/dstr_lex_state.txt b/test/prism/snapshots/seattlerb/dstr_lex_state.txt index f2f03649d21f04..9172daedc7f037 100644 --- a/test/prism/snapshots/seattlerb/dstr_lex_state.txt +++ b/test/prism/snapshots/seattlerb/dstr_lex_state.txt @@ -14,6 +14,7 @@ │ │ └── @ CallNode (location: (1,3)-(1,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p │ │ ├── message_loc: (1,3)-(1,4) = "p" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -27,7 +28,6 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :p + │ │ └── flags: ∅ │ └── closing_loc: (1,6)-(1,7) = "}" └── closing_loc: (1,7)-(1,8) = "\"" diff --git a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt index 752e0fc41badf1..bc72255ff47d55 100644 --- a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt +++ b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :h │ ├── message_loc: (1,0)-(1,1) = "h" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :h + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,1)-(1,4) = "[k]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -24,13 +25,13 @@ │ │ ├── @ CallNode (location: (1,2)-(1,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :k │ │ │ ├── message_loc: (1,2)-(1,3) = "k" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :k + │ │ │ └── flags: variable_call │ │ └── @ BeginNode (location: (1,5)-(3,8)) │ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin" │ │ ├── statements: @@ -45,5 +46,4 @@ │ └── flags: ∅ ├── closing_loc: (1,3)-(1,4) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/evstr_evstr.txt b/test/prism/snapshots/seattlerb/evstr_evstr.txt index 21a5b31dbb709a..102f21b884e837 100644 --- a/test/prism/snapshots/seattlerb/evstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/evstr_evstr.txt @@ -14,13 +14,13 @@ │ │ │ └── @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (1,3)-(1,4) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,9)) │ ├── opening_loc: (1,5)-(1,7) = "\#{" @@ -30,12 +30,12 @@ │ │ └── @ CallNode (location: (1,7)-(1,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,7)-(1,8) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── closing_loc: (1,8)-(1,9) = "}" └── closing_loc: (1,9)-(1,10) = "\"" diff --git a/test/prism/snapshots/seattlerb/evstr_str.txt b/test/prism/snapshots/seattlerb/evstr_str.txt index 873d6331f504d4..465f89a028978f 100644 --- a/test/prism/snapshots/seattlerb/evstr_str.txt +++ b/test/prism/snapshots/seattlerb/evstr_str.txt @@ -14,13 +14,13 @@ │ │ │ └── @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (1,3)-(1,4) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ StringNode (location: (1,5)-(1,7)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/expr_not_bang.txt b/test/prism/snapshots/seattlerb/expr_not_bang.txt index 22394dddf0aa92..a9bfae7381f6e1 100644 --- a/test/prism/snapshots/seattlerb/expr_not_bang.txt +++ b/test/prism/snapshots/seattlerb/expr_not_bang.txt @@ -8,6 +8,7 @@ │ @ CallNode (location: (1,2)-(1,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,2)-(1,3) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -16,23 +17,22 @@ │ │ │ └── @ CallNode (location: (1,4)-(1,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt index 146d8cddef6486..3cd798e41f51c7 100644 --- a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt +++ b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt @@ -11,24 +11,24 @@ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,3)-(1,4) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── right: │ │ @ CallNode (location: (1,6)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── operator_loc: (1,4)-(1,6) = ".." │ └── flags: ∅ ├── then_keyword_loc: (1,8)-(1,12) = "then" diff --git a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt index 4922448b062c24..c729c67ce82eb6 100644 --- a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt +++ b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt @@ -12,7 +12,8 @@ │ │ ├── closing_loc: (2,0)-(2,1) = "\"" │ │ └── unescaped: " some text\n" │ ├── opening_loc: (1,0)-(1,1) = "[" - │ └── closing_loc: (2,2)-(2,3) = "]" + │ ├── closing_loc: (2,2)-(2,3) = "]" + │ └── flags: ∅ └── @ ArrayNode (location: (4,0)-(7,1)) ├── elements: (length: 1) │ └── @ StringNode (location: (4,1)-(4,8)) @@ -22,4 +23,5 @@ │ ├── closing_loc: (6,0)-(7,0) = "FILE\n" │ └── unescaped: " some text\n" ├── opening_loc: (4,0)-(4,1) = "[" - └── closing_loc: (7,0)-(7,1) = "]" + ├── closing_loc: (7,0)-(7,1) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_nested.txt b/test/prism/snapshots/seattlerb/heredoc_nested.txt index d0b61a9495fa98..0f65b2bd7562f5 100644 --- a/test/prism/snapshots/seattlerb/heredoc_nested.txt +++ b/test/prism/snapshots/seattlerb/heredoc_nested.txt @@ -36,4 +36,5 @@ │ └── @ IntegerNode (location: (7,0)-(7,1)) │ └── flags: decimal ├── opening_loc: (1,0)-(1,1) = "[" - └── closing_loc: (7,1)-(7,2) = "]" + ├── closing_loc: (7,1)-(7,2) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt index 237f7483ec3bc4..540dd219faa1b9 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt @@ -11,6 +11,7 @@ │ @ CallNode (location: (1,4)-(1,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,4)-(1,7) = "foo" │ ├── opening_loc: (1,7)-(1,8) = "(" │ ├── arguments: @@ -35,13 +36,13 @@ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9)) │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ ├── name: :bar │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,9) = "bar" │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ └── name: :bar + │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" │ │ │ │ │ └── @ StringNode (location: (3,10)-(4,0)) │ │ │ │ │ ├── flags: ∅ @@ -51,16 +52,15 @@ │ │ │ │ │ └── unescaped: "baz\n" │ │ │ │ └── closing_loc: (4,0)-(5,0) = " EOF\n" │ │ │ ├── call_operator_loc: (1,14)-(1,15) = "." + │ │ │ ├── name: :chop │ │ │ ├── message_loc: (1,15)-(1,19) = "chop" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :chop + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: (1,19)-(1,20) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :foo + │ └── flags: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt index f6ab13617ad084..c3622c841fc087 100644 --- a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt +++ b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt @@ -12,10 +12,10 @@ │ ├── closing_loc: (3,0)-(4,0) = "END\n" │ └── unescaped: "blah\n" ├── call_operator_loc: (4,0)-(4,1) = "." + ├── name: :strip ├── message_loc: (4,1)-(4,6) = "strip" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :strip + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/if_symbol.txt b/test/prism/snapshots/seattlerb/if_symbol.txt index e4358bed1a28e2..e561b6c026ccf3 100644 --- a/test/prism/snapshots/seattlerb/if_symbol.txt +++ b/test/prism/snapshots/seattlerb/if_symbol.txt @@ -9,6 +9,7 @@ │ @ CallNode (location: (1,3)-(1,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (1,3)-(1,4) = "f" │ ├── opening_loc: ∅ │ ├── arguments: @@ -22,8 +23,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/index_0.txt b/test/prism/snapshots/seattlerb/index_0.txt index a1ccfe1ef24b9e..e295b2aadf9d26 100644 --- a/test/prism/snapshots/seattlerb/index_0.txt +++ b/test/prism/snapshots/seattlerb/index_0.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,1)-(1,3) = "[]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -24,15 +25,14 @@ │ │ └── @ CallNode (location: (1,6)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: (1,2)-(1,3) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/index_0_opasgn.txt b/test/prism/snapshots/seattlerb/index_0_opasgn.txt index 554b9f12ba5109..30eba375e097e3 100644 --- a/test/prism/snapshots/seattlerb/index_0_opasgn.txt +++ b/test/prism/snapshots/seattlerb/index_0_opasgn.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: ∅ @@ -27,10 +27,10 @@ @ CallNode (location: (1,7)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,7)-(1,8) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt index a64a92ff34a72e..3a8819e7a1eb30 100644 --- a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt @@ -16,6 +16,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%I(" - │ └── closing_loc: (4,0)-(4,1) = ")" + │ ├── closing_loc: (4,0)-(4,1) = ")" + │ └── flags: ∅ └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt index a9c2463161f241..5d81874350614d 100644 --- a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt @@ -18,6 +18,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%W(" - │ └── closing_loc: (4,0)-(4,1) = ")" + │ ├── closing_loc: (4,0)-(4,1) = ")" + │ └── flags: ∅ └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/iter_args_1.txt b/test/prism/snapshots/seattlerb/iter_args_1.txt index b32558152eba20..3b0deb9ae69219 100644 --- a/test/prism/snapshots/seattlerb/iter_args_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -34,5 +35,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,10)-(1,11) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_10_1.txt b/test/prism/snapshots/seattlerb/iter_args_10_1.txt index a3d8c38e336cc7..341954af291bdf 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,21)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,20)-(1,21) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_10_2.txt b/test/prism/snapshots/seattlerb/iter_args_10_2.txt index 6a472f8a8498c9..d2bcc55c711586 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,25)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -47,5 +48,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,24)-(1,25) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_11_1.txt b/test/prism/snapshots/seattlerb/iter_args_11_1.txt index 4bc3c815cdcde8..d70ee259f2acb8 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,24)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,23)-(1,24) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_11_2.txt b/test/prism/snapshots/seattlerb/iter_args_11_2.txt index 06bac83f344c5f..553ad4213287c2 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,28)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -49,5 +50,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,27)-(1,28) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_2__19.txt b/test/prism/snapshots/seattlerb/iter_args_2__19.txt index f9b9e2cf25104f..967df1ac3594cb 100644 --- a/test/prism/snapshots/seattlerb/iter_args_2__19.txt +++ b/test/prism/snapshots/seattlerb/iter_args_2__19.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -40,5 +41,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_3.txt b/test/prism/snapshots/seattlerb/iter_args_3.txt index 85da0b88ff5ecb..b0570dc8ce7b49 100644 --- a/test/prism/snapshots/seattlerb/iter_args_3.txt +++ b/test/prism/snapshots/seattlerb/iter_args_3.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -44,5 +45,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,19)-(1,20) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_4.txt b/test/prism/snapshots/seattlerb/iter_args_4.txt index 0f1c9ff1f79e05..9e6822aea22a7f 100644 --- a/test/prism/snapshots/seattlerb/iter_args_4.txt +++ b/test/prism/snapshots/seattlerb/iter_args_4.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -38,5 +39,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,15)-(1,16) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_5.txt b/test/prism/snapshots/seattlerb/iter_args_5.txt index 02f83566d0e276..0af5cda3225f6e 100644 --- a/test/prism/snapshots/seattlerb/iter_args_5.txt +++ b/test/prism/snapshots/seattlerb/iter_args_5.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_6.txt b/test/prism/snapshots/seattlerb/iter_args_6.txt index 3977309e8f87dc..34a6a87559a59a 100644 --- a/test/prism/snapshots/seattlerb/iter_args_6.txt +++ b/test/prism/snapshots/seattlerb/iter_args_6.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_7_1.txt b/test/prism/snapshots/seattlerb/iter_args_7_1.txt index 9ffaac91d0bbea..cb9521efd1582b 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -41,5 +42,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_7_2.txt b/test/prism/snapshots/seattlerb/iter_args_7_2.txt index dbe44fac647d55..dcb74967d96721 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,22)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -45,5 +46,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,21)-(1,22) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_8_1.txt b/test/prism/snapshots/seattlerb/iter_args_8_1.txt index 8be6b9c15cd5fc..7f15b98ea90bc9 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,21)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,20)-(1,21) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_8_2.txt b/test/prism/snapshots/seattlerb/iter_args_8_2.txt index b18a4284a7ed68..305798bab2b5fd 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,25)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -47,5 +48,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,24)-(1,25) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_9_1.txt b/test/prism/snapshots/seattlerb/iter_args_9_1.txt index 33db33d03a2fcb..0f37861d68b4ba 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_1.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -39,5 +40,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_9_2.txt b/test/prism/snapshots/seattlerb/iter_args_9_2.txt index ab55180a198031..3933c7d1dadab9 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_2.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,21)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -43,5 +44,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,20)-(1,21) = "}" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_kwarg.txt b/test/prism/snapshots/seattlerb/iter_kwarg.txt index e80e6b599a6fe8..6175f85b7f515e 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -36,5 +37,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt index bd910e7d406147..3d197900d17d3a 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: ∅ @@ -40,5 +41,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,16)-(1,17) = "}" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/label_vs_string.txt b/test/prism/snapshots/seattlerb/label_vs_string.txt index 6160db7bc87dc4..55c40273b844b3 100644 --- a/test/prism/snapshots/seattlerb/label_vs_string.txt +++ b/test/prism/snapshots/seattlerb/label_vs_string.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :_buf │ ├── message_loc: (1,0)-(1,4) = "_buf" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :_buf + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :<< ├── message_loc: (1,5)-(1,7) = "<<" ├── opening_loc: ∅ ├── arguments: @@ -30,5 +31,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :<< + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt index ad60fa123186f9..65048d534d6803 100644 --- a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt +++ b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (1,0)-(1,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: @@ -21,11 +22,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (3,0)-(3,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: @@ -41,11 +42,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (5,0)-(5,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: @@ -66,11 +67,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ └── @ CallNode (location: (7,0)-(7,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (7,0)-(7,1) = "f" ├── opening_loc: ∅ ├── arguments: @@ -91,5 +92,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt index a3eb0b3f9a964a..82bc5901006654 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt @@ -13,6 +13,7 @@ │ │ @ CallNode (location: (1,4)-(1,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ ├── arguments: @@ -23,8 +24,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── keyword_loc: (1,9)-(1,15) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,16)-(1,17)) diff --git a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt index a54b70da9234da..ce6b05e8d10987 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt @@ -13,6 +13,7 @@ │ │ @ CallNode (location: (1,4)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -23,8 +24,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,15)-(1,16)) diff --git a/test/prism/snapshots/seattlerb/lasgn_command.txt b/test/prism/snapshots/seattlerb/lasgn_command.txt index 01fab864b607b3..2f2709577bfa49 100644 --- a/test/prism/snapshots/seattlerb/lasgn_command.txt +++ b/test/prism/snapshots/seattlerb/lasgn_command.txt @@ -13,14 +13,15 @@ │ │ @ CallNode (location: (1,4)-(1,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,5)-(1,6) = "." + │ ├── name: :c │ ├── message_loc: (1,6)-(1,7) = "c" │ ├── opening_loc: ∅ │ ├── arguments: @@ -31,6 +32,5 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :c + │ └── flags: ∅ └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt index 6d13b12fd0532b..6c5bfb8d9e344f 100644 --- a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt @@ -16,6 +16,7 @@ │ │ @ CallNode (location: (1,8)-(1,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c │ │ ├── message_loc: (1,8)-(1,9) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -26,7 +27,6 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :c + │ │ └── flags: ∅ │ └── operator_loc: (1,6)-(1,7) = "=" └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt index db283c4d0733f7..f88e98dd50b6d8 100644 --- a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt +++ b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt @@ -13,36 +13,37 @@ │ │ ├── @ CallNode (location: (1,4)-(1,5)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,4)-(1,5) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ ├── @ SplatNode (location: (1,7)-(1,9)) │ │ │ ├── operator_loc: (1,7)-(1,8) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,8)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,8)-(1,9) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ └── @ CallNode (location: (1,11)-(1,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d │ │ ├── message_loc: (1,11)-(1,12) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :d + │ │ └── flags: variable_call │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: contains_splat └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt index 9b6f9169f4fe21..f0e7b581091f34 100644 --- a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt @@ -20,10 +20,10 @@ @ CallNode (location: (1,7)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,7)-(1,8) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt index 332ffbfa22d82d..8bf3c3735001d2 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt @@ -13,21 +13,21 @@ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,3)-(1,4) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,4)-(1,6) = "::" + │ ├── name: :c= │ ├── message_loc: (1,6)-(1,7) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :c= + │ └── flags: ∅ ├── rest: ∅ ├── rights: (length: 0) ├── lparen_loc: ∅ @@ -37,10 +37,10 @@ @ CallNode (location: (1,10)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :d ├── message_loc: (1,10)-(1,11) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :d + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt index 67fe4011535880..ff55c6b8f7cf33 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt @@ -13,21 +13,21 @@ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,3)-(1,4) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,4)-(1,5) = "." + │ ├── name: :C= │ ├── message_loc: (1,5)-(1,6) = "C" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :C= + │ └── flags: ∅ ├── rest: ∅ ├── rights: (length: 0) ├── lparen_loc: ∅ @@ -37,10 +37,10 @@ @ CallNode (location: (1,9)-(1,10)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :d ├── message_loc: (1,9)-(1,10) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :d + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt index 0915b21e5d67ac..9492bd340fd36b 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt @@ -26,10 +26,10 @@ @ CallNode (location: (1,11)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :d ├── message_loc: (1,11)-(1,12) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :d + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_colon2.txt b/test/prism/snapshots/seattlerb/masgn_colon2.txt index 0953bc3cf7abc3..e97891ebd30cba 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon2.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon2.txt @@ -13,13 +13,13 @@ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,3)-(1,4) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── child: │ │ @ ConstantReadNode (location: (1,6)-(1,7)) │ │ └── name: :C @@ -37,4 +37,5 @@ │ └── @ IntegerNode (location: (1,13)-(1,14)) │ └── flags: decimal ├── opening_loc: ∅ - └── closing_loc: ∅ + ├── closing_loc: ∅ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_colon3.txt b/test/prism/snapshots/seattlerb/masgn_colon3.txt index e70d2268b7e796..836ce91c7ffaa2 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon3.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon3.txt @@ -30,4 +30,5 @@ │ └── @ IntegerNode (location: (1,14)-(1,15)) │ └── flags: decimal ├── opening_loc: ∅ - └── closing_loc: ∅ + ├── closing_loc: ∅ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_command_call.txt b/test/prism/snapshots/seattlerb/masgn_command_call.txt index 2e0105c455ab5b..ceb81c05004b69 100644 --- a/test/prism/snapshots/seattlerb/masgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/masgn_command_call.txt @@ -22,14 +22,15 @@ │ @ CallNode (location: (1,5)-(1,6)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (1,5)-(1,6) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call ├── call_operator_loc: (1,6)-(1,7) = "." + ├── name: :c ├── message_loc: (1,7)-(1,8) = "c" ├── opening_loc: ∅ ├── arguments: @@ -40,5 +41,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_double_paren.txt b/test/prism/snapshots/seattlerb/masgn_double_paren.txt index 2a8702053efc62..b6a3748d3f91b2 100644 --- a/test/prism/snapshots/seattlerb/masgn_double_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_double_paren.txt @@ -26,10 +26,10 @@ @ CallNode (location: (1,8)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,8)-(1,9) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt index 656f71ebbe9c7e..10d0dc3a4a1f1c 100644 --- a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt +++ b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt @@ -26,4 +26,5 @@ │ └── @ IntegerNode (location: (1,11)-(1,12)) │ └── flags: decimal ├── opening_loc: ∅ - └── closing_loc: ∅ + ├── closing_loc: ∅ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_paren.txt b/test/prism/snapshots/seattlerb/masgn_paren.txt index a212a456352709..49c1a488b291f7 100644 --- a/test/prism/snapshots/seattlerb/masgn_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_paren.txt @@ -22,18 +22,18 @@ │ @ CallNode (location: (1,9)-(1,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :c │ ├── message_loc: (1,9)-(1,10) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :c + │ └── flags: variable_call ├── call_operator_loc: (1,10)-(1,11) = "." + ├── name: :d ├── message_loc: (1,11)-(1,12) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :d + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt index 1be6d5906c56c6..75dfd499fe75e7 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt @@ -23,10 +23,10 @@ @ CallNode (location: (1,8)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,8)-(1,9) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt index d0ecbadfa9dc83..16fd28db428df3 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt @@ -26,10 +26,10 @@ @ CallNode (location: (1,11)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :d ├── message_loc: (1,11)-(1,12) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :d + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt index fe129e7b480b04..00ef2e5cf40fdb 100644 --- a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt +++ b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt @@ -23,10 +23,10 @@ @ CallNode (location: (1,10)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,10)-(1,11) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt index c2c5f268d8119e..92b636949f2b46 100644 --- a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt +++ b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -30,6 +31,7 @@ │ │ │ │ @ CallNode (location: (1,11)-(1,14)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :d │ │ │ │ ├── message_loc: (1,11)-(1,12) = "d" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: @@ -38,23 +40,21 @@ │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :e │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "e" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :e + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :d + │ │ │ │ └── flags: ∅ │ │ │ └── operator: :* │ │ ├── opening_loc: (1,2)-(1,3) = "(" │ │ └── closing_loc: (1,14)-(1,15) = ")" │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt index 1b9a3754367681..b2e8c1188797a1 100644 --- a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :f ├── message_loc: (1,2)-(1,3) = "f" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: @@ -34,5 +35,4 @@ │ └── flags: ∅ ├── closing_loc: (1,9)-(1,10) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt index 6d1178f7e52f95..4c9a4124044015 100644 --- a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :f ├── message_loc: (1,2)-(1,3) = "f" ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: (1,6)-(1,7) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt index b6c722c108a8bc..debb1e52d21a65 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt @@ -26,10 +26,10 @@ @ CallNode (location: (1,13)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,13)-(1,14) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt index 644e54bc6e3ead..bd80071854f50c 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt @@ -29,10 +29,10 @@ @ CallNode (location: (1,14)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,14)-(1,15) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt index d8a1fcb6f569e8..dd984f725fd55c 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt @@ -26,10 +26,10 @@ @ CallNode (location: (1,13)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,13)-(1,14) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt index 48fc7f5e3b4229..49a7b1629a86d9 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt @@ -29,10 +29,10 @@ @ CallNode (location: (1,14)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,14)-(1,15) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_keyword.txt b/test/prism/snapshots/seattlerb/mlhs_keyword.txt index 13543acdf0a468..7612ebe2f0726d 100644 --- a/test/prism/snapshots/seattlerb/mlhs_keyword.txt +++ b/test/prism/snapshots/seattlerb/mlhs_keyword.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :!= ├── message_loc: (1,2)-(1,4) = "!=" ├── opening_loc: (1,4)-(1,5) = "(" ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: (1,15)-(1,16) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :!= + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt index 8781fd3229ec39..f0fc933ff55589 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt @@ -35,10 +35,10 @@ @ CallNode (location: (1,22)-(1,23)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,22)-(1,23) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt index ceb3fd0018f75e..f0d2126ad7e2c8 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt @@ -38,10 +38,10 @@ @ CallNode (location: (1,23)-(1,24)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,23)-(1,24) = "f" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :f + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/mlhs_rescue.txt b/test/prism/snapshots/seattlerb/mlhs_rescue.txt index 79152dc74fad72..f438bf6041564a 100644 --- a/test/prism/snapshots/seattlerb/mlhs_rescue.txt +++ b/test/prism/snapshots/seattlerb/mlhs_rescue.txt @@ -22,13 +22,13 @@ │ @ CallNode (location: (1,7)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (1,7)-(1,8) = "f" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :f + │ └── flags: variable_call ├── keyword_loc: (1,9)-(1,15) = "rescue" └── rescue_expression: @ IntegerNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt index 4406932415c922..b2041a0a3e3624 100644 --- a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt +++ b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(3,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (1,0)-(1,1) = "f" │ ├── opening_loc: (1,1)-(1,2) = "(" │ ├── arguments: @@ -29,11 +30,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (3,1)-(3,2) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(6,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (5,0)-(5,1) = "f" │ ├── opening_loc: (5,1)-(5,2) = "(" │ ├── arguments: @@ -57,11 +58,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: (6,1)-(6,2) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :f + │ └── flags: ∅ └── @ CallNode (location: (8,0)-(8,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (8,0)-(8,1) = "f" ├── opening_loc: (8,1)-(8,2) = "(" ├── arguments: @@ -85,5 +86,4 @@ │ └── flags: ∅ ├── closing_loc: (8,11)-(8,12) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt index 84da92544b6456..34ea8f248045a8 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt @@ -16,6 +16,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%i(" - │ └── closing_loc: (4,0)-(4,1) = ")" + │ ├── closing_loc: (4,0)-(4,1) = ")" + │ └── flags: ∅ └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt index 8e34057120b77e..821f18995ba6be 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt @@ -18,6 +18,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ ├── opening_loc: (1,0)-(1,3) = "%w(" - │ └── closing_loc: (4,0)-(4,1) = ")" + │ ├── closing_loc: (4,0)-(4,1) = ")" + │ └── flags: ∅ └── @ IntegerNode (location: (5,0)-(5,1)) └── flags: decimal diff --git a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt index 73b0111c8cdd56..22251546e9eba2 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt @@ -12,14 +12,15 @@ │ │ @ CallNode (location: (1,6)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,7)-(1,8) = "." + │ ├── name: :c │ ├── message_loc: (1,8)-(1,9) = "c" │ ├── opening_loc: ∅ │ ├── arguments: @@ -30,7 +31,6 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :c + │ └── flags: ∅ ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt index 3f8840fd6ee59f..6da5424b8e5b5f 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt @@ -17,6 +17,7 @@ @ CallNode (location: (1,8)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,8)-(1,9) = "c" ├── opening_loc: ∅ ├── arguments: @@ -27,5 +28,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt index 207ccbd7c8e986..b3f1e1fc358d28 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -34,6 +34,7 @@ @ CallNode (location: (1,10)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,10)-(1,11) = "c" ├── opening_loc: ∅ ├── arguments: @@ -46,5 +47,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt index 549257cd163fde..ff10caee56e839 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt @@ -18,6 +18,7 @@ │ @ CallNode (location: (1,8)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :c │ ├── message_loc: (1,8)-(1,9) = "c" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,16 +27,15 @@ │ │ │ └── @ CallNode (location: (1,10)-(1,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :d │ │ │ ├── message_loc: (1,10)-(1,11) = "d" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :d + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :c + │ └── flags: ∅ └── operator: :* diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt index 0fa761caa903af..3b9bee333f4fab 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt @@ -18,6 +18,7 @@ @ CallNode (location: (1,8)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,8)-(1,9) = "c" ├── opening_loc: ∅ ├── arguments: @@ -26,15 +27,14 @@ │ │ └── @ CallNode (location: (1,10)-(1,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :d │ │ ├── message_loc: (1,10)-(1,11) = "d" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :d + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt index 37f45009b21e01..4e35a7d8278809 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." ├── message_loc: (1,2)-(1,3) = "b" ├── flags: ∅ @@ -25,6 +25,7 @@ @ CallNode (location: (1,8)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (1,8)-(1,9) = "c" ├── opening_loc: ∅ ├── arguments: @@ -35,5 +36,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :c + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt index 5990f23a742b9c..3342f56ff9f56b 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt @@ -13,29 +13,29 @@ │ │ │ @ CallNode (location: (1,7)-(1,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,7)-(1,10) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,10)-(1,11) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,11)-(1,15) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,3)-(1,6) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) diff --git a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt index 5990f23a742b9c..3342f56ff9f56b 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt @@ -13,29 +13,29 @@ │ │ │ @ CallNode (location: (1,7)-(1,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,7)-(1,10) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,10)-(1,11) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,11)-(1,15) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,3)-(1,6) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) diff --git a/test/prism/snapshots/seattlerb/parse_line_block.txt b/test/prism/snapshots/seattlerb/parse_line_block.txt index 3d0cf4f2517bd9..e0d46ffeb3f3a2 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block.txt @@ -14,6 +14,7 @@ └── @ CallNode (location: (2,0)-(2,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (2,0)-(2,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -25,5 +26,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt index de8c8ab3213d31..f8fc06ed973a14 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt @@ -6,30 +6,30 @@ ├── @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── @ CallNode (location: (2,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (2,0)-(2,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call └── @ CallNode (location: (3,0)-(3,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (3,0)-(3,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt index 7cbf48fb0b814a..b51919ae361186 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt @@ -6,30 +6,30 @@ ├── @ CallNode (location: (4,0)-(4,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (4,0)-(4,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── @ CallNode (location: (5,0)-(5,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (5,0)-(5,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call └── @ CallNode (location: (7,0)-(7,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (7,0)-(7,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt index 8811057277b06c..97feaf3bf67a6d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt @@ -6,30 +6,30 @@ ├── @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── @ CallNode (location: (2,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :b │ ├── message_loc: (2,0)-(2,1) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :b + │ └── flags: variable_call └── @ CallNode (location: (4,0)-(4,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (4,0)-(4,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt index 9d8888e0caafb6..21ea5368db0454 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,4)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -16,5 +17,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt index d405c6ec5953f1..9fc496ef947567 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(2,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -16,5 +17,4 @@ │ └── flags: ∅ ├── closing_loc: (2,0)-(2,1) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt index 990ae18a706c95..2421482f67431a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: ∅ @@ -40,6 +41,7 @@ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (2,4)-(2,5) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -51,9 +53,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ ├── opening_loc: (1,2)-(1,4) = "do" │ └── closing_loc: (3,0)-(3,3) = "end" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt index f9062d9b3009e4..79c10f0e4ecfc8 100644 --- a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt +++ b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt @@ -24,6 +24,7 @@ │ ├── @ CallNode (location: (2,2)-(2,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :p │ │ ├── message_loc: (2,2)-(2,3) = "p" │ │ ├── opening_loc: (2,3)-(2,4) = "(" │ │ ├── arguments: @@ -35,8 +36,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (2,5)-(2,6) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :p + │ │ └── flags: ∅ │ ├── @ LocalVariableOperatorWriteNode (location: (3,2)-(3,8)) │ │ ├── name_loc: (3,2)-(3,3) = "y" │ │ ├── operator_loc: (3,4)-(3,6) = "*=" diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2.txt b/test/prism/snapshots/seattlerb/parse_line_dot2.txt index ed8d7f900bcd9c..51276d21073469 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2.txt @@ -17,33 +17,33 @@ │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (3,0)-(3,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── right: │ │ @ CallNode (location: (4,0)-(4,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (4,0)-(4,1) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── operator_loc: (3,1)-(3,3) = ".." │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (5,0)-(5,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt index 90370375d93fb5..7383c1f88c9126 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt @@ -15,23 +15,23 @@ │ │ @ CallNode (location: (2,2)-(2,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,2)-(2,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── right: ∅ │ ├── operator_loc: (2,3)-(2,5) = ".." │ └── flags: ∅ └── @ CallNode (location: (3,2)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (3,2)-(3,3) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3.txt b/test/prism/snapshots/seattlerb/parse_line_dot3.txt index 3005180bc1a0ea..87b6642040cec1 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3.txt @@ -17,33 +17,33 @@ │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (3,0)-(3,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── right: │ │ @ CallNode (location: (4,0)-(4,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (4,0)-(4,1) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ ├── operator_loc: (3,1)-(3,4) = "..." │ └── flags: exclude_end └── @ CallNode (location: (5,0)-(5,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (5,0)-(5,1) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt index c46da1fc5a8c2d..639917b5dcd8d0 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt @@ -15,23 +15,23 @@ │ │ @ CallNode (location: (2,2)-(2,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,2)-(2,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── right: ∅ │ ├── operator_loc: (2,3)-(2,6) = "..." │ └── flags: exclude_end └── @ CallNode (location: (3,2)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :c ├── message_loc: (3,2)-(3,3) = "c" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :c + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt index 662bd86c055c3b..28d126b840f4b5 100644 --- a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt @@ -3,32 +3,33 @@ └── statements: @ StatementsNode (location: (1,0)-(2,6)) └── body: (length: 1) - └── @ StringConcatNode (location: (1,0)-(2,6)) - ├── left: - │ @ StringNode (location: (1,0)-(1,3)) - │ ├── flags: ∅ - │ ├── opening_loc: (1,0)-(1,1) = "\"" - │ ├── content_loc: (1,1)-(1,2) = "a" - │ ├── closing_loc: (1,2)-(1,3) = "\"" - │ └── unescaped: "a" - └── right: - @ InterpolatedStringNode (location: (2,0)-(2,6)) - ├── opening_loc: (2,0)-(2,1) = "\"" - ├── parts: (length: 1) - │ └── @ EmbeddedStatementsNode (location: (2,1)-(2,5)) - │ ├── opening_loc: (2,1)-(2,3) = "\#{" - │ ├── statements: - │ │ @ StatementsNode (location: (2,3)-(2,4)) - │ │ └── body: (length: 1) - │ │ └── @ CallNode (location: (2,3)-(2,4)) - │ │ ├── receiver: ∅ - │ │ ├── call_operator_loc: ∅ - │ │ ├── message_loc: (2,3)-(2,4) = "b" - │ │ ├── opening_loc: ∅ - │ │ ├── arguments: ∅ - │ │ ├── closing_loc: ∅ - │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b - │ └── closing_loc: (2,4)-(2,5) = "}" - └── closing_loc: (2,5)-(2,6) = "\"" + └── @ InterpolatedStringNode (location: (1,0)-(2,6)) + ├── opening_loc: ∅ + ├── parts: (length: 2) + │ ├── @ StringNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,0)-(1,1) = "\"" + │ │ ├── content_loc: (1,1)-(1,2) = "a" + │ │ ├── closing_loc: (1,2)-(1,3) = "\"" + │ │ └── unescaped: "a" + │ └── @ InterpolatedStringNode (location: (2,0)-(2,6)) + │ ├── opening_loc: (2,0)-(2,1) = "\"" + │ ├── parts: (length: 1) + │ │ └── @ EmbeddedStatementsNode (location: (2,1)-(2,5)) + │ │ ├── opening_loc: (2,1)-(2,3) = "\#{" + │ │ ├── statements: + │ │ │ @ StatementsNode (location: (2,3)-(2,4)) + │ │ │ └── body: (length: 1) + │ │ │ └── @ CallNode (location: (2,3)-(2,4)) + │ │ │ ├── receiver: ∅ + │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b + │ │ │ ├── message_loc: (2,3)-(2,4) = "b" + │ │ │ ├── opening_loc: ∅ + │ │ │ ├── arguments: ∅ + │ │ │ ├── closing_loc: ∅ + │ │ │ ├── block: ∅ + │ │ │ └── flags: variable_call + │ │ └── closing_loc: (2,4)-(2,5) = "}" + │ └── closing_loc: (2,5)-(2,6) = "\"" + └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt index daf72f4f419da7..8e5a8598d20f8e 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt @@ -17,17 +17,18 @@ │ │ │ ├── closing_loc: (3,0)-(4,0) = " HEREDOC\n" │ │ │ └── unescaped: " very long string\n" │ │ ├── call_operator_loc: (1,25)-(1,26) = "." + │ │ ├── name: :strip │ │ ├── message_loc: (1,26)-(1,31) = "strip" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :strip + │ │ └── flags: ∅ │ └── operator_loc: (1,13)-(1,14) = "=" └── @ CallNode (location: (4,6)-(4,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :puts ├── message_loc: (4,6)-(4,10) = "puts" ├── opening_loc: ∅ ├── arguments: @@ -39,5 +40,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :puts + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt index ab7437d7114a02..120560084a3769 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (3,2)-(3,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (3,2)-(3,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── closing_loc: (3,3)-(3,4) = "}" │ └── @ StringNode (location: (3,4)-(4,0)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt index 89b5ee41adc231..b77d79519b2471 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt @@ -18,6 +18,7 @@ └── @ CallNode (location: (4,6)-(4,17)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :puts ├── message_loc: (4,6)-(4,10) = "puts" ├── opening_loc: ∅ ├── arguments: @@ -29,5 +30,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :puts + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt index 39ae4aa1d92319..e582bc2b5f1922 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: @@ -14,13 +15,13 @@ │ │ └── @ CallNode (location: (1,2)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,2)-(1,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: @@ -53,6 +54,7 @@ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (2,4)-(2,5) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -64,9 +66,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (3,0)-(3,3) = "end" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt index fa602e96dc8ea1..ca8f6fd729b914 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(3,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -14,13 +15,13 @@ │ │ └── @ CallNode (location: (1,2)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,2)-(1,3) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: (1,3)-(1,4) = ")" ├── block: @@ -53,6 +54,7 @@ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (2,4)-(2,5) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -64,9 +66,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (3,0)-(3,3) = "end" - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt index a024abcd318319..46378fa9c4ed47 100644 --- a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt @@ -10,23 +10,23 @@ │ │ @ CallNode (location: (2,8)-(2,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (2,8)-(2,11) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ ├── name: :foo │ ├── operator: :+ │ └── depth: 0 └── @ CallNode (location: (3,6)-(3,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :baz ├── message_loc: (3,6)-(3,9) = "baz" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :baz + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_postexe.txt b/test/prism/snapshots/seattlerb/parse_line_postexe.txt index 9b31bda3289132..37114601aa967a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_postexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_postexe.txt @@ -10,13 +10,13 @@ │ └── @ CallNode (location: (2,0)-(2,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (2,0)-(2,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── keyword_loc: (1,0)-(1,3) = "END" ├── opening_loc: (1,4)-(1,5) = "{" └── closing_loc: (3,0)-(3,1) = "}" diff --git a/test/prism/snapshots/seattlerb/parse_line_preexe.txt b/test/prism/snapshots/seattlerb/parse_line_preexe.txt index 573ab171f9131d..9de912be8fdcf2 100644 --- a/test/prism/snapshots/seattlerb/parse_line_preexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_preexe.txt @@ -10,13 +10,13 @@ │ └── @ CallNode (location: (2,0)-(2,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (2,0)-(2,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── keyword_loc: (1,0)-(1,5) = "BEGIN" ├── opening_loc: (1,6)-(1,7) = "{" └── closing_loc: (3,0)-(3,1) = "}" diff --git a/test/prism/snapshots/seattlerb/parse_line_rescue.txt b/test/prism/snapshots/seattlerb/parse_line_rescue.txt index c30cf03e87344e..d269c2e8203ce7 100644 --- a/test/prism/snapshots/seattlerb/parse_line_rescue.txt +++ b/test/prism/snapshots/seattlerb/parse_line_rescue.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (2,2)-(2,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (2,2)-(2,3) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (3,0)-(6,3)) │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -30,13 +30,13 @@ │ │ └── @ CallNode (location: (4,2)-(4,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (4,2)-(4,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── consequent: │ @ RescueNode (location: (5,0)-(6,3)) │ ├── keyword_loc: (5,0)-(5,6) = "rescue" @@ -49,13 +49,13 @@ │ │ └── @ CallNode (location: (6,2)-(6,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :c │ │ ├── message_loc: (6,2)-(6,3) = "c" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :c + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt index 635d8d1fa342d7..c0b4f6cd3de530 100644 --- a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt +++ b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: (1,1)-(1,2) = "(" ├── arguments: @@ -21,5 +22,4 @@ │ └── flags: ∅ ├── closing_loc: (1,12)-(1,13) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt index 551cae4ba9fce7..bedd6611f9c94d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt +++ b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt @@ -20,20 +20,20 @@ │ @ CallNode (location: (2,4)-(2,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :c │ ├── message_loc: (2,4)-(2,5) = "c" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :c + │ └── flags: variable_call └── @ CallNode (location: (3,0)-(3,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :d ├── message_loc: (3,0)-(3,1) = "d" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :d + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt index f73d884d014e94..ab15f515266dff 100644 --- a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt @@ -6,20 +6,20 @@ ├── @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call └── @ CallNode (location: (2,0)-(2,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (2,0)-(2,1) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt index 595b592fa5633e..5624d07a73294e 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,1)-(1,8) = "[2=>3,]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: (1,7)-(1,8) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt index 10edaaeed0b421..a16635a0eb5279 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt @@ -8,6 +8,7 @@ │ @ IntegerNode (location: (1,0)-(1,1)) │ └── flags: decimal ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,1)-(1,5) = "[2,]" ├── opening_loc: (1,1)-(1,2) = "[" ├── arguments: @@ -18,5 +19,4 @@ │ └── flags: ∅ ├── closing_loc: (1,4)-(1,5) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_044.txt b/test/prism/snapshots/seattlerb/parse_pattern_044.txt index f83bd5b02ae9d9..36189b756da48f 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_044.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_044.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,5)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :obj │ ├── message_loc: (1,5)-(1,8) = "obj" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :obj + │ └── flags: variable_call ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/parse_pattern_051.txt b/test/prism/snapshots/seattlerb/parse_pattern_051.txt index fb32cd0359ab96..fb9c3ee282b794 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_051.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_051.txt @@ -14,7 +14,8 @@ │ │ └── @ IntegerNode (location: (1,12)-(1,13)) │ │ └── flags: decimal │ ├── opening_loc: (1,5)-(1,6) = "[" - │ └── closing_loc: (1,13)-(1,14) = "]" + │ ├── closing_loc: (1,13)-(1,14) = "]" + │ └── flags: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) │ ├── pattern: diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058.txt b/test/prism/snapshots/seattlerb/parse_pattern_058.txt index 6ec42013bbab8a..4dee865a2b9d87 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058.txt @@ -56,7 +56,8 @@ │ │ │ ├── name: :rest │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" - │ │ └── closing_loc: (3,10)-(3,11) = "]" + │ │ ├── closing_loc: (3,10)-(3,11) = "]" + │ │ └── flags: ∅ │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt index 0f578ee687d91c..f55300e6d1b388 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt @@ -50,7 +50,8 @@ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" - │ │ └── closing_loc: (3,4)-(3,5) = "]" + │ │ ├── closing_loc: (3,4)-(3,5) = "]" + │ │ └── flags: ∅ │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt index 083bbc4f7ee892..f7544713f1df54 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt @@ -14,29 +14,29 @@ │ │ │ @ CallNode (location: (1,10)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,10)-(1,13) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,13)-(1,14) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── statements: │ @ StatementsNode (location: (2,2)-(2,7)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt index 083bbc4f7ee892..f7544713f1df54 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt @@ -14,29 +14,29 @@ │ │ │ @ CallNode (location: (1,10)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,10)-(1,13) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,13)-(1,14) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── statements: │ @ StatementsNode (location: (2,2)-(2,7)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt index 783c87750afcdf..e745a865c90651 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt @@ -14,29 +14,29 @@ │ │ │ @ CallNode (location: (1,10)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,10)-(1,13) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,13)-(1,14) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── statements: │ @ StatementsNode (location: (2,2)-(2,7)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt index 783c87750afcdf..e745a865c90651 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt @@ -14,29 +14,29 @@ │ │ │ @ CallNode (location: (1,10)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :var │ │ │ ├── message_loc: (1,10)-(1,13) = "var" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :var + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (1,13)-(1,14) = "." + │ │ ├── name: :nil? │ │ ├── message_loc: (1,14)-(1,18) = "nil?" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :nil? + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,6)-(1,9) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── statements: │ @ StatementsNode (location: (2,2)-(2,7)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/seattlerb/pctW_lineno.txt b/test/prism/snapshots/seattlerb/pctW_lineno.txt index 20196fe2f96ec3..6ec354bd0ecc2d 100644 --- a/test/prism/snapshots/seattlerb/pctW_lineno.txt +++ b/test/prism/snapshots/seattlerb/pctW_lineno.txt @@ -48,4 +48,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "iy" ├── opening_loc: (1,0)-(1,3) = "%W(" - └── closing_loc: (5,10)-(5,11) = ")" + ├── closing_loc: (5,10)-(5,11) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt index 74ad9360ab0f0b..5ce3fa6c558d6d 100644 --- a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt +++ b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt @@ -46,4 +46,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "5" ├── opening_loc: (1,0)-(1,3) = "%W(" - └── closing_loc: (4,10)-(4,11) = ")" + ├── closing_loc: (4,10)-(4,11) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/pipe_semicolon.txt b/test/prism/snapshots/seattlerb/pipe_semicolon.txt index d38daaae73a198..1201e87a66b9ce 100644 --- a/test/prism/snapshots/seattlerb/pipe_semicolon.txt +++ b/test/prism/snapshots/seattlerb/pipe_semicolon.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ @@ -34,5 +35,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (1,15)-(1,18) = "end" - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/pipe_space.txt b/test/prism/snapshots/seattlerb/pipe_space.txt index 6e60c324dd85c1..9ecf0227758c0b 100644 --- a/test/prism/snapshots/seattlerb/pipe_space.txt +++ b/test/prism/snapshots/seattlerb/pipe_space.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,2) = "." + ├── name: :b ├── message_loc: (1,2)-(1,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ @@ -32,5 +33,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (1,11)-(1,14) = "end" - ├── flags: ∅ - └── name: :b + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qWords_space.txt b/test/prism/snapshots/seattlerb/qWords_space.txt index db2a56632f2038..d8ca822ac2e912 100644 --- a/test/prism/snapshots/seattlerb/qWords_space.txt +++ b/test/prism/snapshots/seattlerb/qWords_space.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,5)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%W(" - └── closing_loc: (1,4)-(1,5) = ")" + ├── closing_loc: (1,4)-(1,5) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qsymbols.txt b/test/prism/snapshots/seattlerb/qsymbols.txt index ba50680a4393e7..b22155d271618d 100644 --- a/test/prism/snapshots/seattlerb/qsymbols.txt +++ b/test/prism/snapshots/seattlerb/qsymbols.txt @@ -21,4 +21,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%I(" - └── closing_loc: (1,8)-(1,9) = ")" + ├── closing_loc: (1,8)-(1,9) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty.txt b/test/prism/snapshots/seattlerb/qsymbols_empty.txt index dd94a36cc8566b..8505453713c294 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,4)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" - └── closing_loc: (1,3)-(1,4) = ")" + ├── closing_loc: (1,3)-(1,4) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt index e851b377d91ded..46ef892d6563c2 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,5)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" - └── closing_loc: (1,4)-(1,5) = ")" + ├── closing_loc: (1,4)-(1,5) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qsymbols_interp.txt b/test/prism/snapshots/seattlerb/qsymbols_interp.txt index e21ec3eb4dea36..6e240759dd530a 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_interp.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_interp.txt @@ -29,6 +29,7 @@ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) │ │ │ │ │ └── flags: decimal │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :+ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "+" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: @@ -39,8 +40,7 @@ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :+ + │ │ │ │ └── flags: ∅ │ │ │ └── closing_loc: (1,11)-(1,12) = "}" │ │ └── closing_loc: ∅ │ └── @ SymbolNode (location: (1,13)-(1,14)) @@ -49,4 +49,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%I(" - └── closing_loc: (1,14)-(1,15) = ")" + ├── closing_loc: (1,14)-(1,15) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt index 86d5c298d3131f..cdaf54b6c868b3 100644 --- a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt +++ b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :puts ├── message_loc: (1,0)-(1,4) = "puts" ├── opening_loc: ∅ ├── arguments: @@ -29,5 +30,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :puts + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/qwords_empty.txt b/test/prism/snapshots/seattlerb/qwords_empty.txt index 17ebaf21d97442..4f50f52cbba761 100644 --- a/test/prism/snapshots/seattlerb/qwords_empty.txt +++ b/test/prism/snapshots/seattlerb/qwords_empty.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,4)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%w(" - └── closing_loc: (1,3)-(1,4) = ")" + ├── closing_loc: (1,3)-(1,4) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt index 4f247496bc98ec..bdd92a5482314e 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt @@ -8,6 +8,7 @@ │ @ CallNode (location: (1,0)-(5,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :proc │ ├── message_loc: (1,0)-(1,4) = "proc" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -44,13 +45,12 @@ │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ │ ├── opening_loc: (1,5)-(1,7) = "do" │ │ └── closing_loc: (5,0)-(5,3) = "end" - │ ├── flags: ∅ - │ └── name: :proc + │ └── flags: ∅ ├── call_operator_loc: (5,3)-(5,4) = "." + ├── name: :call ├── message_loc: (5,4)-(5,8) = "call" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :call + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt index 47b810c41fc82c..a137470b712134 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(9,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :tap ├── message_loc: (1,0)-(1,3) = "tap" ├── opening_loc: ∅ ├── arguments: ∅ @@ -67,5 +68,4 @@ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (9,0)-(9,3) = "end" - ├── flags: ∅ - └── name: :tap + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt index 280ac567b94e0a..a7300bda96d198 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(5,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :tap ├── message_loc: (1,0)-(1,3) = "tap" ├── opening_loc: ∅ ├── arguments: ∅ @@ -23,13 +24,13 @@ │ │ │ └── @ CallNode (location: (2,2)-(2,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (2,2)-(2,7) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :raise + │ │ │ └── flags: variable_call │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: @@ -47,5 +48,4 @@ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (5,0)-(5,3) = "end" - ├── flags: ∅ - └── name: :tap + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt index 8da45bf3d02122..1d192161d7a382 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(9,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :tap ├── message_loc: (1,0)-(1,3) = "tap" ├── opening_loc: ∅ ├── arguments: ∅ @@ -23,13 +24,13 @@ │ │ │ └── @ CallNode (location: (2,2)-(2,7)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (2,2)-(2,7) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :raise + │ │ │ └── flags: variable_call │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,9)) │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" @@ -72,5 +73,4 @@ │ │ └── end_keyword_loc: (9,0)-(9,3) = "end" │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (9,0)-(9,3) = "end" - ├── flags: ∅ - └── name: :tap + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_in_block.txt b/test/prism/snapshots/seattlerb/rescue_in_block.txt index a5a6e43ef55dda..8864c835b11910 100644 --- a/test/prism/snapshots/seattlerb/rescue_in_block.txt +++ b/test/prism/snapshots/seattlerb/rescue_in_block.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(4,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :blah ├── message_loc: (1,0)-(1,4) = "blah" ├── opening_loc: ∅ ├── arguments: ∅ @@ -30,18 +31,17 @@ │ │ │ │ └── @ CallNode (location: (3,2)-(3,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :stuff │ │ │ │ ├── message_loc: (3,2)-(3,7) = "stuff" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :stuff + │ │ │ │ └── flags: variable_call │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ │ │ └── end_keyword_loc: (4,0)-(4,3) = "end" │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (4,0)-(4,3) = "end" - ├── flags: ∅ - └── name: :blah + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_parens.txt b/test/prism/snapshots/seattlerb/rescue_parens.txt index f65a80e26a6f52..300627ac801189 100644 --- a/test/prism/snapshots/seattlerb/rescue_parens.txt +++ b/test/prism/snapshots/seattlerb/rescue_parens.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -20,29 +21,28 @@ │ │ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (1,3)-(1,4) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ CallNode (location: (1,12)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :c │ │ │ ├── message_loc: (1,12)-(1,13) = "c" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :c + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (1,2)-(1,3) = "(" │ │ └── closing_loc: (1,13)-(1,14) = ")" │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/return_call_assocs.txt b/test/prism/snapshots/seattlerb/return_call_assocs.txt index 79fe7ca30f88a1..d67290ffb82b74 100644 --- a/test/prism/snapshots/seattlerb/return_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/return_call_assocs.txt @@ -64,6 +64,7 @@ │ │ └── @ CallNode (location: (5,7)-(5,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y │ │ ├── message_loc: (5,7)-(5,8) = "y" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -85,8 +86,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :y + │ │ └── flags: ∅ │ └── flags: ∅ ├── @ ReturnNode (location: (7,0)-(7,12)) │ ├── keyword_loc: (7,0)-(7,6) = "return" @@ -96,6 +96,7 @@ │ │ └── @ CallNode (location: (7,7)-(7,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y │ │ ├── message_loc: (7,7)-(7,8) = "y" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -117,8 +118,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :y + │ │ └── flags: ∅ │ └── flags: ∅ ├── @ ReturnNode (location: (9,0)-(9,13)) │ ├── keyword_loc: (9,0)-(9,6) = "return" @@ -128,6 +128,7 @@ │ │ └── @ CallNode (location: (9,7)-(9,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y │ │ ├── message_loc: (9,7)-(9,8) = "y" │ │ ├── opening_loc: (9,8)-(9,9) = "(" │ │ ├── arguments: @@ -149,8 +150,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (9,12)-(9,13) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :y + │ │ └── flags: ∅ │ └── flags: ∅ └── @ ReturnNode (location: (11,0)-(11,14)) ├── keyword_loc: (11,0)-(11,6) = "return" @@ -160,6 +160,7 @@ │ └── @ CallNode (location: (11,7)-(11,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :y │ ├── message_loc: (11,7)-(11,8) = "y" │ ├── opening_loc: (11,8)-(11,9) = "(" │ ├── arguments: @@ -172,13 +173,13 @@ │ │ │ │ @ CallNode (location: (11,9)-(11,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :z │ │ │ │ ├── message_loc: (11,9)-(11,10) = "z" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :z + │ │ │ │ └── flags: variable_call │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (11,12)-(11,13)) │ │ │ │ └── flags: decimal @@ -186,6 +187,5 @@ │ │ └── flags: ∅ │ ├── closing_loc: (11,13)-(11,14) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :y + │ └── flags: ∅ └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/ruby21_numbers.txt b/test/prism/snapshots/seattlerb/ruby21_numbers.txt index d855195ca6791b..3d1d1f0dd2d5f4 100644 --- a/test/prism/snapshots/seattlerb/ruby21_numbers.txt +++ b/test/prism/snapshots/seattlerb/ruby21_numbers.txt @@ -20,4 +20,5 @@ │ @ IntegerNode (location: (1,9)-(1,10)) │ └── flags: decimal ├── opening_loc: (1,0)-(1,1) = "[" - └── closing_loc: (1,12)-(1,13) = "]" + ├── closing_loc: (1,12)-(1,13) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn.txt b/test/prism/snapshots/seattlerb/safe_attrasgn.txt index a6d7198f70cba2..d7d36c5d7fa847 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :b= ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b= + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt index 9647886fcebabd..c299e959298d49 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :B= ├── message_loc: (1,3)-(1,4) = "B" ├── opening_loc: ∅ ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :B= + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call.txt b/test/prism/snapshots/seattlerb/safe_call.txt index 87886b1ac993e0..108c6ca820bd06 100644 --- a/test/prism/snapshots/seattlerb/safe_call.txt +++ b/test/prism/snapshots/seattlerb/safe_call.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt index 1eb59ceb9dbcf2..cee2dacb266d0e 100644 --- a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (2,0)-(2,2) = "&." + ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt index c9db506be2683c..1c8eade0990509 100644 --- a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :call ├── message_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "(" ├── arguments: ∅ ├── closing_loc: (1,4)-(1,5) = ")" ├── block: ∅ - ├── flags: safe_navigation - └── name: :call + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call_newline.txt b/test/prism/snapshots/seattlerb/safe_call_newline.txt index 87886b1ac993e0..108c6ca820bd06 100644 --- a/test/prism/snapshots/seattlerb/safe_call_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_newline.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call_operator.txt b/test/prism/snapshots/seattlerb/safe_call_operator.txt index 182a8dde49765d..ed8a790add776e 100644 --- a/test/prism/snapshots/seattlerb/safe_call_operator.txt +++ b/test/prism/snapshots/seattlerb/safe_call_operator.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :> ├── message_loc: (1,3)-(1,4) = ">" ├── opening_loc: ∅ ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :> + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt index d02732caedf691..41c17c6ef3d075 100644 --- a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt @@ -13,19 +13,19 @@ │ │ @ CallNode (location: (1,4)-(1,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,4)-(1,5) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,5)-(1,7) = "&." + │ ├── name: :b │ ├── message_loc: (1,7)-(1,8) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :b + │ └── flags: safe_navigation └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/safe_calls.txt b/test/prism/snapshots/seattlerb/safe_calls.txt index cccfea89fb35c9..66d155db8468b4 100644 --- a/test/prism/snapshots/seattlerb/safe_calls.txt +++ b/test/prism/snapshots/seattlerb/safe_calls.txt @@ -10,22 +10,23 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,0)-(1,1) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :a + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,3) = "&." + │ ├── name: :b │ ├── message_loc: (1,3)-(1,4) = "b" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: safe_navigation - │ └── name: :b + │ └── flags: safe_navigation ├── call_operator_loc: (1,4)-(1,6) = "&." + ├── name: :c ├── message_loc: (1,6)-(1,7) = "c" ├── opening_loc: (1,7)-(1,8) = "(" ├── arguments: @@ -36,5 +37,4 @@ │ └── flags: ∅ ├── closing_loc: (1,9)-(1,10) = ")" ├── block: ∅ - ├── flags: safe_navigation - └── name: :c + └── flags: safe_navigation diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn.txt b/test/prism/snapshots/seattlerb/safe_op_asgn.txt index 2cf1f52da80856..46cc542dfc2606 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" ├── flags: safe_navigation @@ -26,6 +26,7 @@ @ CallNode (location: (1,8)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,8)-(1,9) = "x" ├── opening_loc: ∅ ├── arguments: @@ -36,5 +37,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt index f3eb37eb8884bd..238153f9fbd159 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" ├── flags: safe_navigation @@ -25,10 +25,10 @@ @ CallNode (location: (2,0)-(2,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (2,0)-(2,1) = "x" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :x + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt index 63c287c1461aab..a8486b25c09b06 100644 --- a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt +++ b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(4,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :puts │ ├── message_loc: (1,0)-(1,4) = "puts" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,21 +21,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :puts + │ └── flags: ∅ └── @ CallNode (location: (6,0)-(6,5)) ├── receiver: │ @ CallNode (location: (6,0)-(6,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (6,0)-(6,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :+ ├── message_loc: (6,2)-(6,3) = "+" ├── opening_loc: ∅ ├── arguments: @@ -43,15 +44,14 @@ │ │ └── @ CallNode (location: (6,4)-(6,5)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (6,4)-(6,5) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :+ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt index 2f671c38e386b9..19ea912814541f 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(4,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,0)-(1,1) = "x" ├── opening_loc: ∅ ├── arguments: @@ -30,14 +31,15 @@ │ │ │ @ CallNode (location: (2,0)-(2,1)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (2,0)-(2,1) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: (2,1)-(2,2) = "." + │ │ ├── name: :b │ │ ├── message_loc: (2,2)-(2,3) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -49,10 +51,8 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (2,4)-(2,6) = "do" │ │ │ └── closing_loc: (3,0)-(3,3) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :b + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt index 8c70f793add6ee..84f7aaebf943df 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(4,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,0)-(1,1) = "x" ├── opening_loc: ∅ ├── arguments: @@ -28,6 +29,7 @@ │ │ └── @ CallNode (location: (2,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (2,0)-(2,1) = "a" │ │ ├── opening_loc: (2,1)-(2,2) = "(" │ │ ├── arguments: @@ -44,10 +46,8 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (2,5)-(2,7) = "do" │ │ │ └── closing_loc: (3,0)-(3,3) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :a + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_backslashes.txt b/test/prism/snapshots/seattlerb/str_backslashes.txt index dd7f14c1c745ff..6cfb89875c7586 100644 --- a/test/prism/snapshots/seattlerb/str_backslashes.txt +++ b/test/prism/snapshots/seattlerb/str_backslashes.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,204)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :x ├── message_loc: (1,0)-(1,1) = "x" ├── opening_loc: ∅ ├── arguments: @@ -20,5 +21,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :x + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt index 6b0cf4ec2d5047..3e7ae51f778801 100644 --- a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (1,8)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,8)-(1,9) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt index 6ccf0c6fee9d5b..10563703a10a8a 100644 --- a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,6)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (1,7)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,7)-(1,8) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/str_double_newline.txt b/test/prism/snapshots/seattlerb/str_double_newline.txt index 0b5d6556104638..3c35f628020afe 100644 --- a/test/prism/snapshots/seattlerb/str_double_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (2,2)-(2,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/str_evstr.txt b/test/prism/snapshots/seattlerb/str_evstr.txt index 3baac64f916407..7dd048397e696a 100644 --- a/test/prism/snapshots/seattlerb/str_evstr.txt +++ b/test/prism/snapshots/seattlerb/str_evstr.txt @@ -20,12 +20,12 @@ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,5)-(1,6) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── closing_loc: (1,6)-(1,7) = "}" └── closing_loc: (1,7)-(1,8) = "\"" diff --git a/test/prism/snapshots/seattlerb/str_evstr_escape.txt b/test/prism/snapshots/seattlerb/str_evstr_escape.txt index b603038b86ed7c..49891a9e96fc57 100644 --- a/test/prism/snapshots/seattlerb/str_evstr_escape.txt +++ b/test/prism/snapshots/seattlerb/str_evstr_escape.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,5)-(1,6) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,6)-(1,7) = "}" │ └── @ StringNode (location: (1,7)-(1,15)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt index 164926cdf9aba6..03852bfcdd64cd 100644 --- a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt +++ b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt @@ -14,13 +14,13 @@ │ │ │ └── @ CallNode (location: (2,2)-(2,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :x │ │ │ ├── message_loc: (2,2)-(2,3) = "x" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :x + │ │ │ └── flags: variable_call │ │ └── closing_loc: (2,3)-(2,4) = "}" │ └── @ StringNode (location: (2,4)-(4,0)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt index 31fd9fca0c6c9a..5f6d628846723e 100644 --- a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt +++ b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt @@ -19,21 +19,21 @@ │ │ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (1,3)-(1,4) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "." + │ │ │ ├── name: :b? │ │ │ ├── message_loc: (1,5)-(1,7) = "b?" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :b? + │ │ │ └── flags: ∅ │ │ ├── then_keyword_loc: (1,8)-(1,9) = "?" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,10)-(1,17)) @@ -49,6 +49,7 @@ │ │ │ │ │ ├── closing_loc: (1,11)-(1,12) = "\"" │ │ │ │ │ └── unescaped: "" │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :+ │ │ │ │ ├── message_loc: (1,12)-(1,13) = "+" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: @@ -57,19 +58,19 @@ │ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,14)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ ├── message_loc: (1,13)-(1,14) = "a" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ └── name: :a + │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :+ + │ │ │ │ └── flags: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (1,14)-(1,15) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -84,8 +85,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── consequent: │ │ │ @ ElseNode (location: (1,17)-(1,21)) │ │ │ ├── else_keyword_loc: (1,17)-(1,18) = ":" diff --git a/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt b/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt index 7bf71b7858b9e8..f1226f34e2c84d 100644 --- a/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt +++ b/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt @@ -3,18 +3,19 @@ └── statements: @ StatementsNode (location: (1,0)-(2,66)) └── body: (length: 1) - └── @ StringConcatNode (location: (1,0)-(2,66)) - ├── left: - │ @ StringNode (location: (1,0)-(1,62)) - │ ├── flags: ∅ - │ ├── opening_loc: (1,0)-(1,1) = "\"" - │ ├── content_loc: (1,1)-(1,61) = "\\xE3\\xD3\\x8B\\xE3\\x83\\xBC\\x83\\xE3\\x83\\xE3\\x82\\xB3\\xA3\\x82\\x99" - │ ├── closing_loc: (1,61)-(1,62) = "\"" - │ └── unescaped: "\xE3Ӌー\x83\xE3\x83コ\xA3\x82\x99" - └── right: - @ StringNode (location: (2,8)-(2,66)) - ├── flags: ∅ - ├── opening_loc: (2,8)-(2,9) = "\"" - ├── content_loc: (2,9)-(2,65) = "\\xE3\\x83\\xB3\\xE3\\x83\\x8F\\xE3\\x82\\x9A\\xC3\\xBD;foo@bar.com" - ├── closing_loc: (2,65)-(2,66) = "\"" - └── unescaped: "ンパý;foo@bar.com" + └── @ InterpolatedStringNode (location: (1,0)-(2,66)) + ├── opening_loc: ∅ + ├── parts: (length: 2) + │ ├── @ StringNode (location: (1,0)-(1,62)) + │ │ ├── flags: ∅ + │ │ ├── opening_loc: (1,0)-(1,1) = "\"" + │ │ ├── content_loc: (1,1)-(1,61) = "\\xE3\\xD3\\x8B\\xE3\\x83\\xBC\\x83\\xE3\\x83\\xE3\\x82\\xB3\\xA3\\x82\\x99" + │ │ ├── closing_loc: (1,61)-(1,62) = "\"" + │ │ └── unescaped: "\xE3Ӌー\x83\xE3\x83コ\xA3\x82\x99" + │ └── @ StringNode (location: (2,8)-(2,66)) + │ ├── flags: ∅ + │ ├── opening_loc: (2,8)-(2,9) = "\"" + │ ├── content_loc: (2,9)-(2,65) = "\\xE3\\x83\\xB3\\xE3\\x83\\x8F\\xE3\\x82\\x9A\\xC3\\xBD;foo@bar.com" + │ ├── closing_loc: (2,65)-(2,66) = "\"" + │ └── unescaped: "ンパý;foo@bar.com" + └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt index 1bbf4311debd8c..9aec3ab5035049 100644 --- a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt +++ b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,13)-(1,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :nest │ │ │ ├── message_loc: (1,13)-(1,17) = "nest" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :nest + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,17)-(1,18) = "}" │ └── @ StringNode (location: (1,18)-(1,25)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt index 20c228db4a2f60..a100d78b57d3ca 100644 --- a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (1,8)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,8)-(1,9) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt index e7388d0ec551b5..5e971dea47bfaa 100644 --- a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,6)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (1,7)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (1,7)-(1,8) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/str_single_newline.txt b/test/prism/snapshots/seattlerb/str_single_newline.txt index a4725a50aa93f5..32e95c6542d610 100644 --- a/test/prism/snapshots/seattlerb/str_single_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_newline.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(2,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,15 +21,14 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (2,2)-(2,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :b ├── message_loc: (2,2)-(2,3) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :b + └── flags: variable_call diff --git a/test/prism/snapshots/seattlerb/symbol_list.txt b/test/prism/snapshots/seattlerb/symbol_list.txt index 714b115368ded7..bdb901daaf0ba2 100644 --- a/test/prism/snapshots/seattlerb/symbol_list.txt +++ b/test/prism/snapshots/seattlerb/symbol_list.txt @@ -16,13 +16,13 @@ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (1,5)-(1,6) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ └── closing_loc: ∅ │ └── @ InterpolatedSymbolNode (location: (1,8)-(1,12)) @@ -36,14 +36,15 @@ │ │ │ └── @ CallNode (location: (1,10)-(1,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (1,10)-(1,11) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :b + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,11)-(1,12) = "}" │ └── closing_loc: ∅ ├── opening_loc: (1,0)-(1,3) = "%I[" - └── closing_loc: (1,12)-(1,13) = "]" + ├── closing_loc: (1,12)-(1,13) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/symbols.txt b/test/prism/snapshots/seattlerb/symbols.txt index 1d4eae94aa6705..2eb9da1be9f182 100644 --- a/test/prism/snapshots/seattlerb/symbols.txt +++ b/test/prism/snapshots/seattlerb/symbols.txt @@ -21,4 +21,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%i(" - └── closing_loc: (1,8)-(1,9) = ")" + ├── closing_loc: (1,8)-(1,9) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/symbols_empty.txt b/test/prism/snapshots/seattlerb/symbols_empty.txt index 74800d6bc6f92d..93db50109fea3d 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,4)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" - └── closing_loc: (1,3)-(1,4) = ")" + ├── closing_loc: (1,3)-(1,4) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/symbols_empty_space.txt b/test/prism/snapshots/seattlerb/symbols_empty_space.txt index bff515a6dca26e..a74d76649dfc11 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty_space.txt @@ -6,4 +6,5 @@ └── @ ArrayNode (location: (1,0)-(1,5)) ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" - └── closing_loc: (1,4)-(1,5) = ")" + ├── closing_loc: (1,4)-(1,5) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/symbols_interp.txt b/test/prism/snapshots/seattlerb/symbols_interp.txt index 6d7f614211838b..c7a0b41c3b392f 100644 --- a/test/prism/snapshots/seattlerb/symbols_interp.txt +++ b/test/prism/snapshots/seattlerb/symbols_interp.txt @@ -21,4 +21,5 @@ │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── opening_loc: (1,0)-(1,3) = "%i(" - └── closing_loc: (1,14)-(1,15) = ")" + ├── closing_loc: (1,14)-(1,15) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/thingy.txt b/test/prism/snapshots/seattlerb/thingy.txt index ba6d5fe235d85a..244d858e2e6f03 100644 --- a/test/prism/snapshots/seattlerb/thingy.txt +++ b/test/prism/snapshots/seattlerb/thingy.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :f │ │ ├── message_loc: (1,0)-(1,1) = "f" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :f + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,1)-(1,2) = "." + │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (1,2)-(1,3) = "(" │ ├── arguments: @@ -26,21 +27,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,5)-(1,6) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :call + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,7)) ├── receiver: │ @ CallNode (location: (3,0)-(3,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :f │ ├── message_loc: (3,0)-(3,1) = "f" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :f + │ └── flags: variable_call ├── call_operator_loc: (3,1)-(3,3) = "::" + ├── name: :call ├── message_loc: ∅ ├── opening_loc: (3,3)-(3,4) = "(" ├── arguments: @@ -51,5 +52,4 @@ │ └── flags: ∅ ├── closing_loc: (3,6)-(3,7) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :call + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_minus.txt b/test/prism/snapshots/seattlerb/unary_minus.txt index 4ed30f62a9303c..d68788f89b6cba 100644 --- a/test/prism/snapshots/seattlerb/unary_minus.txt +++ b/test/prism/snapshots/seattlerb/unary_minus.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,1)-(1,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,1)-(1,2) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :-@ ├── message_loc: (1,0)-(1,1) = "-" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :-@ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_plus.txt b/test/prism/snapshots/seattlerb/unary_plus.txt index e6fd52c7fc025e..9061198242c2d9 100644 --- a/test/prism/snapshots/seattlerb/unary_plus.txt +++ b/test/prism/snapshots/seattlerb/unary_plus.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,1)-(1,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,1)-(1,2) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :+@ ├── message_loc: (1,0)-(1,1) = "+" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :+@ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt index 37d183ae65c99b..f9100591534f64 100644 --- a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt +++ b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt @@ -11,10 +11,10 @@ │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── call_operator_loc: ∅ + ├── name: :+@ ├── message_loc: (1,0)-(1,1) = "+" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :+@ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_tilde.txt b/test/prism/snapshots/seattlerb/unary_tilde.txt index 156e93ccfa223b..5ba20eb961185e 100644 --- a/test/prism/snapshots/seattlerb/unary_tilde.txt +++ b/test/prism/snapshots/seattlerb/unary_tilde.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,1)-(1,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,1)-(1,2) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :~ ├── message_loc: (1,0)-(1,1) = "~" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :~ + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/utf8_bom.txt b/test/prism/snapshots/seattlerb/utf8_bom.txt index a7abc9e9410fa0..af5ce88bdbdd0e 100644 --- a/test/prism/snapshots/seattlerb/utf8_bom.txt +++ b/test/prism/snapshots/seattlerb/utf8_bom.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (2,0)-(2,3)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (2,0)-(2,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -16,5 +17,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/when_splat.txt b/test/prism/snapshots/seattlerb/when_splat.txt index f383c8b0d0101e..f47f5017386251 100644 --- a/test/prism/snapshots/seattlerb/when_splat.txt +++ b/test/prism/snapshots/seattlerb/when_splat.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,5)-(1,6)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,5)-(1,6) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,8)-(1,15)) │ ├── keyword_loc: (1,8)-(1,12) = "when" @@ -25,13 +25,13 @@ │ │ @ CallNode (location: (1,14)-(1,15)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :b │ │ ├── message_loc: (1,14)-(1,15) = "b" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :b + │ │ └── flags: variable_call │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/seattlerb/words_interp.txt b/test/prism/snapshots/seattlerb/words_interp.txt index eddc835f0203be..c47cc6b5f75d7e 100644 --- a/test/prism/snapshots/seattlerb/words_interp.txt +++ b/test/prism/snapshots/seattlerb/words_interp.txt @@ -24,4 +24,5 @@ │ │ └── unescaped: "b" │ └── closing_loc: ∅ ├── opening_loc: (1,0)-(1,3) = "%W(" - └── closing_loc: (1,8)-(1,9) = ")" + ├── closing_loc: (1,8)-(1,9) = ")" + └── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/yield_call_assocs.txt b/test/prism/snapshots/seattlerb/yield_call_assocs.txt index c8c67d4933c425..5424c5558ecd71 100644 --- a/test/prism/snapshots/seattlerb/yield_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/yield_call_assocs.txt @@ -69,6 +69,7 @@ │ │ │ └── @ CallNode (location: (5,6)-(5,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :y │ │ │ ├── message_loc: (5,6)-(5,7) = "y" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -90,8 +91,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :y + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (7,0)-(7,11)) @@ -103,6 +103,7 @@ │ │ │ └── @ CallNode (location: (7,6)-(7,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :y │ │ │ ├── message_loc: (7,6)-(7,7) = "y" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -124,8 +125,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :y + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (9,0)-(9,12)) @@ -137,6 +137,7 @@ │ │ │ └── @ CallNode (location: (9,6)-(9,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :y │ │ │ ├── message_loc: (9,6)-(9,7) = "y" │ │ │ ├── opening_loc: (9,7)-(9,8) = "(" │ │ │ ├── arguments: @@ -158,8 +159,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (9,11)-(9,12) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :y + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ └── rparen_loc: ∅ └── @ YieldNode (location: (11,0)-(11,13)) @@ -171,6 +171,7 @@ │ │ └── @ CallNode (location: (11,6)-(11,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :y │ │ ├── message_loc: (11,6)-(11,7) = "y" │ │ ├── opening_loc: (11,7)-(11,8) = "(" │ │ ├── arguments: @@ -183,13 +184,13 @@ │ │ │ │ │ @ CallNode (location: (11,8)-(11,9)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :z │ │ │ │ │ ├── message_loc: (11,8)-(11,9) = "z" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :z + │ │ │ │ │ └── flags: variable_call │ │ │ │ ├── value: │ │ │ │ │ @ IntegerNode (location: (11,11)-(11,12)) │ │ │ │ │ └── flags: decimal @@ -197,7 +198,6 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (11,12)-(11,13) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :y + │ │ └── flags: ∅ │ └── flags: ∅ └── rparen_loc: ∅ diff --git a/test/prism/snapshots/spanning_heredoc.txt b/test/prism/snapshots/spanning_heredoc.txt index ed9c03e608bb3e..c28def31ad6ac6 100644 --- a/test/prism/snapshots/spanning_heredoc.txt +++ b/test/prism/snapshots/spanning_heredoc.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (4,0)-(7,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (4,0)-(4,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -20,6 +21,7 @@ │ │ │ │ ├── closing_loc: (6,0)-(7,0) = "A\n" │ │ │ │ └── unescaped: "a\n" │ │ │ ├── call_operator_loc: (4,7)-(4,8) = "." + │ │ │ ├── name: :gsub │ │ │ ├── message_loc: (4,8)-(4,12) = "gsub" │ │ │ ├── opening_loc: (4,12)-(4,13) = "(" │ │ │ ├── arguments: @@ -51,16 +53,15 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (7,6)-(7,7) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :gsub + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (10,0)-(13,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (10,0)-(10,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -91,11 +92,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (16,0)-(19,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (16,0)-(16,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -126,11 +127,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (22,0)-(25,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (22,0)-(22,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -161,11 +162,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (28,0)-(31,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (28,0)-(28,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -192,15 +193,16 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "j" │ │ │ ├── opening_loc: (28,9)-(28,12) = "%w[" - │ │ │ └── closing_loc: (31,1)-(31,2) = "]" + │ │ │ ├── closing_loc: (31,1)-(31,2) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(38,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (35,0)-(35,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -231,15 +233,16 @@ │ │ │ │ │ └── unescaped: "l" │ │ │ │ └── closing_loc: ∅ │ │ │ ├── opening_loc: (35,9)-(35,12) = "%W[" - │ │ │ └── closing_loc: (38,1)-(38,2) = "]" + │ │ │ ├── closing_loc: (38,1)-(38,2) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (41,0)-(44,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (41,0)-(41,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -264,15 +267,16 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "n" │ │ │ ├── opening_loc: (41,9)-(41,12) = "%i[" - │ │ │ └── closing_loc: (44,1)-(44,2) = "]" + │ │ │ ├── closing_loc: (44,1)-(44,2) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ CallNode (location: (48,0)-(51,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :pp │ ├── message_loc: (48,0)-(48,2) = "pp" │ ├── opening_loc: ∅ │ ├── arguments: @@ -302,12 +306,12 @@ │ │ │ │ │ └── unescaped: "p" │ │ │ │ └── closing_loc: ∅ │ │ │ ├── opening_loc: (48,9)-(48,12) = "%I[" - │ │ │ └── closing_loc: (51,1)-(51,2) = "]" + │ │ │ ├── closing_loc: (51,1)-(51,2) = "]" + │ │ │ └── flags: ∅ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :pp + │ └── flags: ∅ ├── @ StringNode (location: (53,0)-(53,3)) │ ├── flags: ∅ │ ├── opening_loc: (53,0)-(53,3) = "<bar)" │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :=~ │ │ ├── message_loc: (1,16)-(1,18) = "=~" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -28,8 +29,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :=~ + │ │ └── flags: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,4)-(1,9)) │ ├── name: :match diff --git a/test/prism/snapshots/whitequark/masgn.txt b/test/prism/snapshots/whitequark/masgn.txt index 621204b1867aa1..ef33a7bddaa270 100644 --- a/test/prism/snapshots/whitequark/masgn.txt +++ b/test/prism/snapshots/whitequark/masgn.txt @@ -24,7 +24,8 @@ │ │ └── @ IntegerNode (location: (1,16)-(1,17)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: ∅ ├── @ MultiWriteNode (location: (3,0)-(3,15)) │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,3)) @@ -46,7 +47,8 @@ │ │ └── @ IntegerNode (location: (3,14)-(3,15)) │ │ └── flags: decimal │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: ∅ └── @ MultiWriteNode (location: (5,0)-(5,20)) ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (5,0)-(5,3)) @@ -71,4 +73,5 @@ │ └── @ IntegerNode (location: (5,19)-(5,20)) │ └── flags: decimal ├── opening_loc: ∅ - └── closing_loc: ∅ + ├── closing_loc: ∅ + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_attr.txt b/test/prism/snapshots/whitequark/masgn_attr.txt index b74843a60c061b..301c894e994673 100644 --- a/test/prism/snapshots/whitequark/masgn_attr.txt +++ b/test/prism/snapshots/whitequark/masgn_attr.txt @@ -9,13 +9,13 @@ │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (1,0)-(1,4)) │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "." + │ │ │ ├── name: :A= │ │ │ ├── message_loc: (1,5)-(1,6) = "A" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :A= + │ │ │ └── flags: ∅ │ │ └── @ LocalVariableTargetNode (location: (1,8)-(1,11)) │ │ ├── name: :foo │ │ └── depth: 0 @@ -34,17 +34,18 @@ │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (3,0)-(3,4)) │ │ │ ├── call_operator_loc: (3,4)-(3,5) = "." + │ │ │ ├── name: :a= │ │ │ ├── message_loc: (3,5)-(3,6) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :a= + │ │ │ └── flags: ∅ │ │ └── @ CallNode (location: (3,8)-(3,18)) │ │ ├── receiver: │ │ │ @ SelfNode (location: (3,8)-(3,12)) │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :[]= │ │ ├── message_loc: (3,12)-(3,18) = "[1, 2]" │ │ ├── opening_loc: (3,12)-(3,13) = "[" │ │ ├── arguments: @@ -57,8 +58,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: (3,17)-(3,18) = "]" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :[]= + │ │ └── flags: ∅ │ ├── rest: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ @@ -74,13 +74,13 @@ │ │ ├── receiver: │ │ │ @ SelfNode (location: (5,0)-(5,4)) │ │ ├── call_operator_loc: (5,4)-(5,6) = "::" + │ │ ├── name: :a= │ │ ├── message_loc: (5,6)-(5,7) = "a" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :a= + │ │ └── flags: ∅ │ └── @ LocalVariableTargetNode (location: (5,9)-(5,12)) │ ├── name: :foo │ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/masgn_cmd.txt b/test/prism/snapshots/whitequark/masgn_cmd.txt index 003dd47c136c83..4300096f4dfcde 100644 --- a/test/prism/snapshots/whitequark/masgn_cmd.txt +++ b/test/prism/snapshots/whitequark/masgn_cmd.txt @@ -20,6 +20,7 @@ @ CallNode (location: (1,11)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (1,11)-(1,12) = "m" ├── opening_loc: ∅ ├── arguments: @@ -31,5 +32,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_nested.txt b/test/prism/snapshots/whitequark/masgn_nested.txt index 4ee7ea3e00c5af..e716762a98653e 100644 --- a/test/prism/snapshots/whitequark/masgn_nested.txt +++ b/test/prism/snapshots/whitequark/masgn_nested.txt @@ -26,13 +26,13 @@ │ @ CallNode (location: (1,10)-(1,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,10)-(1,13) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call └── @ MultiWriteNode (location: (3,0)-(3,15)) ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,1)) @@ -59,10 +59,10 @@ @ CallNode (location: (3,12)-(3,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :foo ├── message_loc: (3,12)-(3,15) = "foo" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :foo + └── flags: variable_call diff --git a/test/prism/snapshots/whitequark/masgn_splat.txt b/test/prism/snapshots/whitequark/masgn_splat.txt index 79518960212ebb..5660ebbc0670f1 100644 --- a/test/prism/snapshots/whitequark/masgn_splat.txt +++ b/test/prism/snapshots/whitequark/masgn_splat.txt @@ -17,13 +17,13 @@ │ @ CallNode (location: (1,4)-(1,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,4)-(1,7) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (3,0)-(3,13)) │ ├── lefts: (length: 0) │ ├── rest: @@ -44,13 +44,13 @@ │ @ CallNode (location: (3,10)-(3,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (3,10)-(3,13) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (5,0)-(5,8)) │ ├── lefts: (length: 0) │ ├── rest: @@ -68,13 +68,13 @@ │ @ CallNode (location: (5,5)-(5,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (5,5)-(5,8) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (7,0)-(7,11)) │ ├── lefts: (length: 0) │ ├── rest: @@ -95,13 +95,13 @@ │ @ CallNode (location: (7,8)-(7,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (7,8)-(7,11) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (9,0)-(9,18)) │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (9,0)-(9,4)) @@ -122,15 +122,16 @@ │ │ @ CallNode (location: (9,15)-(9,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (9,15)-(9,18) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── opening_loc: ∅ - │ └── closing_loc: ∅ + │ ├── closing_loc: ∅ + │ └── flags: contains_splat ├── @ MultiWriteNode (location: (11,0)-(11,10)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (11,0)-(11,1)) @@ -148,13 +149,13 @@ │ @ CallNode (location: (11,7)-(11,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (11,7)-(11,10) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (13,0)-(13,13)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (13,0)-(13,1)) @@ -175,13 +176,13 @@ │ @ CallNode (location: (13,10)-(13,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (13,10)-(13,13) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (15,0)-(15,11)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (15,0)-(15,1)) @@ -202,13 +203,13 @@ │ @ CallNode (location: (15,8)-(15,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (15,8)-(15,11) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── @ MultiWriteNode (location: (17,0)-(17,14)) │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (17,0)-(17,1)) @@ -232,13 +233,13 @@ │ @ CallNode (location: (17,11)-(17,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (17,11)-(17,14) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call └── @ MultiWriteNode (location: (19,0)-(19,16)) ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (19,0)-(19,1)) @@ -261,22 +262,23 @@ │ │ @ CallNode (location: (19,8)-(19,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (19,8)-(19,11) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── @ CallNode (location: (19,13)-(19,16)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (19,13)-(19,16) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── opening_loc: ∅ - └── closing_loc: ∅ + ├── closing_loc: ∅ + └── flags: contains_splat diff --git a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt index 523b92e7ab08c9..cbb114dd698cb4 100644 --- a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt +++ b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt @@ -23,6 +23,7 @@ │ │ │ │ @ CallNode (location: (1,18)-(1,28)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :tap │ │ │ │ ├── message_loc: (1,18)-(1,21) = "tap" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -34,8 +35,7 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (1,22)-(1,24) = "do" │ │ │ │ │ └── closing_loc: (1,25)-(1,28) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :tap + │ │ │ │ └── flags: ∅ │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -71,6 +71,7 @@ │ │ │ └── @ CallNode (location: (3,15)-(3,25)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :tap │ │ │ ├── message_loc: (3,15)-(3,18) = "tap" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -82,8 +83,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (3,19)-(3,21) = "do" │ │ │ │ └── closing_loc: (3,22)-(3,25) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :tap + │ │ │ └── flags: ∅ │ │ ├── locals: [] │ │ ├── def_keyword_loc: (3,6)-(3,9) = "def" │ │ ├── operator_loc: ∅ @@ -119,6 +119,7 @@ │ │ │ │ @ CallNode (location: (5,23)-(5,33)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :tap │ │ │ │ ├── message_loc: (5,23)-(5,26) = "tap" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -130,8 +131,7 @@ │ │ │ │ │ ├── body: ∅ │ │ │ │ │ ├── opening_loc: (5,27)-(5,29) = "do" │ │ │ │ │ └── closing_loc: (5,30)-(5,33) = "end" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :tap + │ │ │ │ └── flags: ∅ │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) @@ -168,6 +168,7 @@ │ │ └── @ CallNode (location: (7,20)-(7,30)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :tap │ │ ├── message_loc: (7,20)-(7,23) = "tap" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -179,8 +180,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (7,24)-(7,26) = "do" │ │ │ └── closing_loc: (7,27)-(7,30) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :tap + │ │ └── flags: ∅ │ ├── locals: [] │ ├── def_keyword_loc: (7,6)-(7,9) = "def" │ ├── operator_loc: (7,14)-(7,15) = "." diff --git a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt index 43791501f3e4ad..6bfce489dc26c6 100644 --- a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt +++ b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt @@ -8,13 +8,13 @@ │ │ @ CallNode (location: (1,5)-(1,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,5)-(1,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── conditions: (length: 2) │ │ ├── @ InNode (location: (2,0)-(4,4)) │ │ │ ├── pattern: @@ -74,14 +74,15 @@ │ │ @ CallNode (location: (10,0)-(10,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :obj │ │ ├── message_loc: (10,0)-(10,3) = "obj" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :obj + │ │ └── flags: variable_call │ ├── call_operator_loc: (10,3)-(10,4) = "." + │ ├── name: :set │ ├── message_loc: (10,4)-(10,7) = "set" │ ├── opening_loc: ∅ │ ├── arguments: @@ -103,21 +104,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :set + │ └── flags: ∅ └── @ CallNode (location: (13,0)-(14,1)) ├── receiver: │ @ CallNode (location: (13,0)-(13,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :obj │ ├── message_loc: (13,0)-(13,3) = "obj" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :obj + │ └── flags: variable_call ├── call_operator_loc: (13,3)-(13,4) = "." + ├── name: :set ├── message_loc: (13,4)-(13,7) = "set" ├── opening_loc: ∅ ├── arguments: @@ -139,5 +140,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :set + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/next.txt b/test/prism/snapshots/whitequark/next.txt index 2e8422085e8b19..3164e58599085b 100644 --- a/test/prism/snapshots/whitequark/next.txt +++ b/test/prism/snapshots/whitequark/next.txt @@ -13,13 +13,13 @@ │ │ │ └── @ CallNode (location: (3,5)-(3,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,5)-(3,8) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ └── keyword_loc: (3,0)-(3,4) = "next" ├── @ NextNode (location: (5,0)-(5,6)) @@ -43,13 +43,13 @@ │ │ │ └── @ CallNode (location: (7,5)-(7,8)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (7,5)-(7,8) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── opening_loc: (7,4)-(7,5) = "(" │ │ └── closing_loc: (7,8)-(7,9) = ")" │ └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/next_block.txt b/test/prism/snapshots/whitequark/next_block.txt index 1e7a8c6f0ee978..b49d3dc4a2a514 100644 --- a/test/prism/snapshots/whitequark/next_block.txt +++ b/test/prism/snapshots/whitequark/next_block.txt @@ -10,6 +10,7 @@ │ │ └── @ CallNode (location: (1,5)-(1,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :fun │ │ ├── message_loc: (1,5)-(1,8) = "fun" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -18,13 +19,13 @@ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (1,9)-(1,12) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: @@ -34,7 +35,6 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,13)-(1,15) = "do" │ │ │ └── closing_loc: (1,16)-(1,19) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :fun + │ │ └── flags: ∅ │ └── flags: ∅ └── keyword_loc: (1,0)-(1,4) = "next" diff --git a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt index 1c0ff8774eac47..d58da0f420f541 100644 --- a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt +++ b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt @@ -25,6 +25,7 @@ │ ├── closing_loc: (1,18)-(1,19) = "/" │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :=~ ├── message_loc: (1,20)-(1,22) = "=~" ├── opening_loc: ∅ ├── arguments: @@ -39,5 +40,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :=~ + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/not.txt b/test/prism/snapshots/whitequark/not.txt index 16bff8501699ed..44812ba1403a49 100644 --- a/test/prism/snapshots/whitequark/not.txt +++ b/test/prism/snapshots/whitequark/not.txt @@ -8,48 +8,48 @@ │ │ @ CallNode (location: (1,4)-(1,7)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,4)-(1,7) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (1,0)-(1,3) = "not" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,5)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :! │ ├── message_loc: (3,0)-(3,3) = "not" │ ├── opening_loc: (3,3)-(3,4) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,4)-(3,5) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :! + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,8)) ├── receiver: │ @ CallNode (location: (5,4)-(5,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (5,4)-(5,7) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (5,0)-(5,3) = "not" ├── opening_loc: (5,3)-(5,4) = "(" ├── arguments: ∅ ├── closing_loc: (5,7)-(5,8) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/not_cmd.txt b/test/prism/snapshots/whitequark/not_cmd.txt index 90f52fbe3e6c00..64240e9fa7be34 100644 --- a/test/prism/snapshots/whitequark/not_cmd.txt +++ b/test/prism/snapshots/whitequark/not_cmd.txt @@ -8,6 +8,7 @@ │ @ CallNode (location: (1,4)-(1,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (1,4)-(1,5) = "m" │ ├── opening_loc: ∅ │ ├── arguments: @@ -16,23 +17,22 @@ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,6)-(1,9) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,3) = "not" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/not_masgn__24.txt b/test/prism/snapshots/whitequark/not_masgn__24.txt index 59fea27a14c378..3e333a25f22b7c 100644 --- a/test/prism/snapshots/whitequark/not_masgn__24.txt +++ b/test/prism/snapshots/whitequark/not_masgn__24.txt @@ -26,20 +26,20 @@ │ │ @ CallNode (location: (1,9)-(1,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,9)-(1,12) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── opening_loc: (1,1)-(1,2) = "(" │ └── closing_loc: (1,12)-(1,13) = ")" ├── call_operator_loc: ∅ + ├── name: :! ├── message_loc: (1,0)-(1,1) = "!" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :! + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/numbered_args_after_27.txt b/test/prism/snapshots/whitequark/numbered_args_after_27.txt index cedf1fc9de8179..a19cedc5996cb2 100644 --- a/test/prism/snapshots/whitequark/numbered_args_after_27.txt +++ b/test/prism/snapshots/whitequark/numbered_args_after_27.txt @@ -18,6 +18,7 @@ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (1,9)-(1,10) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -29,8 +30,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ LambdaNode (location: (3,0)-(3,13)) │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] │ ├── operator_loc: (3,0)-(3,2) = "->" @@ -46,6 +46,7 @@ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (3,8)-(3,9) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -57,11 +58,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,16)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (5,0)-(5,1) = "m" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -79,6 +80,7 @@ │ │ │ │ ├── name: :_1 │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (5,8)-(5,9) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -90,15 +92,14 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (5,2)-(5,4) = "do" │ │ └── closing_loc: (5,13)-(5,16) = "end" - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ └── @ CallNode (location: (7,0)-(7,13)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (7,0)-(7,1) = "m" ├── opening_loc: ∅ ├── arguments: ∅ @@ -116,6 +117,7 @@ │ │ │ ├── name: :_1 │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (7,7)-(7,8) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -127,9 +129,7 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ ├── opening_loc: (7,2)-(7,3) = "{" │ └── closing_loc: (7,12)-(7,13) = "}" - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/numparam_outside_block.txt b/test/prism/snapshots/whitequark/numparam_outside_block.txt index d9e417f2a56bad..1e7f15942d0fce 100644 --- a/test/prism/snapshots/whitequark/numparam_outside_block.txt +++ b/test/prism/snapshots/whitequark/numparam_outside_block.txt @@ -6,13 +6,13 @@ ├── @ CallNode (location: (1,0)-(1,2)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :_1 │ ├── message_loc: (1,0)-(1,2) = "_1" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :_1 + │ └── flags: variable_call ├── @ SingletonClassNode (location: (3,0)-(3,21)) │ ├── locals: [] │ ├── class_keyword_loc: (3,0)-(3,5) = "class" @@ -21,26 +21,26 @@ │ │ @ CallNode (location: (3,9)-(3,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,9)-(3,12) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── body: │ │ @ StatementsNode (location: (3,14)-(3,16)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,14)-(3,16)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :_1 │ │ ├── message_loc: (3,14)-(3,16) = "_1" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :_1 + │ │ └── flags: variable_call │ └── end_keyword_loc: (3,18)-(3,21) = "end" ├── @ ClassNode (location: (5,0)-(5,16)) │ ├── locals: [] @@ -56,13 +56,13 @@ │ │ └── @ CallNode (location: (5,9)-(5,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :_1 │ │ ├── message_loc: (5,9)-(5,11) = "_1" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :_1 + │ │ └── flags: variable_call │ ├── end_keyword_loc: (5,13)-(5,16) = "end" │ └── name: :A ├── @ DefNode (location: (7,0)-(7,19)) @@ -77,13 +77,13 @@ │ │ └── @ CallNode (location: (7,12)-(7,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :_1 │ │ ├── message_loc: (7,12)-(7,14) = "_1" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :_1 + │ │ └── flags: variable_call │ ├── locals: [] │ ├── def_keyword_loc: (7,0)-(7,3) = "def" │ ├── operator_loc: (7,8)-(7,9) = "." @@ -103,12 +103,12 @@ │ └── @ CallNode (location: (9,10)-(9,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :_1 │ ├── message_loc: (9,10)-(9,12) = "_1" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :_1 + │ └── flags: variable_call ├── end_keyword_loc: (9,14)-(9,17) = "end" └── name: :A diff --git a/test/prism/snapshots/whitequark/op_asgn.txt b/test/prism/snapshots/whitequark/op_asgn.txt index bd49593a0bbeec..38906896cd9129 100644 --- a/test/prism/snapshots/whitequark/op_asgn.txt +++ b/test/prism/snapshots/whitequark/op_asgn.txt @@ -8,13 +8,13 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "A" │ ├── flags: ∅ @@ -30,13 +30,13 @@ │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,4) = "." │ ├── message_loc: (3,4)-(3,5) = "a" │ ├── flags: ∅ @@ -52,13 +52,13 @@ │ @ CallNode (location: (5,0)-(5,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (5,0)-(5,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (5,3)-(5,5) = "::" ├── message_loc: (5,5)-(5,6) = "a" ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/op_asgn_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_cmd.txt index a0b17a8338e074..90710078a239a3 100644 --- a/test/prism/snapshots/whitequark/op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_cmd.txt @@ -8,13 +8,13 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "A" │ ├── flags: ∅ @@ -26,6 +26,7 @@ │ @ CallNode (location: (1,9)-(1,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (1,9)-(1,10) = "m" │ ├── opening_loc: ∅ │ ├── arguments: @@ -34,30 +35,29 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,11)-(1,14) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ ├── @ CallOperatorWriteNode (location: (3,0)-(3,14)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,4) = "." │ ├── message_loc: (3,4)-(3,5) = "a" │ ├── flags: ∅ @@ -69,6 +69,7 @@ │ @ CallNode (location: (3,9)-(3,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (3,9)-(3,10) = "m" │ ├── opening_loc: ∅ │ ├── arguments: @@ -77,18 +78,17 @@ │ │ │ └── @ CallNode (location: (3,11)-(3,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,11)-(3,14) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,15)) │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) @@ -96,13 +96,13 @@ │ │ │ @ CallNode (location: (5,0)-(5,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (5,0)-(5,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,5)-(5,6)) │ │ │ └── name: :A @@ -112,6 +112,7 @@ │ │ @ CallNode (location: (5,10)-(5,15)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :m │ │ ├── message_loc: (5,10)-(5,11) = "m" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -120,31 +121,30 @@ │ │ │ │ └── @ CallNode (location: (5,12)-(5,15)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :foo │ │ │ │ ├── message_loc: (5,12)-(5,15) = "foo" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :foo + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :m + │ │ └── flags: ∅ │ └── operator: :+ └── @ CallOperatorWriteNode (location: (7,0)-(7,15)) ├── receiver: │ @ CallNode (location: (7,0)-(7,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (7,0)-(7,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (7,3)-(7,5) = "::" ├── message_loc: (7,5)-(7,6) = "a" ├── flags: ∅ @@ -156,6 +156,7 @@ @ CallNode (location: (7,10)-(7,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (7,10)-(7,11) = "m" ├── opening_loc: ∅ ├── arguments: @@ -164,15 +165,14 @@ │ │ └── @ CallNode (location: (7,12)-(7,15)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,12)-(7,15) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/op_asgn_index.txt b/test/prism/snapshots/whitequark/op_asgn_index.txt index 4d7f4a2d5d4766..a05b679668284c 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: diff --git a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt index f07a4202d167ed..c0cb8dacc26fa5 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -34,6 +34,7 @@ @ CallNode (location: (1,13)-(1,18)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (1,13)-(1,14) = "m" ├── opening_loc: ∅ ├── arguments: @@ -42,15 +43,14 @@ │ │ └── @ CallNode (location: (1,15)-(1,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,15)-(1,18) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/or.txt b/test/prism/snapshots/whitequark/or.txt index 9e755a12717543..8334bdba88be24 100644 --- a/test/prism/snapshots/whitequark/or.txt +++ b/test/prism/snapshots/whitequark/or.txt @@ -8,46 +8,46 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── right: │ │ @ CallNode (location: (1,7)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,7)-(1,10) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── operator_loc: (1,4)-(1,6) = "or" └── @ OrNode (location: (3,0)-(3,10)) ├── left: │ @ CallNode (location: (3,0)-(3,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,0)-(3,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── right: │ @ CallNode (location: (3,7)-(3,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (3,7)-(3,10) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call └── operator_loc: (3,4)-(3,6) = "||" diff --git a/test/prism/snapshots/whitequark/or_asgn.txt b/test/prism/snapshots/whitequark/or_asgn.txt index 9b64fb29a4b959..2578cce8e2ba1f 100644 --- a/test/prism/snapshots/whitequark/or_asgn.txt +++ b/test/prism/snapshots/whitequark/or_asgn.txt @@ -8,13 +8,13 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." │ ├── message_loc: (1,4)-(1,5) = "a" │ ├── flags: ∅ @@ -29,13 +29,13 @@ │ @ CallNode (location: (3,0)-(3,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,0)-(3,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ ├── opening_loc: (3,3)-(3,4) = "[" ├── arguments: diff --git a/test/prism/snapshots/whitequark/parser_bug_272.txt b/test/prism/snapshots/whitequark/parser_bug_272.txt index ddb7e51b33d324..f8f29f813702be 100644 --- a/test/prism/snapshots/whitequark/parser_bug_272.txt +++ b/test/prism/snapshots/whitequark/parser_bug_272.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (1,0)-(1,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -37,5 +38,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (1,12)-(1,15) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_525.txt b/test/prism/snapshots/whitequark/parser_bug_525.txt index 1357541d03d44b..f875dc8116aa17 100644 --- a/test/prism/snapshots/whitequark/parser_bug_525.txt +++ b/test/prism/snapshots/whitequark/parser_bug_525.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,32)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m1 ├── message_loc: (1,0)-(1,2) = "m1" ├── opening_loc: ∅ ├── arguments: @@ -24,13 +25,13 @@ │ │ │ @ CallNode (location: (1,9)-(1,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :m2 │ │ │ ├── message_loc: (1,9)-(1,11) = "m2" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :m2 + │ │ │ └── flags: variable_call │ │ └── operator_loc: (1,6)-(1,8) = "=>" │ └── flags: ∅ ├── closing_loc: ∅ @@ -44,6 +45,7 @@ │ │ └── @ CallNode (location: (1,16)-(1,27)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :m3 │ │ ├── message_loc: (1,16)-(1,18) = "m3" │ │ ├── opening_loc: (1,18)-(1,19) = "(" │ │ ├── arguments: ∅ @@ -55,9 +57,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,21)-(1,23) = "do" │ │ │ └── closing_loc: (1,24)-(1,27) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :m3 + │ │ └── flags: ∅ │ ├── opening_loc: (1,12)-(1,14) = "do" │ └── closing_loc: (1,29)-(1,32) = "end" - ├── flags: ∅ - └── name: :m1 + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_604.txt b/test/prism/snapshots/whitequark/parser_bug_604.txt index 454e238705d2a3..12a05c31cb1942 100644 --- a/test/prism/snapshots/whitequark/parser_bug_604.txt +++ b/test/prism/snapshots/whitequark/parser_bug_604.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,14)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (1,0)-(1,1) = "m" ├── opening_loc: ∅ ├── arguments: @@ -16,14 +17,15 @@ │ │ │ @ CallNode (location: (1,2)-(1,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :a │ │ │ ├── message_loc: (1,2)-(1,3) = "a" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :a + │ │ │ └── flags: variable_call │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :+ │ │ ├── message_loc: (1,4)-(1,5) = "+" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -32,18 +34,17 @@ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (1,6)-(1,7) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :b + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :+ + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: @@ -53,5 +54,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,8)-(1,10) = "do" │ └── closing_loc: (1,11)-(1,14) = "end" - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt index 932a7bfbacce71..e86098e7bad4d7 100644 --- a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt +++ b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt @@ -17,7 +17,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (4,0)-(4,3) = "%I{" - │ └── closing_loc: (5,1)-(5,2) = "}" + │ ├── closing_loc: (5,1)-(5,2) = "}" + │ └── flags: ∅ ├── @ StringNode (location: (7,0)-(8,2)) │ ├── flags: ∅ │ ├── opening_loc: (7,0)-(7,3) = "%Q{" @@ -33,7 +34,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (10,0)-(10,3) = "%W{" - │ └── closing_loc: (11,1)-(11,2) = "}" + │ ├── closing_loc: (11,1)-(11,2) = "}" + │ └── flags: ∅ ├── @ ArrayNode (location: (13,0)-(14,2)) │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (13,3)-(14,1)) @@ -42,7 +44,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (13,0)-(13,3) = "%i{" - │ └── closing_loc: (14,1)-(14,2) = "}" + │ ├── closing_loc: (14,1)-(14,2) = "}" + │ └── flags: ∅ ├── @ StringNode (location: (16,0)-(17,2)) │ ├── flags: ∅ │ ├── opening_loc: (16,0)-(16,3) = "%q{" @@ -69,7 +72,8 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\nb" │ ├── opening_loc: (25,0)-(25,3) = "%w{" - │ └── closing_loc: (26,1)-(26,2) = "}" + │ ├── closing_loc: (26,1)-(26,2) = "}" + │ └── flags: ∅ ├── @ XStringNode (location: (28,0)-(29,2)) │ ├── opening_loc: (28,0)-(28,3) = "%x{" │ ├── content_loc: (28,3)-(29,1) = "a\\\nb" diff --git a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt index c12a9a169eb73e..9e653787dcc609 100644 --- a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt +++ b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt @@ -13,6 +13,7 @@ │ │ │ ├── receiver: │ │ │ │ @ SourceLineNode (location: (1,24)-(1,32)) │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :+ │ │ │ ├── message_loc: (1,33)-(1,34) = "+" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -23,11 +24,11 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :+ + │ │ │ └── flags: ∅ │ │ └── @ SourceEncodingNode (location: (1,38)-(1,50)) │ ├── opening_loc: (1,13)-(1,14) = "[" - │ └── closing_loc: (1,50)-(1,51) = "]" + │ ├── closing_loc: (1,50)-(1,51) = "]" + │ └── flags: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,10)-(2,47)) │ ├── pattern: diff --git a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt index b44bedc8d27ab5..b3d77703c0909b 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt @@ -12,7 +12,8 @@ │ │ │ └── @ IntegerNode (location: (1,4)-(1,5)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (1,0)-(1,1) = "[" - │ │ └── closing_loc: (1,5)-(1,6) = "]" + │ │ ├── closing_loc: (1,5)-(1,6) = "]" + │ │ └── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (1,10)-(1,14)) │ │ ├── constant: ∅ @@ -40,7 +41,8 @@ │ │ │ └── @ IntegerNode (location: (3,4)-(3,5)) │ │ │ └── flags: decimal │ │ ├── opening_loc: (3,0)-(3,1) = "[" - │ │ └── closing_loc: (3,5)-(3,6) = "]" + │ │ ├── closing_loc: (3,5)-(3,6) = "]" + │ │ └── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (3,10)-(3,14)) │ │ ├── constant: ∅ diff --git a/test/prism/snapshots/whitequark/procarg0.txt b/test/prism/snapshots/whitequark/procarg0.txt index 9f552d7ba45025..62eaaca68f8183 100644 --- a/test/prism/snapshots/whitequark/procarg0.txt +++ b/test/prism/snapshots/whitequark/procarg0.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,18)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (1,0)-(1,1) = "m" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -40,11 +41,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,2)-(1,3) = "{" │ │ └── closing_loc: (1,17)-(1,18) = "}" - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (3,0)-(3,1) = "m" ├── opening_loc: ∅ ├── arguments: ∅ @@ -71,5 +72,4 @@ │ ├── body: ∅ │ ├── opening_loc: (3,2)-(3,3) = "{" │ └── closing_loc: (3,10)-(3,11) = "}" - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/regex_interp.txt b/test/prism/snapshots/whitequark/regex_interp.txt index 35ec02534343d0..443321f2475bd7 100644 --- a/test/prism/snapshots/whitequark/regex_interp.txt +++ b/test/prism/snapshots/whitequark/regex_interp.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_list.txt b/test/prism/snapshots/whitequark/resbody_list.txt index 4165aa2737a463..a11eba281db540 100644 --- a/test/prism/snapshots/whitequark/resbody_list.txt +++ b/test/prism/snapshots/whitequark/resbody_list.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -32,13 +32,13 @@ │ │ └── @ CallNode (location: (1,31)-(1,34)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,31)-(1,34) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt index 12734820017b2c..3190cacf344f21 100644 --- a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt +++ b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,39)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -27,13 +27,13 @@ │ │ └── @ CallNode (location: (1,31)-(1,34)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,31)-(1,34) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: @@ -42,13 +42,13 @@ │ │ └── @ CallNode (location: (1,36)-(1,39)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,36)-(1,39) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_list_var.txt b/test/prism/snapshots/whitequark/resbody_list_var.txt index c9c3174bae4a60..a84fe7163dd096 100644 --- a/test/prism/snapshots/whitequark/resbody_list_var.txt +++ b/test/prism/snapshots/whitequark/resbody_list_var.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -25,13 +25,13 @@ │ │ └── @ CallNode (location: (1,20)-(1,23)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,20)-(1,23) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── operator_loc: (1,24)-(1,26) = "=>" │ ├── reference: │ │ @ LocalVariableTargetNode (location: (1,27)-(1,29)) @@ -43,13 +43,13 @@ │ │ └── @ CallNode (location: (1,31)-(1,34)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,31)-(1,34) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/resbody_var.txt b/test/prism/snapshots/whitequark/resbody_var.txt index 11585faf17c5ee..c89868a2618a1d 100644 --- a/test/prism/snapshots/whitequark/resbody_var.txt +++ b/test/prism/snapshots/whitequark/resbody_var.txt @@ -11,13 +11,13 @@ │ │ └── @ CallNode (location: (1,7)-(1,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,7)-(1,11) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ ├── rescue_clause: │ │ @ RescueNode (location: (1,13)-(1,31)) │ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -32,13 +32,13 @@ │ │ │ └── @ CallNode (location: (1,28)-(1,31)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,28)-(1,31) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ @@ -51,13 +51,13 @@ │ └── @ CallNode (location: (3,7)-(3,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (3,7)-(3,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (3,13)-(3,30)) │ ├── keyword_loc: (3,13)-(3,19) = "rescue" @@ -73,13 +73,13 @@ │ │ └── @ CallNode (location: (3,27)-(3,30)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (3,27)-(3,30) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/rescue.txt b/test/prism/snapshots/whitequark/rescue.txt index 9464adb2331305..1d8d7ff8409296 100644 --- a/test/prism/snapshots/whitequark/rescue.txt +++ b/test/prism/snapshots/whitequark/rescue.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,13 +30,13 @@ │ │ └── @ CallNode (location: (1,21)-(1,24)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,21)-(1,24) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/rescue_else.txt b/test/prism/snapshots/whitequark/rescue_else.txt index 4da165abf0352e..7441ff3b7819dd 100644 --- a/test/prism/snapshots/whitequark/rescue_else.txt +++ b/test/prism/snapshots/whitequark/rescue_else.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,13 +30,13 @@ │ │ └── @ CallNode (location: (1,21)-(1,24)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,21)-(1,24) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,40)) @@ -47,13 +47,13 @@ │ │ └── @ CallNode (location: (1,32)-(1,35)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,32)-(1,35) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── end_keyword_loc: (1,37)-(1,40) = "end" ├── ensure_clause: ∅ └── end_keyword_loc: (1,37)-(1,40) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_else_ensure.txt b/test/prism/snapshots/whitequark/rescue_else_ensure.txt index d8f2454c1a6a17..d0c7f20d4cd6a0 100644 --- a/test/prism/snapshots/whitequark/rescue_else_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_else_ensure.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,13 +30,13 @@ │ │ └── @ CallNode (location: (1,21)-(1,24)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz │ │ ├── message_loc: (1,21)-(1,24) = "baz" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :baz + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,42)) @@ -47,13 +47,13 @@ │ │ └── @ CallNode (location: (1,31)-(1,34)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,31)-(1,34) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── end_keyword_loc: (1,36)-(1,42) = "ensure" ├── ensure_clause: │ @ EnsureNode (location: (1,36)-(1,51)) @@ -64,12 +64,12 @@ │ │ └── @ CallNode (location: (1,44)-(1,47)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,44)-(1,47) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── end_keyword_loc: (1,48)-(1,51) = "end" └── end_keyword_loc: (1,48)-(1,51) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_ensure.txt b/test/prism/snapshots/whitequark/rescue_ensure.txt index ead7dce44acabd..ad406564864127 100644 --- a/test/prism/snapshots/whitequark/rescue_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_ensure.txt @@ -11,13 +11,13 @@ │ └── @ CallNode (location: (1,7)-(1,11)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,7)-(1,11) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) │ ├── keyword_loc: (1,13)-(1,19) = "rescue" @@ -30,13 +30,13 @@ │ │ └── @ CallNode (location: (1,21)-(1,24)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz │ │ ├── message_loc: (1,21)-(1,24) = "baz" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :baz + │ │ └── flags: variable_call │ └── consequent: ∅ ├── else_clause: ∅ ├── ensure_clause: @@ -48,12 +48,12 @@ │ │ └── @ CallNode (location: (1,34)-(1,37)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,34)-(1,37) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── end_keyword_loc: (1,39)-(1,42) = "end" └── end_keyword_loc: (1,39)-(1,42) = "end" diff --git a/test/prism/snapshots/whitequark/rescue_mod.txt b/test/prism/snapshots/whitequark/rescue_mod.txt index 2e6e6b105b9569..ea85cb9c00d8eb 100644 --- a/test/prism/snapshots/whitequark/rescue_mod.txt +++ b/test/prism/snapshots/whitequark/rescue_mod.txt @@ -8,22 +8,22 @@ │ @ CallNode (location: (1,0)-(1,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,0)-(1,4) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── keyword_loc: (1,5)-(1,11) = "rescue" └── rescue_expression: @ CallNode (location: (1,12)-(1,15)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :bar ├── message_loc: (1,12)-(1,15) = "bar" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: variable_call - └── name: :bar + └── flags: variable_call diff --git a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt index 1ef5e233f652de..74ced5d1ad578f 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt @@ -13,23 +13,23 @@ │ │ @ CallNode (location: (1,6)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,6)-(1,10) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ ├── keyword_loc: (1,11)-(1,17) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (1,18)-(1,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,18)-(1,21) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call └── operator_loc: (1,4)-(1,5) = "=" diff --git a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt index 580734a1e36bb6..f1746602e6e967 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt @@ -22,13 +22,13 @@ │ @ CallNode (location: (1,11)-(1,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,11)-(1,15) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── keyword_loc: (1,16)-(1,22) = "rescue" └── rescue_expression: @ ArrayNode (location: (1,23)-(1,29)) @@ -38,4 +38,5 @@ │ └── @ IntegerNode (location: (1,27)-(1,28)) │ └── flags: decimal ├── opening_loc: (1,23)-(1,24) = "[" - └── closing_loc: (1,28)-(1,29) = "]" + ├── closing_loc: (1,28)-(1,29) = "]" + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt index b8343159adb1a1..05dc5e68ef7b3f 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt @@ -12,25 +12,25 @@ │ │ @ CallNode (location: (1,7)-(1,11)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,7)-(1,11) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ ├── keyword_loc: (1,12)-(1,18) = "rescue" │ └── rescue_expression: │ @ CallNode (location: (1,19)-(1,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,19)-(1,22) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── name: :foo ├── operator: :+ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt index 9978f9a3db6b3c..c997d99d468c5f 100644 --- a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt +++ b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,30)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :meth ├── message_loc: (1,0)-(1,4) = "meth" ├── opening_loc: ∅ ├── arguments: ∅ @@ -23,13 +24,13 @@ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,9)-(1,12) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (1,14)-(1,25)) │ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue" @@ -42,18 +43,17 @@ │ │ │ │ └── @ CallNode (location: (1,22)-(1,25)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (1,22)-(1,25) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ │ │ └── end_keyword_loc: (1,27)-(1,30) = "end" │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (1,27)-(1,30) = "end" - ├── flags: ∅ - └── name: :meth + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/return.txt b/test/prism/snapshots/whitequark/return.txt index cc17a67af09e43..231b70bca1a1d2 100644 --- a/test/prism/snapshots/whitequark/return.txt +++ b/test/prism/snapshots/whitequark/return.txt @@ -14,13 +14,13 @@ │ │ └── @ CallNode (location: (3,7)-(3,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,7)-(3,10) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── flags: ∅ ├── @ ReturnNode (location: (5,0)-(5,8)) │ ├── keyword_loc: (5,0)-(5,6) = "return" @@ -44,13 +44,13 @@ │ │ └── @ CallNode (location: (7,7)-(7,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,7)-(7,10) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── opening_loc: (7,6)-(7,7) = "(" │ └── closing_loc: (7,10)-(7,11) = ")" └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/return_block.txt b/test/prism/snapshots/whitequark/return_block.txt index d058661bb41bc8..f963bedff10e31 100644 --- a/test/prism/snapshots/whitequark/return_block.txt +++ b/test/prism/snapshots/whitequark/return_block.txt @@ -11,6 +11,7 @@ │ └── @ CallNode (location: (1,7)-(1,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun │ ├── message_loc: (1,7)-(1,10) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -19,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,11)-(1,14)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,11)-(1,14) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -35,6 +36,5 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,15)-(1,17) = "do" │ │ └── closing_loc: (1,18)-(1,21) = "end" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_10653.txt b/test/prism/snapshots/whitequark/ruby_bug_10653.txt index 418bce94c735b2..35a3e966bdfd56 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_10653.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_10653.txt @@ -14,6 +14,7 @@ │ │ └── @ CallNode (location: (1,8)-(1,20)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (1,8)-(1,13) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -25,8 +26,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,33)) │ │ ├── else_keyword_loc: (1,21)-(1,22) = ":" @@ -36,6 +36,7 @@ │ │ │ └── @ CallNode (location: (1,23)-(1,33)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :tap │ │ │ ├── message_loc: (1,23)-(1,26) = "tap" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -47,8 +48,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (1,27)-(1,29) = "do" │ │ │ │ └── closing_loc: (1,30)-(1,33) = "end" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :tap + │ │ │ └── flags: ∅ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (3,0)-(3,25)) @@ -62,6 +62,7 @@ │ │ └── @ CallNode (location: (3,8)-(3,16)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (3,8)-(3,13) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ @@ -73,8 +74,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (3,14)-(3,15) = "{" │ │ │ └── closing_loc: (3,15)-(3,16) = "}" - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── consequent: │ │ @ ElseNode (location: (3,17)-(3,25)) │ │ ├── else_keyword_loc: (3,17)-(3,18) = ":" @@ -84,6 +84,7 @@ │ │ │ └── @ CallNode (location: (3,19)-(3,25)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :tap │ │ │ ├── message_loc: (3,19)-(3,22) = "tap" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -95,8 +96,7 @@ │ │ │ │ ├── body: ∅ │ │ │ │ ├── opening_loc: (3,23)-(3,24) = "{" │ │ │ │ └── closing_loc: (3,24)-(3,25) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :tap + │ │ │ └── flags: ∅ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (5,0)-(5,31)) @@ -112,6 +112,7 @@ │ │ @ IntegerNode (location: (5,7)-(5,8)) │ │ └── flags: decimal │ ├── call_operator_loc: (5,8)-(5,9) = "." + │ ├── name: :tap │ ├── message_loc: (5,9)-(5,12) = "tap" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -141,6 +142,7 @@ │ │ │ └── @ CallNode (location: (5,20)-(5,23)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :p │ │ │ ├── message_loc: (5,20)-(5,21) = "p" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -152,12 +154,10 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :p + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (5,13)-(5,15) = "do" │ │ └── closing_loc: (5,24)-(5,27) = "end" - │ ├── flags: ∅ - │ └── name: :tap + │ └── flags: ∅ ├── consequent: │ @ ElseNode (location: (5,28)-(5,31)) │ ├── else_keyword_loc: (5,28)-(5,29) = ":" diff --git a/test/prism/snapshots/whitequark/ruby_bug_11107.txt b/test/prism/snapshots/whitequark/ruby_bug_11107.txt index 9df6c46a93896c..1d8e922a1f33ea 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11107.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11107.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,24)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -28,6 +29,7 @@ │ │ └── @ CallNode (location: (1,10)-(1,20)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :a │ │ ├── message_loc: (1,10)-(1,11) = "a" │ │ ├── opening_loc: (1,11)-(1,12) = "(" │ │ ├── arguments: ∅ @@ -39,10 +41,8 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" │ │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :a + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11380.txt b/test/prism/snapshots/whitequark/ruby_bug_11380.txt index 52cd7c61e66bcb..6f74ac0d6f2ade 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11380.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11380.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,28)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -47,5 +48,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,22)-(1,24) = "do" │ └── closing_loc: (1,25)-(1,28) = "end" - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873.txt b/test/prism/snapshots/whitequark/ruby_bug_11873.txt index 4d8095558fc273..d094841587b4ed 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -14,6 +15,7 @@ │ │ │ ├── @ CallNode (location: (1,2)-(1,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b" │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" │ │ │ │ ├── arguments: @@ -22,6 +24,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -30,23 +33,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ StringNode (location: (1,10)-(1,13)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,10)-(1,11) = "\"" @@ -62,11 +63,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,14)-(1,16) = "do" │ │ └── closing_loc: (1,17)-(1,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (3,0)-(3,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -75,6 +76,7 @@ │ │ │ ├── @ CallNode (location: (3,2)-(3,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b" │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" │ │ │ │ ├── arguments: @@ -83,6 +85,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -91,23 +94,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13)) │ │ │ ├── opening_loc: (3,10)-(3,11) = "/" │ │ │ ├── content_loc: (3,11)-(3,12) = "x" @@ -123,11 +124,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (3,14)-(3,16) = "do" │ │ └── closing_loc: (3,17)-(3,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (5,0)-(5,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -136,6 +137,7 @@ │ │ │ ├── @ CallNode (location: (5,2)-(5,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b" │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" │ │ │ │ ├── arguments: @@ -144,6 +146,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -152,23 +155,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14)) │ │ │ ├── opening_loc: (5,10)-(5,11) = "/" │ │ │ ├── content_loc: (5,11)-(5,12) = "x" @@ -184,11 +185,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (5,15)-(5,17) = "do" │ │ └── closing_loc: (5,18)-(5,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (7,0)-(7,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -197,6 +198,7 @@ │ │ │ ├── @ CallNode (location: (7,2)-(7,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b" │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" │ │ │ │ ├── arguments: @@ -205,6 +207,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" │ │ │ │ │ │ ├── opening_loc: (7,5)-(7,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -213,23 +216,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (7,8)-(7,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ StringNode (location: (7,11)-(7,14)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (7,11)-(7,12) = "\"" @@ -245,11 +246,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (7,15)-(7,17) = "do" │ │ └── closing_loc: (7,18)-(7,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (9,0)-(9,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -258,6 +259,7 @@ │ │ │ ├── @ CallNode (location: (9,2)-(9,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b" │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" │ │ │ │ ├── arguments: @@ -266,6 +268,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" │ │ │ │ │ │ ├── opening_loc: (9,5)-(9,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -274,23 +277,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14)) │ │ │ ├── opening_loc: (9,11)-(9,12) = "/" │ │ │ ├── content_loc: (9,12)-(9,13) = "x" @@ -306,11 +307,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (9,15)-(9,17) = "do" │ │ └── closing_loc: (9,18)-(9,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (11,0)-(11,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -319,6 +320,7 @@ │ │ │ ├── @ CallNode (location: (11,2)-(11,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b" │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" │ │ │ │ ├── arguments: @@ -327,6 +329,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -335,23 +338,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15)) │ │ │ ├── opening_loc: (11,11)-(11,12) = "/" │ │ │ ├── content_loc: (11,12)-(11,13) = "x" @@ -367,11 +368,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (11,16)-(11,18) = "do" │ │ └── closing_loc: (11,19)-(11,22) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (13,0)-(13,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -380,6 +381,7 @@ │ │ │ ├── @ CallNode (location: (13,2)-(13,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -394,6 +396,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -402,22 +405,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "{" │ │ │ │ │ └── closing_loc: (13,7)-(13,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ StringNode (location: (13,10)-(13,13)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (13,10)-(13,11) = "\"" @@ -433,11 +434,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (13,14)-(13,16) = "do" │ │ └── closing_loc: (13,17)-(13,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (15,0)-(15,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -446,6 +447,7 @@ │ │ │ ├── @ CallNode (location: (15,2)-(15,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -460,6 +462,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -468,22 +471,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{" │ │ │ │ │ └── closing_loc: (15,7)-(15,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13)) │ │ │ ├── opening_loc: (15,10)-(15,11) = "/" │ │ │ ├── content_loc: (15,11)-(15,12) = "x" @@ -499,11 +500,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (15,14)-(15,16) = "do" │ │ └── closing_loc: (15,17)-(15,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (17,0)-(17,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -512,6 +513,7 @@ │ │ │ ├── @ CallNode (location: (17,2)-(17,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -526,6 +528,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -534,22 +537,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{" │ │ │ │ │ └── closing_loc: (17,7)-(17,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14)) │ │ │ ├── opening_loc: (17,10)-(17,11) = "/" │ │ │ ├── content_loc: (17,11)-(17,12) = "x" @@ -565,11 +566,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (17,15)-(17,17) = "do" │ │ └── closing_loc: (17,18)-(17,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (19,0)-(19,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -578,6 +579,7 @@ │ │ │ ├── @ CallNode (location: (19,2)-(19,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -592,6 +594,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -600,22 +603,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "{" │ │ │ │ │ └── closing_loc: (19,8)-(19,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ StringNode (location: (19,11)-(19,14)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (19,11)-(19,12) = "\"" @@ -631,11 +632,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (19,15)-(19,17) = "do" │ │ └── closing_loc: (19,18)-(19,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (21,0)-(21,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -644,6 +645,7 @@ │ │ │ ├── @ CallNode (location: (21,2)-(21,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -658,6 +660,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" │ │ │ │ │ │ ├── opening_loc: (21,5)-(21,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -666,22 +669,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (21,7)-(21,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" │ │ │ │ │ └── closing_loc: (21,8)-(21,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14)) │ │ │ ├── opening_loc: (21,11)-(21,12) = "/" │ │ │ ├── content_loc: (21,12)-(21,13) = "x" @@ -697,11 +698,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (21,15)-(21,17) = "do" │ │ └── closing_loc: (21,18)-(21,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (23,0)-(23,22)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (23,0)-(23,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -710,6 +711,7 @@ │ │ ├── @ CallNode (location: (23,2)-(23,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (23,2)-(23,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -724,6 +726,7 @@ │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,8)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :c │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c" │ │ │ │ │ ├── opening_loc: (23,5)-(23,6) = "(" │ │ │ │ │ ├── arguments: @@ -732,22 +735,20 @@ │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── closing_loc: (23,7)-(23,8) = ")" │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :c + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" │ │ │ │ └── closing_loc: (23,8)-(23,9) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :b + │ │ │ └── flags: ∅ │ │ └── @ RegularExpressionNode (location: (23,11)-(23,15)) │ │ ├── opening_loc: (23,11)-(23,12) = "/" │ │ ├── content_loc: (23,12)-(23,13) = "x" @@ -763,5 +764,4 @@ │ ├── body: ∅ │ ├── opening_loc: (23,16)-(23,18) = "do" │ └── closing_loc: (23,19)-(23,22) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt index 061c7dfe7aae53..77da1d947ca7ab 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,18)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -14,6 +15,7 @@ │ │ │ ├── @ CallNode (location: (1,2)-(1,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (1,2)-(1,3) = "b" │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" │ │ │ │ ├── arguments: @@ -22,6 +24,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (1,4)-(1,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -30,23 +33,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) │ │ │ └── flags: decimal │ │ └── flags: ∅ @@ -58,11 +59,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,12)-(1,14) = "do" │ │ └── closing_loc: (1,15)-(1,18) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (3,0)-(3,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -71,6 +72,7 @@ │ │ │ ├── @ CallNode (location: (3,2)-(3,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (3,2)-(3,3) = "b" │ │ │ │ ├── opening_loc: (3,3)-(3,4) = "(" │ │ │ │ ├── arguments: @@ -79,6 +81,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (3,4)-(3,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (3,4)-(3,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -87,23 +90,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (3,6)-(3,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ FloatNode (location: (3,10)-(3,13)) │ │ └── flags: ∅ │ ├── closing_loc: ∅ @@ -114,11 +115,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (3,14)-(3,16) = "do" │ │ └── closing_loc: (3,17)-(3,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (5,0)-(5,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -127,6 +128,7 @@ │ │ │ ├── @ CallNode (location: (5,2)-(5,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (5,2)-(5,3) = "b" │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "(" │ │ │ │ ├── arguments: @@ -135,6 +137,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (5,4)-(5,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (5,4)-(5,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -143,23 +146,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (5,6)-(5,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (5,6)-(5,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (5,10)-(5,13)) @@ -172,11 +173,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (5,15)-(5,17) = "do" │ │ └── closing_loc: (5,18)-(5,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (7,0)-(7,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -185,6 +186,7 @@ │ │ │ ├── @ CallNode (location: (7,2)-(7,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (7,2)-(7,3) = "b" │ │ │ │ ├── opening_loc: (7,3)-(7,4) = "(" │ │ │ │ ├── arguments: @@ -193,6 +195,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (7,4)-(7,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (7,4)-(7,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -201,23 +204,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (7,6)-(7,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (7,6)-(7,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RationalNode (location: (7,10)-(7,14)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (7,10)-(7,13)) @@ -230,11 +231,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (7,15)-(7,17) = "do" │ │ └── closing_loc: (7,18)-(7,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,19)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (9,0)-(9,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -243,6 +244,7 @@ │ │ │ ├── @ CallNode (location: (9,2)-(9,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (9,2)-(9,3) = "b" │ │ │ │ ├── opening_loc: (9,3)-(9,4) = "(" │ │ │ │ ├── arguments: @@ -251,6 +253,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (9,4)-(9,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (9,4)-(9,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -259,23 +262,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (9,6)-(9,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (9,6)-(9,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ SymbolNode (location: (9,10)-(9,12)) │ │ │ ├── opening_loc: (9,10)-(9,11) = ":" │ │ │ ├── value_loc: (9,11)-(9,12) = "e" @@ -290,11 +291,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (9,13)-(9,15) = "do" │ │ └── closing_loc: (9,16)-(9,19) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,19)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (11,0)-(11,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -303,6 +304,7 @@ │ │ │ ├── @ CallNode (location: (11,2)-(11,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (11,2)-(11,3) = "b" │ │ │ │ ├── opening_loc: (11,3)-(11,4) = "(" │ │ │ │ ├── arguments: @@ -311,6 +313,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (11,4)-(11,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (11,4)-(11,5) = "c" │ │ │ │ │ │ ├── opening_loc: (11,5)-(11,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -319,23 +322,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (11,6)-(11,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (11,6)-(11,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ IntegerNode (location: (11,11)-(11,12)) │ │ │ └── flags: decimal │ │ └── flags: ∅ @@ -347,11 +348,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (11,13)-(11,15) = "do" │ │ └── closing_loc: (11,16)-(11,19) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (13,0)-(13,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -360,6 +361,7 @@ │ │ │ ├── @ CallNode (location: (13,2)-(13,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (13,2)-(13,3) = "b" │ │ │ │ ├── opening_loc: (13,3)-(13,4) = "(" │ │ │ │ ├── arguments: @@ -368,6 +370,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (13,4)-(13,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (13,4)-(13,5) = "c" │ │ │ │ │ │ ├── opening_loc: (13,5)-(13,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -376,23 +379,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (13,6)-(13,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (13,6)-(13,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (13,7)-(13,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ FloatNode (location: (13,11)-(13,14)) │ │ └── flags: ∅ │ ├── closing_loc: ∅ @@ -403,11 +404,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (13,15)-(13,17) = "do" │ │ └── closing_loc: (13,18)-(13,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (15,0)-(15,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -416,6 +417,7 @@ │ │ │ ├── @ CallNode (location: (15,2)-(15,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (15,2)-(15,3) = "b" │ │ │ │ ├── opening_loc: (15,3)-(15,4) = "(" │ │ │ │ ├── arguments: @@ -424,6 +426,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (15,4)-(15,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (15,4)-(15,5) = "c" │ │ │ │ │ │ ├── opening_loc: (15,5)-(15,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -432,23 +435,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (15,6)-(15,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (15,6)-(15,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (15,7)-(15,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (15,11)-(15,14)) @@ -461,11 +462,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (15,16)-(15,18) = "do" │ │ └── closing_loc: (15,19)-(15,22) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (17,0)-(17,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -474,6 +475,7 @@ │ │ │ ├── @ CallNode (location: (17,2)-(17,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (17,2)-(17,3) = "b" │ │ │ │ ├── opening_loc: (17,3)-(17,4) = "(" │ │ │ │ ├── arguments: @@ -482,6 +484,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (17,4)-(17,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (17,4)-(17,5) = "c" │ │ │ │ │ │ ├── opening_loc: (17,5)-(17,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -490,23 +493,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (17,6)-(17,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (17,6)-(17,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (17,7)-(17,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RationalNode (location: (17,11)-(17,15)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (17,11)-(17,14)) @@ -519,11 +520,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (17,16)-(17,18) = "do" │ │ └── closing_loc: (17,19)-(17,22) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (19,0)-(19,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -532,6 +533,7 @@ │ │ │ ├── @ CallNode (location: (19,2)-(19,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (19,2)-(19,3) = "b" │ │ │ │ ├── opening_loc: (19,3)-(19,4) = "(" │ │ │ │ ├── arguments: @@ -540,6 +542,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (19,4)-(19,5) = "c" │ │ │ │ │ │ ├── opening_loc: (19,5)-(19,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -548,23 +551,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")" │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ SymbolNode (location: (19,11)-(19,13)) │ │ │ ├── opening_loc: (19,11)-(19,12) = ":" │ │ │ ├── value_loc: (19,12)-(19,13) = "e" @@ -579,11 +580,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (19,14)-(19,16) = "do" │ │ └── closing_loc: (19,17)-(19,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,18)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (21,0)-(21,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -592,6 +593,7 @@ │ │ │ ├── @ CallNode (location: (21,2)-(21,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (21,2)-(21,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -606,6 +608,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (21,4)-(21,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (21,4)-(21,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -614,22 +617,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (21,6)-(21,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (21,6)-(21,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" │ │ │ │ │ └── closing_loc: (21,7)-(21,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ IntegerNode (location: (21,10)-(21,11)) │ │ │ └── flags: decimal │ │ └── flags: ∅ @@ -641,11 +642,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (21,12)-(21,14) = "do" │ │ └── closing_loc: (21,15)-(21,18) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (23,0)-(23,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (23,0)-(23,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -654,6 +655,7 @@ │ │ │ ├── @ CallNode (location: (23,2)-(23,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (23,2)-(23,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -668,6 +670,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (23,4)-(23,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (23,4)-(23,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -676,22 +679,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (23,6)-(23,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (23,6)-(23,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" │ │ │ │ │ └── closing_loc: (23,7)-(23,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ FloatNode (location: (23,10)-(23,13)) │ │ └── flags: ∅ │ ├── closing_loc: ∅ @@ -702,11 +703,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (23,14)-(23,16) = "do" │ │ └── closing_loc: (23,17)-(23,20) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (25,0)-(25,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (25,0)-(25,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -715,6 +716,7 @@ │ │ │ ├── @ CallNode (location: (25,2)-(25,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (25,2)-(25,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -729,6 +731,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (25,4)-(25,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -737,22 +740,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (25,6)-(25,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (25,6)-(25,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{" │ │ │ │ │ └── closing_loc: (25,7)-(25,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ ImaginaryNode (location: (25,10)-(25,14)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (25,10)-(25,13)) @@ -765,11 +766,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (25,15)-(25,17) = "do" │ │ └── closing_loc: (25,18)-(25,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(27,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (27,0)-(27,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -778,6 +779,7 @@ │ │ │ ├── @ CallNode (location: (27,2)-(27,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (27,2)-(27,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -792,6 +794,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (27,4)-(27,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (27,4)-(27,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -800,22 +803,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (27,6)-(27,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (27,6)-(27,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{" │ │ │ │ │ └── closing_loc: (27,7)-(27,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RationalNode (location: (27,10)-(27,14)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (27,10)-(27,13)) @@ -828,11 +829,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (27,15)-(27,17) = "do" │ │ └── closing_loc: (27,18)-(27,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (29,0)-(29,19)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (29,0)-(29,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -841,6 +842,7 @@ │ │ │ ├── @ CallNode (location: (29,2)-(29,8)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (29,2)-(29,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -855,6 +857,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (29,4)-(29,7)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "c" │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── arguments: @@ -863,22 +866,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (29,6)-(29,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (29,6)-(29,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{" │ │ │ │ │ └── closing_loc: (29,7)-(29,8) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ SymbolNode (location: (29,10)-(29,12)) │ │ │ ├── opening_loc: (29,10)-(29,11) = ":" │ │ │ ├── value_loc: (29,11)-(29,12) = "e" @@ -893,11 +894,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (29,13)-(29,15) = "do" │ │ └── closing_loc: (29,16)-(29,19) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (31,0)-(31,19)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (31,0)-(31,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -906,6 +907,7 @@ │ │ │ ├── @ CallNode (location: (31,2)-(31,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (31,2)-(31,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -920,6 +922,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (31,4)-(31,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (31,4)-(31,5) = "c" │ │ │ │ │ │ ├── opening_loc: (31,5)-(31,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -928,22 +931,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (31,6)-(31,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (31,6)-(31,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (31,7)-(31,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{" │ │ │ │ │ └── closing_loc: (31,8)-(31,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ IntegerNode (location: (31,11)-(31,12)) │ │ │ └── flags: decimal │ │ └── flags: ∅ @@ -955,11 +956,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (31,13)-(31,15) = "do" │ │ └── closing_loc: (31,16)-(31,19) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (33,0)-(33,21)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (33,0)-(33,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -968,6 +969,7 @@ │ │ │ ├── @ CallNode (location: (33,2)-(33,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (33,2)-(33,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -982,6 +984,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (33,4)-(33,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (33,4)-(33,5) = "c" │ │ │ │ │ │ ├── opening_loc: (33,5)-(33,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -990,22 +993,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (33,6)-(33,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (33,6)-(33,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (33,7)-(33,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{" │ │ │ │ │ └── closing_loc: (33,8)-(33,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ FloatNode (location: (33,11)-(33,14)) │ │ └── flags: ∅ │ ├── closing_loc: ∅ @@ -1016,11 +1017,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (33,15)-(33,17) = "do" │ │ └── closing_loc: (33,18)-(33,21) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (35,0)-(35,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1029,6 +1030,7 @@ │ │ │ ├── @ CallNode (location: (35,2)-(35,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (35,2)-(35,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1043,6 +1045,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (35,4)-(35,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (35,4)-(35,5) = "c" │ │ │ │ │ │ ├── opening_loc: (35,5)-(35,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -1051,22 +1054,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (35,6)-(35,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (35,6)-(35,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (35,7)-(35,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{" │ │ │ │ │ └── closing_loc: (35,8)-(35,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ ImaginaryNode (location: (35,11)-(35,15)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (35,11)-(35,14)) @@ -1079,11 +1080,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (35,16)-(35,18) = "do" │ │ └── closing_loc: (35,19)-(35,22) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ ├── @ CallNode (location: (37,0)-(37,22)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (37,0)-(37,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -1092,6 +1093,7 @@ │ │ │ ├── @ CallNode (location: (37,2)-(37,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :b │ │ │ │ ├── message_loc: (37,2)-(37,3) = "b" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ @@ -1106,6 +1108,7 @@ │ │ │ │ │ │ └── @ CallNode (location: (37,4)-(37,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ ├── message_loc: (37,4)-(37,5) = "c" │ │ │ │ │ │ ├── opening_loc: (37,5)-(37,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -1114,22 +1117,20 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (37,6)-(37,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ │ ├── message_loc: (37,6)-(37,7) = "d" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (37,7)-(37,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :c + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{" │ │ │ │ │ └── closing_loc: (37,8)-(37,9) = "}" - │ │ │ │ ├── flags: ∅ - │ │ │ │ └── name: :b + │ │ │ │ └── flags: ∅ │ │ │ └── @ RationalNode (location: (37,11)-(37,15)) │ │ │ └── numeric: │ │ │ @ FloatNode (location: (37,11)-(37,14)) @@ -1142,11 +1143,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (37,16)-(37,18) = "do" │ │ └── closing_loc: (37,19)-(37,22) = "end" - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ CallNode (location: (39,0)-(39,20)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :a ├── message_loc: (39,0)-(39,1) = "a" ├── opening_loc: ∅ ├── arguments: @@ -1155,6 +1156,7 @@ │ │ ├── @ CallNode (location: (39,2)-(39,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :b │ │ │ ├── message_loc: (39,2)-(39,3) = "b" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -1169,6 +1171,7 @@ │ │ │ │ │ └── @ CallNode (location: (39,4)-(39,8)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :c │ │ │ │ │ ├── message_loc: (39,4)-(39,5) = "c" │ │ │ │ │ ├── opening_loc: (39,5)-(39,6) = "(" │ │ │ │ │ ├── arguments: @@ -1177,22 +1180,20 @@ │ │ │ │ │ │ │ └── @ CallNode (location: (39,6)-(39,7)) │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ ├── name: :d │ │ │ │ │ │ │ ├── message_loc: (39,6)-(39,7) = "d" │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ └── name: :d + │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── closing_loc: (39,7)-(39,8) = ")" │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :c + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── opening_loc: (39,3)-(39,4) = "{" │ │ │ │ └── closing_loc: (39,8)-(39,9) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :b + │ │ │ └── flags: ∅ │ │ └── @ SymbolNode (location: (39,11)-(39,13)) │ │ ├── opening_loc: (39,11)-(39,12) = ":" │ │ ├── value_loc: (39,12)-(39,13) = "e" @@ -1207,5 +1208,4 @@ │ ├── body: ∅ │ ├── opening_loc: (39,14)-(39,16) = "do" │ └── closing_loc: (39,17)-(39,20) = "end" - ├── flags: ∅ - └── name: :a + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt index 8943bcc8308ded..6f052e5e6fd256 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,25)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -14,6 +15,7 @@ │ │ ├── @ CallNode (location: (1,2)-(1,13)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :p │ │ │ ├── message_loc: (1,2)-(1,3) = "p" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ @@ -28,6 +30,7 @@ │ │ │ │ │ ├── @ CallNode (location: (1,4)-(1,8)) │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ ├── name: :p │ │ │ │ │ │ ├── message_loc: (1,4)-(1,5) = "p" │ │ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ │ │ │ │ ├── arguments: @@ -36,21 +39,21 @@ │ │ │ │ │ │ │ │ └── @ CallNode (location: (1,6)-(1,7)) │ │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ │ ├── name: :p │ │ │ │ │ │ │ │ ├── message_loc: (1,6)-(1,7) = "p" │ │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ │ └── name: :p + │ │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ │ └── name: :p + │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :p │ │ │ │ │ ├── message_loc: (1,9)-(1,10) = "p" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: @@ -59,32 +62,30 @@ │ │ │ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) │ │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ │ │ ├── name: :p │ │ │ │ │ │ │ ├── message_loc: (1,11)-(1,12) = "p" │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ │ │ └── name: :p + │ │ │ │ │ │ │ └── flags: variable_call │ │ │ │ │ │ └── flags: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: ∅ - │ │ │ │ │ └── name: :p + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── opening_loc: (1,3)-(1,4) = "{" │ │ │ │ └── closing_loc: (1,12)-(1,13) = "}" - │ │ │ ├── flags: ∅ - │ │ │ └── name: :p + │ │ │ └── flags: ∅ │ │ └── @ CallNode (location: (1,15)-(1,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :tap │ │ ├── message_loc: (1,15)-(1,18) = "tap" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :tap + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: @@ -94,5 +95,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,19)-(1,21) = "do" │ └── closing_loc: (1,22)-(1,25) = "end" - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11989.txt b/test/prism/snapshots/whitequark/ruby_bug_11989.txt index 84fb2d4f0a7159..b5379fa9cd2e62 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11989.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11989.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,8)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: @@ -20,5 +21,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11990.txt b/test/prism/snapshots/whitequark/ruby_bug_11990.txt index 54532e329c0b8c..beaeb1ec87c39e 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11990.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11990.txt @@ -6,28 +6,29 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :p ├── message_loc: (1,0)-(1,1) = "p" ├── opening_loc: ∅ ├── arguments: │ @ ArgumentsNode (location: (1,2)-(1,12)) │ ├── arguments: (length: 1) - │ │ └── @ StringConcatNode (location: (1,2)-(1,12)) - │ │ ├── left: - │ │ │ @ StringNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E" - │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" - │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" - │ │ │ └── unescaped: "x\n" - │ │ └── right: - │ │ @ StringNode (location: (1,7)-(1,12)) - │ │ ├── flags: ∅ - │ │ ├── opening_loc: (1,7)-(1,8) = "\"" - │ │ ├── content_loc: (1,8)-(1,11) = " y" - │ │ ├── closing_loc: (1,11)-(1,12) = "\"" - │ │ └── unescaped: " y" + │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) + │ │ ├── opening_loc: ∅ + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (1,2)-(1,6)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E" + │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" + │ │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" + │ │ │ │ └── unescaped: "x\n" + │ │ │ └── @ StringNode (location: (1,7)-(1,12)) + │ │ │ ├── flags: ∅ + │ │ │ ├── opening_loc: (1,7)-(1,8) = "\"" + │ │ │ ├── content_loc: (1,8)-(1,11) = " y" + │ │ │ ├── closing_loc: (1,11)-(1,12) = "\"" + │ │ │ └── unescaped: " y" + │ │ └── closing_loc: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :p + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_12073.txt b/test/prism/snapshots/whitequark/ruby_bug_12073.txt index e518b6f0174b8a..6c6e335117b7d4 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12073.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12073.txt @@ -14,6 +14,7 @@ ├── @ CallNode (location: (1,7)-(1,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,7)-(1,8) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -35,8 +36,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a + │ └── flags: ∅ └── @ DefNode (location: (3,0)-(3,34)) ├── name: :foo ├── name_loc: (3,4)-(3,7) = "foo" @@ -58,6 +58,7 @@ │ └── @ CallNode (location: (3,15)-(3,29)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :raise │ ├── message_loc: (3,15)-(3,20) = "raise" │ ├── opening_loc: ∅ │ ├── arguments: @@ -80,8 +81,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :raise + │ └── flags: ∅ ├── locals: [:raise] ├── def_keyword_loc: (3,0)-(3,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_12402.txt b/test/prism/snapshots/whitequark/ruby_bug_12402.txt index 78a336935d148b..a091e8baafdc1f 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12402.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12402.txt @@ -12,6 +12,7 @@ │ │ │ @ CallNode (location: (1,7)-(1,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (1,7)-(1,12) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -20,18 +21,17 @@ │ │ │ │ │ └── @ CallNode (location: (1,13)-(1,16)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (1,13)-(1,16) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (1,17)-(1,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (1,24)-(1,27)) @@ -47,6 +47,7 @@ │ │ │ @ CallNode (location: (3,7)-(3,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (3,7)-(3,12) = "raise" │ │ │ ├── opening_loc: (3,12)-(3,13) = "(" │ │ │ ├── arguments: @@ -55,18 +56,17 @@ │ │ │ │ │ └── @ CallNode (location: (3,13)-(3,16)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (3,13)-(3,16) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (3,16)-(3,17) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (3,18)-(3,24) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (3,25)-(3,28)) @@ -83,6 +83,7 @@ │ │ │ @ CallNode (location: (5,6)-(5,15)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (5,6)-(5,11) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -91,18 +92,17 @@ │ │ │ │ │ └── @ CallNode (location: (5,12)-(5,15)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (5,12)-(5,15) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (5,16)-(5,22) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (5,23)-(5,26)) @@ -117,6 +117,7 @@ │ │ │ @ CallNode (location: (7,6)-(7,16)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (7,6)-(7,11) = "raise" │ │ │ ├── opening_loc: (7,11)-(7,12) = "(" │ │ │ ├── arguments: @@ -125,18 +126,17 @@ │ │ │ │ │ └── @ CallNode (location: (7,12)-(7,15)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (7,12)-(7,15) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (7,15)-(7,16) = ")" │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── keyword_loc: (7,17)-(7,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (7,24)-(7,27)) @@ -159,6 +159,7 @@ │ │ @ CallNode (location: (9,9)-(9,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (9,9)-(9,14) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -167,18 +168,17 @@ │ │ │ │ └── @ CallNode (location: (9,15)-(9,18)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (9,15)-(9,18) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (9,19)-(9,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (9,26)-(9,29)) @@ -200,6 +200,7 @@ │ │ @ CallNode (location: (11,9)-(11,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (11,9)-(11,14) = "raise" │ │ ├── opening_loc: (11,14)-(11,15) = "(" │ │ ├── arguments: @@ -208,18 +209,17 @@ │ │ │ │ └── @ CallNode (location: (11,15)-(11,18)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (11,15)-(11,18) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (11,18)-(11,19) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (11,20)-(11,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (11,27)-(11,30)) @@ -241,6 +241,7 @@ │ │ @ CallNode (location: (13,9)-(13,18)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (13,9)-(13,14) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -249,18 +250,17 @@ │ │ │ │ └── @ CallNode (location: (13,15)-(13,18)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (13,15)-(13,18) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (13,19)-(13,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,26)-(13,29)) @@ -282,6 +282,7 @@ │ │ @ CallNode (location: (15,9)-(15,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (15,9)-(15,14) = "raise" │ │ ├── opening_loc: (15,14)-(15,15) = "(" │ │ ├── arguments: @@ -290,18 +291,17 @@ │ │ │ │ └── @ CallNode (location: (15,15)-(15,18)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (15,15)-(15,18) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (15,18)-(15,19) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (15,20)-(15,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (15,27)-(15,30)) @@ -323,6 +323,7 @@ │ │ @ CallNode (location: (17,11)-(17,20)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (17,11)-(17,16) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -331,18 +332,17 @@ │ │ │ │ └── @ CallNode (location: (17,17)-(17,20)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (17,17)-(17,20) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (17,21)-(17,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (17,28)-(17,31)) @@ -364,6 +364,7 @@ │ │ @ CallNode (location: (19,11)-(19,21)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (19,11)-(19,16) = "raise" │ │ ├── opening_loc: (19,16)-(19,17) = "(" │ │ ├── arguments: @@ -372,18 +373,17 @@ │ │ │ │ └── @ CallNode (location: (19,17)-(19,20)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (19,17)-(19,20) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (19,20)-(19,21) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (19,22)-(19,28) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (19,29)-(19,32)) @@ -405,6 +405,7 @@ │ │ @ CallNode (location: (21,10)-(21,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (21,10)-(21,15) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -413,18 +414,17 @@ │ │ │ │ └── @ CallNode (location: (21,16)-(21,19)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (21,16)-(21,19) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (21,20)-(21,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (21,27)-(21,30)) @@ -446,6 +446,7 @@ │ │ @ CallNode (location: (23,10)-(23,20)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (23,10)-(23,15) = "raise" │ │ ├── opening_loc: (23,15)-(23,16) = "(" │ │ ├── arguments: @@ -454,18 +455,17 @@ │ │ │ │ └── @ CallNode (location: (23,16)-(23,19)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (23,16)-(23,19) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (23,19)-(23,20) = ")" │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (23,21)-(23,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (23,28)-(23,31)) @@ -493,6 +493,7 @@ │ │ @ CallNode (location: (25,10)-(25,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (25,10)-(25,15) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -501,18 +502,17 @@ │ │ │ │ └── @ CallNode (location: (25,16)-(25,19)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (25,16)-(25,19) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ ├── keyword_loc: (25,20)-(25,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (25,27)-(25,30)) @@ -540,6 +540,7 @@ │ @ CallNode (location: (27,10)-(27,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :raise │ ├── message_loc: (27,10)-(27,15) = "raise" │ ├── opening_loc: (27,15)-(27,16) = "(" │ ├── arguments: @@ -548,18 +549,17 @@ │ │ │ └── @ CallNode (location: (27,16)-(27,19)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (27,16)-(27,19) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (27,19)-(27,20) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :raise + │ └── flags: ∅ ├── keyword_loc: (27,21)-(27,27) = "rescue" └── rescue_expression: @ NilNode (location: (27,28)-(27,31)) diff --git a/test/prism/snapshots/whitequark/ruby_bug_12669.txt b/test/prism/snapshots/whitequark/ruby_bug_12669.txt index 861d2e8bc8bbee..7b876221d2a19c 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12669.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12669.txt @@ -14,6 +14,7 @@ │ │ │ @ CallNode (location: (1,10)-(1,18)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (1,10)-(1,15) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -27,8 +28,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── name: :b │ │ ├── operator: :+ │ │ └── depth: 0 @@ -47,6 +47,7 @@ │ │ │ @ CallNode (location: (3,9)-(3,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (3,9)-(3,14) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -60,8 +61,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ └── operator_loc: (3,7)-(3,8) = "=" │ ├── name: :a │ ├── operator: :+ @@ -78,6 +78,7 @@ │ │ │ @ CallNode (location: (5,9)-(5,17)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :raise │ │ │ ├── message_loc: (5,9)-(5,14) = "raise" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -91,8 +92,7 @@ │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :raise + │ │ │ └── flags: ∅ │ │ ├── name: :b │ │ ├── operator: :+ │ │ └── depth: 0 @@ -110,6 +110,7 @@ │ │ @ CallNode (location: (7,8)-(7,16)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :raise │ │ ├── message_loc: (7,8)-(7,13) = "raise" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -123,7 +124,6 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :raise + │ │ └── flags: ∅ │ └── operator_loc: (7,6)-(7,7) = "=" └── operator_loc: (7,2)-(7,3) = "=" diff --git a/test/prism/snapshots/whitequark/ruby_bug_12686.txt b/test/prism/snapshots/whitequark/ruby_bug_12686.txt index bb2168332d12ab..f94c195e19be22 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12686.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12686.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,16)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :f ├── message_loc: (1,0)-(1,1) = "f" ├── opening_loc: ∅ ├── arguments: @@ -20,13 +21,13 @@ │ │ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :g │ │ │ │ ├── message_loc: (1,3)-(1,4) = "g" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :g + │ │ │ │ └── flags: variable_call │ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ NilNode (location: (1,12)-(1,15)) @@ -35,5 +36,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :f + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_13547.txt b/test/prism/snapshots/whitequark/ruby_bug_13547.txt index d5c733ae3f293c..becb34f0bb71e0 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_13547.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_13547.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,0)-(1,4) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,4)-(1,6) = "[]" ├── opening_loc: (1,4)-(1,5) = "[" ├── arguments: ∅ @@ -27,5 +28,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,7)-(1,8) = "{" │ └── closing_loc: (1,8)-(1,9) = "}" - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_14690.txt b/test/prism/snapshots/whitequark/ruby_bug_14690.txt index ef762637d8d39f..bccfa5d87809e4 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_14690.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_14690.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,23)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :let ├── message_loc: (1,0)-(1,3) = "let" ├── opening_loc: ∅ ├── arguments: @@ -27,6 +28,7 @@ │ │ └── @ CallNode (location: (1,9)-(1,21)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :m │ │ ├── message_loc: (1,9)-(1,10) = "m" │ │ ├── opening_loc: (1,10)-(1,11) = "(" │ │ ├── arguments: @@ -35,13 +37,13 @@ │ │ │ │ └── @ CallNode (location: (1,11)-(1,12)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :a │ │ │ │ ├── message_loc: (1,11)-(1,12) = "a" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :a + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: (1,12)-(1,13) = ")" │ │ ├── block: @@ -51,9 +53,7 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,14)-(1,16) = "do" │ │ │ └── closing_loc: (1,18)-(1,21) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :m + │ │ └── flags: ∅ │ ├── opening_loc: (1,7)-(1,8) = "{" │ └── closing_loc: (1,22)-(1,23) = "}" - ├── flags: ∅ - └── name: :let + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_15789.txt b/test/prism/snapshots/whitequark/ruby_bug_15789.txt index 657eb764d9358d..b9d793179aeb52 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_15789.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_15789.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,20)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (1,0)-(1,1) = "m" │ ├── opening_loc: ∅ │ ├── arguments: @@ -56,11 +57,11 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,19)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :m ├── message_loc: (3,0)-(3,1) = "m" ├── opening_loc: ∅ ├── arguments: @@ -110,5 +111,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :m + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/sclass.txt b/test/prism/snapshots/whitequark/sclass.txt index 726c1e9d6700f9..a0e5c89e58ba2c 100644 --- a/test/prism/snapshots/whitequark/sclass.txt +++ b/test/prism/snapshots/whitequark/sclass.txt @@ -11,13 +11,13 @@ │ @ CallNode (location: (1,9)-(1,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,9)-(1,12) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── body: │ @ StatementsNode (location: (1,14)-(1,17)) │ └── body: (length: 1) diff --git a/test/prism/snapshots/whitequark/send_attr_asgn.txt b/test/prism/snapshots/whitequark/send_attr_asgn.txt index fffa2d81abf852..cf320bb707c3a5 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :A= │ ├── message_loc: (1,4)-(1,5) = "A" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,21 +27,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :A= + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,9)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,4) = "." + │ ├── name: :a= │ ├── message_loc: (3,4)-(3,5) = "a" │ ├── opening_loc: ∅ │ ├── arguments: @@ -51,8 +52,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :a= + │ └── flags: ∅ ├── @ ConstantPathWriteNode (location: (5,0)-(5,10)) │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) @@ -60,13 +60,13 @@ │ │ │ @ CallNode (location: (5,0)-(5,3)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (5,0)-(5,3) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ ├── child: │ │ │ @ ConstantReadNode (location: (5,5)-(5,6)) │ │ │ └── name: :A @@ -80,14 +80,15 @@ │ @ CallNode (location: (7,0)-(7,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (7,0)-(7,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (7,3)-(7,5) = "::" + ├── name: :a= ├── message_loc: (7,5)-(7,6) = "a" ├── opening_loc: ∅ ├── arguments: @@ -98,5 +99,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :a= + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt index a6d7198f70cba2..d7d36c5d7fa847 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :b= ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: @@ -26,5 +27,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b= + └── flags: safe_navigation diff --git a/test/prism/snapshots/whitequark/send_binary_op.txt b/test/prism/snapshots/whitequark/send_binary_op.txt index 6e036ce5c5a1b3..bbbfafe8e163d0 100644 --- a/test/prism/snapshots/whitequark/send_binary_op.txt +++ b/test/prism/snapshots/whitequark/send_binary_op.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :!= │ ├── message_loc: (1,4)-(1,6) = "!=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -26,21 +27,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :!= + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,8)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :!~ │ ├── message_loc: (3,4)-(3,6) = "!~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -51,21 +52,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :!~ + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,7)) │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (5,0)-(5,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :% │ ├── message_loc: (5,4)-(5,5) = "%" │ ├── opening_loc: ∅ │ ├── arguments: @@ -76,21 +77,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :% + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,7)) │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,0)-(7,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :& │ ├── message_loc: (7,4)-(7,5) = "&" │ ├── opening_loc: ∅ │ ├── arguments: @@ -101,21 +102,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :& + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,7)) │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (9,0)-(9,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :* │ ├── message_loc: (9,4)-(9,5) = "*" │ ├── opening_loc: ∅ │ ├── arguments: @@ -126,21 +127,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :* + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,8)) │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (11,0)-(11,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :** │ ├── message_loc: (11,4)-(11,6) = "**" │ ├── opening_loc: ∅ │ ├── arguments: @@ -151,21 +152,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── @ CallNode (location: (13,0)-(13,7)) │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (13,0)-(13,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :+ │ ├── message_loc: (13,4)-(13,5) = "+" │ ├── opening_loc: ∅ │ ├── arguments: @@ -176,21 +177,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+ + │ └── flags: ∅ ├── @ CallNode (location: (15,0)-(15,7)) │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (15,0)-(15,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :- │ ├── message_loc: (15,4)-(15,5) = "-" │ ├── opening_loc: ∅ │ ├── arguments: @@ -201,21 +202,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :- + │ └── flags: ∅ ├── @ CallNode (location: (17,0)-(17,7)) │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (17,0)-(17,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :/ │ ├── message_loc: (17,4)-(17,5) = "/" │ ├── opening_loc: ∅ │ ├── arguments: @@ -226,21 +227,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :/ + │ └── flags: ∅ ├── @ CallNode (location: (19,0)-(19,7)) │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (19,0)-(19,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :< │ ├── message_loc: (19,4)-(19,5) = "<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -251,21 +252,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :< + │ └── flags: ∅ ├── @ CallNode (location: (21,0)-(21,8)) │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (21,0)-(21,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :<< │ ├── message_loc: (21,4)-(21,6) = "<<" │ ├── opening_loc: ∅ │ ├── arguments: @@ -276,21 +277,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<< + │ └── flags: ∅ ├── @ CallNode (location: (23,0)-(23,8)) │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (23,0)-(23,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :<= │ ├── message_loc: (23,4)-(23,6) = "<=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -301,21 +302,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<= + │ └── flags: ∅ ├── @ CallNode (location: (25,0)-(25,9)) │ ├── receiver: │ │ @ CallNode (location: (25,0)-(25,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (25,0)-(25,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :<=> │ ├── message_loc: (25,4)-(25,7) = "<=>" │ ├── opening_loc: ∅ │ ├── arguments: @@ -326,21 +327,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :<=> + │ └── flags: ∅ ├── @ CallNode (location: (27,0)-(27,8)) │ ├── receiver: │ │ @ CallNode (location: (27,0)-(27,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (27,0)-(27,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :== │ ├── message_loc: (27,4)-(27,6) = "==" │ ├── opening_loc: ∅ │ ├── arguments: @@ -351,21 +352,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :== + │ └── flags: ∅ ├── @ CallNode (location: (29,0)-(29,9)) │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (29,0)-(29,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :=== │ ├── message_loc: (29,4)-(29,7) = "===" │ ├── opening_loc: ∅ │ ├── arguments: @@ -376,21 +377,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=== + │ └── flags: ∅ ├── @ CallNode (location: (31,0)-(31,8)) │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (31,0)-(31,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :=~ │ ├── message_loc: (31,4)-(31,6) = "=~" │ ├── opening_loc: ∅ │ ├── arguments: @@ -401,21 +402,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :=~ + │ └── flags: ∅ ├── @ CallNode (location: (33,0)-(33,7)) │ ├── receiver: │ │ @ CallNode (location: (33,0)-(33,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (33,0)-(33,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :> │ ├── message_loc: (33,4)-(33,5) = ">" │ ├── opening_loc: ∅ │ ├── arguments: @@ -426,21 +427,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :> + │ └── flags: ∅ ├── @ CallNode (location: (35,0)-(35,8)) │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (35,0)-(35,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :>= │ ├── message_loc: (35,4)-(35,6) = ">=" │ ├── opening_loc: ∅ │ ├── arguments: @@ -451,21 +452,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>= + │ └── flags: ∅ ├── @ CallNode (location: (37,0)-(37,8)) │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (37,0)-(37,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :>> │ ├── message_loc: (37,4)-(37,6) = ">>" │ ├── opening_loc: ∅ │ ├── arguments: @@ -476,21 +477,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :>> + │ └── flags: ∅ ├── @ CallNode (location: (39,0)-(39,7)) │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (39,0)-(39,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :^ │ ├── message_loc: (39,4)-(39,5) = "^" │ ├── opening_loc: ∅ │ ├── arguments: @@ -501,21 +502,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :^ + │ └── flags: ∅ └── @ CallNode (location: (41,0)-(41,7)) ├── receiver: │ @ CallNode (location: (41,0)-(41,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (41,0)-(41,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :| ├── message_loc: (41,4)-(41,5) = "|" ├── opening_loc: ∅ ├── arguments: @@ -526,5 +527,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :| + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt index afd415bd0f1725..40e59aa278d34e 100644 --- a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt @@ -8,6 +8,7 @@ │ │ @ CallNode (location: (1,0)-(1,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,0)-(1,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -24,9 +25,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,7)-(1,9) = "do" │ │ │ └── closing_loc: (1,10)-(1,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (1,13)-(1,14) = "." + │ ├── name: :fun │ ├── message_loc: (1,14)-(1,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -35,23 +36,23 @@ │ │ │ └── @ CallNode (location: (1,18)-(1,21)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,18)-(1,21) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,28)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (3,0)-(3,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -68,9 +69,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (3,7)-(3,9) = "do" │ │ │ └── closing_loc: (3,10)-(3,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (3,13)-(3,14) = "." + │ ├── name: :fun │ ├── message_loc: (3,14)-(3,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -79,13 +80,13 @@ │ │ │ └── @ CallNode (location: (3,18)-(3,21)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (3,18)-(3,21) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: @@ -95,13 +96,13 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (3,22)-(3,24) = "do" │ │ └── closing_loc: (3,25)-(3,28) = "end" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,20)) │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (5,0)-(5,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -118,9 +119,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (5,7)-(5,9) = "do" │ │ │ └── closing_loc: (5,10)-(5,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (5,13)-(5,14) = "." + │ ├── name: :fun │ ├── message_loc: (5,14)-(5,17) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -132,13 +133,13 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (5,18)-(5,19) = "{" │ │ └── closing_loc: (5,19)-(5,20) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (7,0)-(7,22)) │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (7,0)-(7,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -155,9 +156,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (7,7)-(7,9) = "do" │ │ │ └── closing_loc: (7,10)-(7,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (7,13)-(7,14) = "." + │ ├── name: :fun │ ├── message_loc: (7,14)-(7,17) = "fun" │ ├── opening_loc: (7,17)-(7,18) = "(" │ ├── arguments: @@ -166,23 +167,23 @@ │ │ │ └── @ CallNode (location: (7,18)-(7,21)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (7,18)-(7,21) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (7,21)-(7,22) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (9,0)-(9,25)) │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (9,0)-(9,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -199,9 +200,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (9,7)-(9,9) = "do" │ │ │ └── closing_loc: (9,10)-(9,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (9,13)-(9,14) = "." + │ ├── name: :fun │ ├── message_loc: (9,14)-(9,17) = "fun" │ ├── opening_loc: (9,17)-(9,18) = "(" │ ├── arguments: @@ -210,13 +211,13 @@ │ │ │ └── @ CallNode (location: (9,18)-(9,21)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (9,18)-(9,21) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: (9,21)-(9,22) = ")" │ ├── block: @@ -226,13 +227,13 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (9,23)-(9,24) = "{" │ │ └── closing_loc: (9,24)-(9,25) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (11,0)-(11,22)) │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,13)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (11,0)-(11,4) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -249,9 +250,9 @@ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (11,7)-(11,9) = "do" │ │ │ └── closing_loc: (11,10)-(11,13) = "end" - │ │ ├── flags: ∅ - │ │ └── name: :meth + │ │ └── flags: ∅ │ ├── call_operator_loc: (11,13)-(11,15) = "::" + │ ├── name: :fun │ ├── message_loc: (11,15)-(11,18) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -260,23 +261,23 @@ │ │ │ └── @ CallNode (location: (11,19)-(11,22)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (11,19)-(11,22) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ └── @ CallNode (location: (13,0)-(13,23)) ├── receiver: │ @ CallNode (location: (13,0)-(13,13)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (13,0)-(13,4) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: @@ -293,9 +294,9 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (13,7)-(13,9) = "do" │ │ └── closing_loc: (13,10)-(13,13) = "end" - │ ├── flags: ∅ - │ └── name: :meth + │ └── flags: ∅ ├── call_operator_loc: (13,13)-(13,15) = "::" + ├── name: :fun ├── message_loc: (13,15)-(13,18) = "fun" ├── opening_loc: (13,18)-(13,19) = "(" ├── arguments: @@ -304,15 +305,14 @@ │ │ └── @ CallNode (location: (13,19)-(13,22)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (13,19)-(13,22) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: (13,22)-(13,23) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_conditional.txt b/test/prism/snapshots/whitequark/send_block_conditional.txt index c535097ddee938..ed736996b56102 100644 --- a/test/prism/snapshots/whitequark/send_block_conditional.txt +++ b/test/prism/snapshots/whitequark/send_block_conditional.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (1,3)-(1,5) = "&." + ├── name: :bar ├── message_loc: (1,5)-(1,8) = "bar" ├── opening_loc: ∅ ├── arguments: ∅ @@ -27,5 +28,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,9)-(1,10) = "{" │ └── closing_loc: (1,10)-(1,11) = "}" - ├── flags: safe_navigation - └── name: :bar + └── flags: safe_navigation diff --git a/test/prism/snapshots/whitequark/send_call.txt b/test/prism/snapshots/whitequark/send_call.txt index e2ff7a1c6352d8..38d9f0dc6b3398 100644 --- a/test/prism/snapshots/whitequark/send_call.txt +++ b/test/prism/snapshots/whitequark/send_call.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :call │ ├── message_loc: ∅ │ ├── opening_loc: (1,4)-(1,5) = "(" │ ├── arguments: @@ -26,21 +27,21 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,6)-(1,7) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :call + │ └── flags: ∅ └── @ CallNode (location: (3,0)-(3,8)) ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,0)-(3,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (3,3)-(3,5) = "::" + ├── name: :call ├── message_loc: ∅ ├── opening_loc: (3,5)-(3,6) = "(" ├── arguments: @@ -51,5 +52,4 @@ │ └── flags: ∅ ├── closing_loc: (3,7)-(3,8) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :call + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_conditional.txt b/test/prism/snapshots/whitequark/send_conditional.txt index 87886b1ac993e0..108c6ca820bd06 100644 --- a/test/prism/snapshots/whitequark/send_conditional.txt +++ b/test/prism/snapshots/whitequark/send_conditional.txt @@ -8,18 +8,18 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." + ├── name: :b ├── message_loc: (1,3)-(1,4) = "b" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: safe_navigation - └── name: :b + └── flags: safe_navigation diff --git a/test/prism/snapshots/whitequark/send_index.txt b/test/prism/snapshots/whitequark/send_index.txt index 4eb81c0a3090ba..25a2c8dcff819d 100644 --- a/test/prism/snapshots/whitequark/send_index.txt +++ b/test/prism/snapshots/whitequark/send_index.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -28,5 +29,4 @@ │ └── flags: ∅ ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn.txt b/test/prism/snapshots/whitequark/send_index_asgn.txt index 9ab2474c74a24c..54905e5874c6e8 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -30,5 +31,4 @@ │ └── flags: ∅ ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt index 9ab2474c74a24c..54905e5874c6e8 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[]= ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -30,5 +31,4 @@ │ └── flags: ∅ ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[]= + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_cmd.txt b/test/prism/snapshots/whitequark/send_index_cmd.txt index 6798854a81bc95..e7df6237bc4ee7 100644 --- a/test/prism/snapshots/whitequark/send_index_cmd.txt +++ b/test/prism/snapshots/whitequark/send_index_cmd.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,3)-(1,10) = "[m bar]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -24,6 +25,7 @@ │ │ └── @ CallNode (location: (1,4)-(1,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :m │ │ ├── message_loc: (1,4)-(1,5) = "m" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -32,20 +34,18 @@ │ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :m + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: (1,9)-(1,10) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_legacy.txt b/test/prism/snapshots/whitequark/send_index_legacy.txt index 4eb81c0a3090ba..25a2c8dcff819d 100644 --- a/test/prism/snapshots/whitequark/send_index_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_legacy.txt @@ -8,14 +8,15 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :[] ├── message_loc: (1,3)-(1,9) = "[1, 2]" ├── opening_loc: (1,3)-(1,4) = "[" ├── arguments: @@ -28,5 +29,4 @@ │ └── flags: ∅ ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ - ├── flags: ∅ - └── name: :[] + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt index e67879512bcd7f..300b779609b2c3 100644 --- a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,0)-(1,1)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :a │ ├── message_loc: (1,0)-(1,1) = "a" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :a + │ └── flags: variable_call ├── call_operator_loc: (1,1)-(1,3) = "&." ├── message_loc: (1,3)-(1,4) = "b" ├── flags: safe_navigation diff --git a/test/prism/snapshots/whitequark/send_plain.txt b/test/prism/snapshots/whitequark/send_plain.txt index 1ae54413d814a8..8f0952f44eb4ed 100644 --- a/test/prism/snapshots/whitequark/send_plain.txt +++ b/test/prism/snapshots/whitequark/send_plain.txt @@ -8,58 +8,58 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,10)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,5) = "::" + │ ├── name: :Fun │ ├── message_loc: (3,5)-(3,8) = "Fun" │ ├── opening_loc: (3,8)-(3,9) = "(" │ ├── arguments: ∅ │ ├── closing_loc: (3,9)-(3,10) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Fun + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,8)) ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (5,0)-(5,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (5,3)-(5,5) = "::" + ├── name: :fun ├── message_loc: (5,5)-(5,8) = "fun" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_plain_cmd.txt b/test/prism/snapshots/whitequark/send_plain_cmd.txt index 8a1198d6418f1d..35c8591e2a75a4 100644 --- a/test/prism/snapshots/whitequark/send_plain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_plain_cmd.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -24,31 +25,31 @@ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,8)-(1,11) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,12)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,5) = "::" + │ ├── name: :Fun │ ├── message_loc: (3,5)-(3,8) = "Fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -57,31 +58,31 @@ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (3,9)-(3,12) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :Fun + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,12)) ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (5,0)-(5,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: (5,3)-(5,5) = "::" + ├── name: :fun ├── message_loc: (5,5)-(5,8) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -90,15 +91,14 @@ │ │ └── @ CallNode (location: (5,9)-(5,12)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (5,9)-(5,12) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_self.txt b/test/prism/snapshots/whitequark/send_self.txt index fa604be70242c7..05176094f0673b 100644 --- a/test/prism/snapshots/whitequark/send_self.txt +++ b/test/prism/snapshots/whitequark/send_self.txt @@ -6,26 +6,27 @@ ├── @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun │ ├── message_loc: (1,0)-(1,3) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :fun + │ └── flags: variable_call ├── @ CallNode (location: (3,0)-(3,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun! │ ├── message_loc: (3,0)-(3,4) = "fun!" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :fun! + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,6)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (5,0)-(5,3) = "fun" ├── opening_loc: (5,3)-(5,4) = "(" ├── arguments: @@ -36,5 +37,4 @@ │ └── flags: ∅ ├── closing_loc: (5,5)-(5,6) = ")" ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_self_block.txt b/test/prism/snapshots/whitequark/send_self_block.txt index 3a1453090821bd..7bbee614740cff 100644 --- a/test/prism/snapshots/whitequark/send_self_block.txt +++ b/test/prism/snapshots/whitequark/send_self_block.txt @@ -6,6 +6,7 @@ ├── @ CallNode (location: (1,0)-(1,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun │ ├── message_loc: (1,0)-(1,3) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -17,11 +18,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,4)-(1,6) = "do" │ │ └── closing_loc: (1,7)-(1,10) = "end" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,7)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun │ ├── message_loc: (3,0)-(3,3) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: ∅ @@ -33,11 +34,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (3,4)-(3,5) = "{" │ │ └── closing_loc: (3,6)-(3,7) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (5,0)-(5,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :fun │ ├── message_loc: (5,0)-(5,3) = "fun" │ ├── opening_loc: (5,3)-(5,4) = "(" │ ├── arguments: ∅ @@ -49,11 +50,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (5,6)-(5,7) = "{" │ │ └── closing_loc: (5,8)-(5,9) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ └── @ CallNode (location: (7,0)-(7,10)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (7,0)-(7,3) = "fun" ├── opening_loc: (7,3)-(7,4) = "(" ├── arguments: @@ -70,5 +71,4 @@ │ ├── body: ∅ │ ├── opening_loc: (7,7)-(7,8) = "{" │ └── closing_loc: (7,9)-(7,10) = "}" - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_unary_op.txt b/test/prism/snapshots/whitequark/send_unary_op.txt index 9e850fe2bf63a7..5029e64bd9bfca 100644 --- a/test/prism/snapshots/whitequark/send_unary_op.txt +++ b/test/prism/snapshots/whitequark/send_unary_op.txt @@ -8,58 +8,58 @@ │ │ @ CallNode (location: (1,1)-(1,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,1)-(1,4) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :+@ │ ├── message_loc: (1,0)-(1,1) = "+" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :+@ + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,4)) │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,4)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,1)-(3,4) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: ∅ + │ ├── name: :-@ │ ├── message_loc: (3,0)-(3,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :-@ + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,4)) ├── receiver: │ @ CallNode (location: (5,1)-(5,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (5,1)-(5,4) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── call_operator_loc: ∅ + ├── name: :~ ├── message_loc: (5,0)-(5,1) = "~" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :~ + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg.txt b/test/prism/snapshots/whitequark/space_args_arg.txt index 256cae61da164c..4c27ecc56eb6bb 100644 --- a/test/prism/snapshots/whitequark/space_args_arg.txt +++ b/test/prism/snapshots/whitequark/space_args_arg.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,7)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (1,0)-(1,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -22,5 +23,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_block.txt b/test/prism/snapshots/whitequark/space_args_arg_block.txt index 2092321a511dda..b870fc66d7215e 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_block.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_block.txt @@ -8,14 +8,15 @@ │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,0)-(1,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (1,3)-(1,4) = "." + │ ├── name: :fun │ ├── message_loc: (1,4)-(1,7) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -38,21 +39,21 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,12)-(1,13) = "{" │ │ └── closing_loc: (1,13)-(1,14) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,15)) │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (3,0)-(3,3) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── call_operator_loc: (3,3)-(3,5) = "::" + │ ├── name: :fun │ ├── message_loc: (3,5)-(3,8) = "fun" │ ├── opening_loc: ∅ │ ├── arguments: @@ -75,11 +76,11 @@ │ │ ├── body: ∅ │ │ ├── opening_loc: (3,13)-(3,14) = "{" │ │ └── closing_loc: (3,14)-(3,15) = "}" - │ ├── flags: ∅ - │ └── name: :fun + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,10)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (5,0)-(5,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -102,5 +103,4 @@ │ ├── body: ∅ │ ├── opening_loc: (5,8)-(5,9) = "{" │ └── closing_loc: (5,9)-(5,10) = "}" - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_call.txt b/test/prism/snapshots/whitequark/space_args_arg_call.txt index eb0cf798e60e2e..6dbd68292b8560 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_call.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_call.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,12)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (1,0)-(1,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -22,15 +23,14 @@ │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ │ └── closing_loc: (1,6)-(1,7) = ")" │ │ ├── call_operator_loc: (1,7)-(1,8) = "." + │ │ ├── name: :to_i │ │ ├── message_loc: (1,8)-(1,12) = "to_i" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :to_i + │ │ └── flags: ∅ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_newline.txt b/test/prism/snapshots/whitequark/space_args_arg_newline.txt index c6312b1fdb5bce..328bfa73b88aef 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_newline.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_newline.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(2,1)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (1,0)-(1,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -22,5 +23,4 @@ │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_block.txt b/test/prism/snapshots/whitequark/space_args_block.txt index 260081eb17d13f..28fcecc97f41d5 100644 --- a/test/prism/snapshots/whitequark/space_args_block.txt +++ b/test/prism/snapshots/whitequark/space_args_block.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,9)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (1,0)-(1,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -24,5 +25,4 @@ │ ├── body: ∅ │ ├── opening_loc: (1,7)-(1,8) = "{" │ └── closing_loc: (1,8)-(1,9) = "}" - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_cmd.txt b/test/prism/snapshots/whitequark/space_args_cmd.txt index 26fb75511ebb38..1d58f4bd2c1736 100644 --- a/test/prism/snapshots/whitequark/space_args_cmd.txt +++ b/test/prism/snapshots/whitequark/space_args_cmd.txt @@ -6,6 +6,7 @@ └── @ CallNode (location: (1,0)-(1,11)) ├── receiver: ∅ ├── call_operator_loc: ∅ + ├── name: :fun ├── message_loc: (1,0)-(1,3) = "fun" ├── opening_loc: ∅ ├── arguments: @@ -18,6 +19,7 @@ │ │ │ └── @ CallNode (location: (1,5)-(1,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :f │ │ │ ├── message_loc: (1,5)-(1,6) = "f" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: @@ -26,22 +28,20 @@ │ │ │ │ │ └── @ CallNode (location: (1,7)-(1,10)) │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ │ ├── name: :bar │ │ │ │ │ ├── message_loc: (1,7)-(1,10) = "bar" │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ ├── block: ∅ - │ │ │ │ │ ├── flags: variable_call - │ │ │ │ │ └── name: :bar + │ │ │ │ │ └── flags: variable_call │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: ∅ - │ │ │ └── name: :f + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ └── closing_loc: (1,10)-(1,11) = ")" │ └── flags: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :fun + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/string_concat.txt b/test/prism/snapshots/whitequark/string_concat.txt index 2c15895d7ea288..38ea0c745dd664 100644 --- a/test/prism/snapshots/whitequark/string_concat.txt +++ b/test/prism/snapshots/whitequark/string_concat.txt @@ -3,27 +3,28 @@ └── statements: @ StatementsNode (location: (1,0)-(1,14)) └── body: (length: 1) - └── @ StringConcatNode (location: (1,0)-(1,14)) - ├── left: - │ @ InterpolatedStringNode (location: (1,0)-(1,8)) - │ ├── opening_loc: (1,0)-(1,1) = "\"" - │ ├── parts: (length: 2) - │ │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ │ ├── flags: ∅ - │ │ │ ├── opening_loc: ∅ - │ │ │ ├── content_loc: (1,1)-(1,4) = "foo" - │ │ │ ├── closing_loc: ∅ - │ │ │ └── unescaped: "foo" - │ │ └── @ EmbeddedVariableNode (location: (1,4)-(1,7)) - │ │ ├── operator_loc: (1,4)-(1,5) = "#" - │ │ └── variable: - │ │ @ InstanceVariableReadNode (location: (1,5)-(1,7)) - │ │ └── name: :@a - │ └── closing_loc: (1,7)-(1,8) = "\"" - └── right: - @ StringNode (location: (1,9)-(1,14)) - ├── flags: ∅ - ├── opening_loc: (1,9)-(1,10) = "\"" - ├── content_loc: (1,10)-(1,13) = "bar" - ├── closing_loc: (1,13)-(1,14) = "\"" - └── unescaped: "bar" + └── @ InterpolatedStringNode (location: (1,0)-(1,14)) + ├── opening_loc: ∅ + ├── parts: (length: 2) + │ ├── @ InterpolatedStringNode (location: (1,0)-(1,8)) + │ │ ├── opening_loc: (1,0)-(1,1) = "\"" + │ │ ├── parts: (length: 2) + │ │ │ ├── @ StringNode (location: (1,1)-(1,4)) + │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── opening_loc: ∅ + │ │ │ │ ├── content_loc: (1,1)-(1,4) = "foo" + │ │ │ │ ├── closing_loc: ∅ + │ │ │ │ └── unescaped: "foo" + │ │ │ └── @ EmbeddedVariableNode (location: (1,4)-(1,7)) + │ │ │ ├── operator_loc: (1,4)-(1,5) = "#" + │ │ │ └── variable: + │ │ │ @ InstanceVariableReadNode (location: (1,5)-(1,7)) + │ │ │ └── name: :@a + │ │ └── closing_loc: (1,7)-(1,8) = "\"" + │ └── @ StringNode (location: (1,9)-(1,14)) + │ ├── flags: ∅ + │ ├── opening_loc: (1,9)-(1,10) = "\"" + │ ├── content_loc: (1,10)-(1,13) = "bar" + │ ├── closing_loc: (1,13)-(1,14) = "\"" + │ └── unescaped: "bar" + └── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/string_interp.txt b/test/prism/snapshots/whitequark/string_interp.txt index 706da5b4b5b2f6..bd97411d7a2fc1 100644 --- a/test/prism/snapshots/whitequark/string_interp.txt +++ b/test/prism/snapshots/whitequark/string_interp.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/super.txt b/test/prism/snapshots/whitequark/super.txt index 1d15ca71bdc0a1..dd02255c9f2931 100644 --- a/test/prism/snapshots/whitequark/super.txt +++ b/test/prism/snapshots/whitequark/super.txt @@ -12,13 +12,13 @@ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (1,6)-(1,9) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ ├── rparen_loc: ∅ │ └── block: ∅ @@ -37,13 +37,13 @@ │ │ └── @ CallNode (location: (5,6)-(5,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (5,6)-(5,9) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── flags: ∅ ├── rparen_loc: (5,9)-(5,10) = ")" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/super_block.txt b/test/prism/snapshots/whitequark/super_block.txt index 626ab97b55057f..124dd22c53081b 100644 --- a/test/prism/snapshots/whitequark/super_block.txt +++ b/test/prism/snapshots/whitequark/super_block.txt @@ -20,23 +20,23 @@ │ │ ├── @ CallNode (location: (3,6)-(3,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,6)-(3,9) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── @ CallNode (location: (3,11)-(3,14)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (3,11)-(3,14) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── flags: ∅ ├── rparen_loc: ∅ └── block: diff --git a/test/prism/snapshots/whitequark/symbol_interp.txt b/test/prism/snapshots/whitequark/symbol_interp.txt index 26578c6f7a5ac9..7443086fb51d65 100644 --- a/test/prism/snapshots/whitequark/symbol_interp.txt +++ b/test/prism/snapshots/whitequark/symbol_interp.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,7)-(1,10)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,7)-(1,10) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,10)-(1,11) = "}" │ └── @ StringNode (location: (1,11)-(1,14)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/ternary.txt b/test/prism/snapshots/whitequark/ternary.txt index 7a74f5ca6716f2..4fec364c5bf8b0 100644 --- a/test/prism/snapshots/whitequark/ternary.txt +++ b/test/prism/snapshots/whitequark/ternary.txt @@ -9,13 +9,13 @@ │ @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,0)-(1,3) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── then_keyword_loc: (1,4)-(1,5) = "?" ├── statements: │ @ StatementsNode (location: (1,6)-(1,7)) diff --git a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt index 13c426b83f2aca..f4d0736ca4e584 100644 --- a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt +++ b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt @@ -21,13 +21,13 @@ │ │ └── @ CallNode (location: (1,5)-(1,8)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,5)-(1,8) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,8)-(1,9) = ")" ├── then_keyword_loc: (1,9)-(1,10) = "?" diff --git a/test/prism/snapshots/whitequark/trailing_forward_arg.txt b/test/prism/snapshots/whitequark/trailing_forward_arg.txt index 62a884e0e54fa3..e51eea4685a9fc 100644 --- a/test/prism/snapshots/whitequark/trailing_forward_arg.txt +++ b/test/prism/snapshots/whitequark/trailing_forward_arg.txt @@ -27,6 +27,7 @@ │ └── @ CallNode (location: (1,20)-(1,35)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,20)-(1,23) = "bar" │ ├── opening_loc: (1,23)-(1,24) = "(" │ ├── arguments: @@ -41,8 +42,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: (1,34)-(1,35) = ")" │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :bar + │ └── flags: ∅ ├── locals: [:a, :b, :"..."] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt index 5ee965da432fa7..4e5d010e71455c 100644 --- a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt +++ b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt @@ -7,6 +7,7 @@ │ ├── receiver: │ │ @ FloatNode (location: (1,0)-(1,4)) │ ├── call_operator_loc: ∅ + │ ├── name: :** │ ├── message_loc: (1,5)-(1,7) = "**" │ ├── opening_loc: ∅ │ ├── arguments: @@ -17,8 +18,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── @ CallNode (location: (3,0)-(3,8)) │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,8)) @@ -26,6 +26,7 @@ │ │ │ @ IntegerNode (location: (3,1)-(3,2)) │ │ │ └── flags: decimal │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :** │ │ ├── message_loc: (3,3)-(3,5) = "**" │ │ ├── opening_loc: ∅ │ │ ├── arguments: @@ -36,22 +37,22 @@ │ │ │ └── flags: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: ∅ - │ │ └── name: :** + │ │ └── flags: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :-@ │ ├── message_loc: (3,0)-(3,1) = "-" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :-@ + │ └── flags: ∅ └── @ CallNode (location: (5,0)-(5,10)) ├── receiver: │ @ CallNode (location: (5,1)-(5,10)) │ ├── receiver: │ │ @ FloatNode (location: (5,1)-(5,4)) │ ├── call_operator_loc: ∅ + │ ├── name: :** │ ├── message_loc: (5,5)-(5,7) = "**" │ ├── opening_loc: ∅ │ ├── arguments: @@ -62,13 +63,12 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :** + │ └── flags: ∅ ├── call_operator_loc: ∅ + ├── name: :-@ ├── message_loc: (5,0)-(5,1) = "-" ├── opening_loc: ∅ ├── arguments: ∅ ├── closing_loc: ∅ ├── block: ∅ - ├── flags: ∅ - └── name: :-@ + └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/unless.txt b/test/prism/snapshots/whitequark/unless.txt index 666ab7d5fee3d0..602b2d06ec9c2c 100644 --- a/test/prism/snapshots/whitequark/unless.txt +++ b/test/prism/snapshots/whitequark/unless.txt @@ -9,13 +9,13 @@ │ │ @ CallNode (location: (1,7)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,7)-(1,10) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) @@ -23,13 +23,13 @@ │ │ └── @ CallNode (location: (1,16)-(1,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,16)-(1,19) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ ├── consequent: ∅ │ └── end_keyword_loc: (1,21)-(1,24) = "end" └── @ UnlessNode (location: (3,0)-(3,20)) @@ -38,13 +38,13 @@ │ @ CallNode (location: (3,7)-(3,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,7)-(3,10) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) @@ -52,12 +52,12 @@ │ └── @ CallNode (location: (3,12)-(3,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (3,12)-(3,15) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── consequent: ∅ └── end_keyword_loc: (3,17)-(3,20) = "end" diff --git a/test/prism/snapshots/whitequark/unless_else.txt b/test/prism/snapshots/whitequark/unless_else.txt index 86b16a5c166914..66ef26875a181e 100644 --- a/test/prism/snapshots/whitequark/unless_else.txt +++ b/test/prism/snapshots/whitequark/unless_else.txt @@ -9,13 +9,13 @@ │ │ @ CallNode (location: (1,7)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,7)-(1,10) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) @@ -23,13 +23,13 @@ │ │ └── @ CallNode (location: (1,16)-(1,19)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,16)-(1,19) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,34)) │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else" @@ -39,13 +39,13 @@ │ │ │ └── @ CallNode (location: (1,26)-(1,29)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (1,26)-(1,29) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── end_keyword_loc: (1,31)-(1,34) = "end" │ └── end_keyword_loc: (1,31)-(1,34) = "end" └── @ UnlessNode (location: (3,0)-(3,30)) @@ -54,13 +54,13 @@ │ @ CallNode (location: (3,7)-(3,10)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,7)-(3,10) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) @@ -68,13 +68,13 @@ │ └── @ CallNode (location: (3,12)-(3,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (3,12)-(3,15) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── consequent: │ @ ElseNode (location: (3,17)-(3,30)) │ ├── else_keyword_loc: (3,17)-(3,21) = "else" @@ -84,12 +84,12 @@ │ │ └── @ CallNode (location: (3,22)-(3,25)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :baz │ │ ├── message_loc: (3,22)-(3,25) = "baz" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :baz + │ │ └── flags: variable_call │ └── end_keyword_loc: (3,27)-(3,30) = "end" └── end_keyword_loc: (3,27)-(3,30) = "end" diff --git a/test/prism/snapshots/whitequark/unless_mod.txt b/test/prism/snapshots/whitequark/unless_mod.txt index 07b5ee9337cc25..734cfd3cbf5828 100644 --- a/test/prism/snapshots/whitequark/unless_mod.txt +++ b/test/prism/snapshots/whitequark/unless_mod.txt @@ -9,13 +9,13 @@ │ @ CallNode (location: (1,11)-(1,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,11)-(1,14) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) @@ -23,12 +23,12 @@ │ └── @ CallNode (location: (1,0)-(1,3)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,0)-(1,3) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── consequent: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/until.txt b/test/prism/snapshots/whitequark/until.txt index 081bdabcee533f..09f943a7879728 100644 --- a/test/prism/snapshots/whitequark/until.txt +++ b/test/prism/snapshots/whitequark/until.txt @@ -10,26 +10,26 @@ │ │ @ CallNode (location: (1,6)-(1,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,6)-(1,9) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── statements: │ │ @ StatementsNode (location: (1,13)-(1,17)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,13)-(1,17)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,13)-(1,17) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ └── flags: ∅ └── @ UntilNode (location: (3,0)-(3,19)) ├── keyword_loc: (3,0)-(3,5) = "until" @@ -38,24 +38,24 @@ │ @ CallNode (location: (3,6)-(3,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,6)-(3,9) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (3,11)-(3,15)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,11)-(3,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (3,11)-(3,15) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/until_mod.txt b/test/prism/snapshots/whitequark/until_mod.txt index f3de77300098fb..11745900e5d991 100644 --- a/test/prism/snapshots/whitequark/until_mod.txt +++ b/test/prism/snapshots/whitequark/until_mod.txt @@ -10,24 +10,24 @@ │ @ CallNode (location: (1,11)-(1,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,11)-(1,14) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (1,0)-(1,4)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,0)-(1,4) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/until_post.txt b/test/prism/snapshots/whitequark/until_post.txt index e1e651e854c5f3..2bedb9f4112dbf 100644 --- a/test/prism/snapshots/whitequark/until_post.txt +++ b/test/prism/snapshots/whitequark/until_post.txt @@ -10,13 +10,13 @@ │ @ CallNode (location: (1,21)-(1,24)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,21)-(1,24) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (1,0)-(1,14)) │ └── body: (length: 1) @@ -28,13 +28,13 @@ │ │ └── @ CallNode (location: (1,6)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,6)-(1,10) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt index 78030dae4e18ab..805e47ceb6b11a 100644 --- a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt @@ -10,6 +10,7 @@ │ @ CallNode (location: (1,7)-(1,12)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :m │ ├── message_loc: (1,7)-(1,8) = "m" │ ├── opening_loc: ∅ │ ├── arguments: @@ -21,8 +22,7 @@ │ │ └── flags: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: ∅ - │ └── name: :m + │ └── flags: ∅ ├── name: :foo ├── operator: :+ └── depth: 0 diff --git a/test/prism/snapshots/whitequark/when_multi.txt b/test/prism/snapshots/whitequark/when_multi.txt index 7ce87216d974c9..06f4741de930f9 100644 --- a/test/prism/snapshots/whitequark/when_multi.txt +++ b/test/prism/snapshots/whitequark/when_multi.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,5)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,5)-(1,8) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,32)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -37,13 +37,13 @@ │ └── @ CallNode (location: (1,29)-(1,32)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,29)-(1,32) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,34)-(1,37) = "end" diff --git a/test/prism/snapshots/whitequark/when_splat.txt b/test/prism/snapshots/whitequark/when_splat.txt index 1d4186afebe1ce..0f373b842bb29b 100644 --- a/test/prism/snapshots/whitequark/when_splat.txt +++ b/test/prism/snapshots/whitequark/when_splat.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,5)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,5)-(1,8) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── conditions: (length: 2) │ ├── @ WhenNode (location: (1,10)-(1,27)) │ │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -27,26 +27,26 @@ │ │ │ @ CallNode (location: (1,19)-(1,22)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :baz │ │ │ ├── message_loc: (1,19)-(1,22) = "baz" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :baz + │ │ │ └── flags: variable_call │ │ └── statements: │ │ @ StatementsNode (location: (1,24)-(1,27)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,24)-(1,27)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :bar │ │ ├── message_loc: (1,24)-(1,27) = "bar" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :bar + │ │ └── flags: variable_call │ └── @ WhenNode (location: (1,29)-(1,38)) │ ├── keyword_loc: (1,29)-(1,33) = "when" │ ├── conditions: (length: 1) @@ -56,13 +56,13 @@ │ │ @ CallNode (location: (1,35)-(1,38)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,35)-(1,38) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── statements: ∅ ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/whitequark/when_then.txt b/test/prism/snapshots/whitequark/when_then.txt index 0f22ea602365f1..6d5ee2196ddeaa 100644 --- a/test/prism/snapshots/whitequark/when_then.txt +++ b/test/prism/snapshots/whitequark/when_then.txt @@ -8,13 +8,13 @@ │ @ CallNode (location: (1,5)-(1,8)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,5)-(1,8) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,29)) │ ├── keyword_loc: (1,10)-(1,14) = "when" @@ -31,13 +31,13 @@ │ └── @ CallNode (location: (1,26)-(1,29)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :bar │ ├── message_loc: (1,26)-(1,29) = "bar" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :bar + │ └── flags: variable_call ├── consequent: ∅ ├── case_keyword_loc: (1,0)-(1,4) = "case" └── end_keyword_loc: (1,31)-(1,34) = "end" diff --git a/test/prism/snapshots/whitequark/while.txt b/test/prism/snapshots/whitequark/while.txt index b1e56744323da1..1af1bf308800e5 100644 --- a/test/prism/snapshots/whitequark/while.txt +++ b/test/prism/snapshots/whitequark/while.txt @@ -10,26 +10,26 @@ │ │ @ CallNode (location: (1,6)-(1,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (1,6)-(1,9) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ ├── statements: │ │ @ StatementsNode (location: (1,13)-(1,17)) │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,13)-(1,17)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,13)-(1,17) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ └── flags: ∅ └── @ WhileNode (location: (3,0)-(3,19)) ├── keyword_loc: (3,0)-(3,5) = "while" @@ -38,24 +38,24 @@ │ @ CallNode (location: (3,6)-(3,9)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (3,6)-(3,9) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (3,11)-(3,15)) │ └── body: (length: 1) │ └── @ CallNode (location: (3,11)-(3,15)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (3,11)-(3,15) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/while_mod.txt b/test/prism/snapshots/whitequark/while_mod.txt index 0291ea39dd80ba..c612898fb47990 100644 --- a/test/prism/snapshots/whitequark/while_mod.txt +++ b/test/prism/snapshots/whitequark/while_mod.txt @@ -10,24 +10,24 @@ │ @ CallNode (location: (1,11)-(1,14)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,11)-(1,14) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (1,0)-(1,4)) │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,4)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :meth │ ├── message_loc: (1,0)-(1,4) = "meth" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :meth + │ └── flags: variable_call └── flags: ∅ diff --git a/test/prism/snapshots/whitequark/while_post.txt b/test/prism/snapshots/whitequark/while_post.txt index e98ffd5a9b46d9..1ddaf4ea31ec38 100644 --- a/test/prism/snapshots/whitequark/while_post.txt +++ b/test/prism/snapshots/whitequark/while_post.txt @@ -10,13 +10,13 @@ │ @ CallNode (location: (1,21)-(1,24)) │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ + │ ├── name: :foo │ ├── message_loc: (1,21)-(1,24) = "foo" │ ├── opening_loc: ∅ │ ├── arguments: ∅ │ ├── closing_loc: ∅ │ ├── block: ∅ - │ ├── flags: variable_call - │ └── name: :foo + │ └── flags: variable_call ├── statements: │ @ StatementsNode (location: (1,0)-(1,14)) │ └── body: (length: 1) @@ -28,13 +28,13 @@ │ │ └── @ CallNode (location: (1,6)-(1,10)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :meth │ │ ├── message_loc: (1,6)-(1,10) = "meth" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :meth + │ │ └── flags: variable_call │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ diff --git a/test/prism/snapshots/whitequark/xstring_interp.txt b/test/prism/snapshots/whitequark/xstring_interp.txt index 5a9d4468ed5721..d7bab053ee6b6f 100644 --- a/test/prism/snapshots/whitequark/xstring_interp.txt +++ b/test/prism/snapshots/whitequark/xstring_interp.txt @@ -20,13 +20,13 @@ │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :bar │ │ │ ├── message_loc: (1,6)-(1,9) = "bar" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :bar + │ │ │ └── flags: variable_call │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/yield.txt b/test/prism/snapshots/whitequark/yield.txt index 19de468ed1e3f8..e219e66be48f91 100644 --- a/test/prism/snapshots/whitequark/yield.txt +++ b/test/prism/snapshots/whitequark/yield.txt @@ -17,13 +17,13 @@ │ │ │ └── @ CallNode (location: (3,6)-(3,9)) │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ + │ │ │ ├── name: :foo │ │ │ ├── message_loc: (3,6)-(3,9) = "foo" │ │ │ ├── opening_loc: ∅ │ │ │ ├── arguments: ∅ │ │ │ ├── closing_loc: ∅ │ │ │ ├── block: ∅ - │ │ │ ├── flags: variable_call - │ │ │ └── name: :foo + │ │ │ └── flags: variable_call │ │ └── flags: ∅ │ └── rparen_loc: ∅ ├── @ YieldNode (location: (5,0)-(5,7)) @@ -40,12 +40,12 @@ │ │ └── @ CallNode (location: (7,6)-(7,9)) │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ + │ │ ├── name: :foo │ │ ├── message_loc: (7,6)-(7,9) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ ├── block: ∅ - │ │ ├── flags: variable_call - │ │ └── name: :foo + │ │ └── flags: variable_call │ └── flags: ∅ └── rparen_loc: (7,9)-(7,10) = ")" diff --git a/test/prism/snapshots/xstring.txt b/test/prism/snapshots/xstring.txt index 46b47ffac7a1fc..6cfa9a350e21de 100644 --- a/test/prism/snapshots/xstring.txt +++ b/test/prism/snapshots/xstring.txt @@ -25,13 +25,13 @@ │ │ │ │ └── @ CallNode (location: (3,7)-(3,10)) │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ + │ │ │ │ ├── name: :bar │ │ │ │ ├── message_loc: (3,7)-(3,10) = "bar" │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── arguments: ∅ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ ├── block: ∅ - │ │ │ │ ├── flags: variable_call - │ │ │ │ └── name: :bar + │ │ │ │ └── flags: variable_call │ │ │ └── closing_loc: (3,10)-(3,11) = "}" │ │ └── @ StringNode (location: (3,11)-(3,15)) │ │ ├── flags: ∅ diff --git a/test/resolv/test_dns.rb b/test/resolv/test_dns.rb index 9d243bbf502b09..d9db8408fd1ff7 100644 --- a/test/resolv/test_dns.rb +++ b/test/resolv/test_dns.rb @@ -374,7 +374,8 @@ def test_ipv6_to_s ["2001:db8::1", "2001:db8::0:1"], ["::", "0:0:0:0:0:0:0:0"], ["2001::", "2001::0"], - ["2001:db8::1:1:1:1:1", "2001:db8:0:1:1:1:1:1"], + ["2001:db8:0:1:1:1:1:1", "2001:db8:0:1:1:1:1:1"], # RFC 5952 Section 4.2.2. + ["2001:db8::1:1:1:1", "2001:db8:0:0:1:1:1:1"], ["1::1:0:0:0:1", "1:0:0:1:0:0:0:1"], ["1::1:0:0:1", "1:0:0:0:1:0:0:1"], ] diff --git a/test/resolv/test_svcb_https.rb b/test/resolv/test_svcb_https.rb new file mode 100644 index 00000000000000..5dc3163d9e18fd --- /dev/null +++ b/test/resolv/test_svcb_https.rb @@ -0,0 +1,231 @@ +# frozen_string_literal: false +require 'test/unit' +require 'resolv' + +class TestResolvSvcbHttps < Test::Unit::TestCase + # Wraps a RR in answer section + def wrap_rdata(rrtype, rrclass, rdata) + [ + "\x00\x00\x00\x00", # ID/FLAGS + [0, 1, 0, 0].pack('nnnn'), # QDCOUNT/ANCOUNT/NSCOUNT/ARCOUNT + "\x07example\x03com\x00", # NAME + [rrtype, rrclass, 0, rdata.bytesize].pack('nnNn'), # TYPE/CLASS/TTL/RDLENGTH + rdata, + ].join.b + end + + def test_svcparams + params = Resolv::DNS::SvcParams.new([Resolv::DNS::SvcParam::Mandatory.new([1])]) + + assert_equal 1, params.count + + params.add Resolv::DNS::SvcParam::NoDefaultALPN.new + params.add Resolv::DNS::SvcParam::ALPN.new(%w[h2 h3]) + + assert_equal 3, params.count + + assert_equal [1], params[:mandatory].keys + assert_equal [1], params[0].keys + + assert_equal %w[h2 h3], params[:alpn].protocol_ids + assert_equal %w[h2 h3], params[1].protocol_ids + + params.delete :mandatory + params.delete :alpn + + assert_equal 1, params.count + + assert_nil params[:mandatory] + assert_nil params[1] + + ary = params.each.to_a + + assert_instance_of Resolv::DNS::SvcParam::NoDefaultALPN, ary.first + end + + def test_svcb + rr = Resolv::DNS::Resource::IN::SVCB.new(0, 'example.com.') + + assert_equal 0, rr.priority + assert rr.alias_mode? + assert !rr.service_mode? + assert_equal Resolv::DNS::Name.create('example.com.'), rr.target + assert rr.params.empty? + + rr = Resolv::DNS::Resource::IN::SVCB.new(16, 'example.com.', [ + Resolv::DNS::SvcParam::ALPN.new(%w[h2 h3]), + ]) + + assert_equal 16, rr.priority + assert !rr.alias_mode? + assert rr.service_mode? + + assert_equal 1, rr.params.count + assert_instance_of Resolv::DNS::SvcParam::ALPN, rr.params[:alpn] + end + + def test_svcb_encode_order + msg = Resolv::DNS::Message.new(0) + msg.add_answer( + 'example.com.', 0, + Resolv::DNS::Resource::IN::SVCB.new(16, 'foo.example.org.', [ + Resolv::DNS::SvcParam::ALPN.new(%w[h2 h3-19]), + Resolv::DNS::SvcParam::Mandatory.new([4, 1]), + Resolv::DNS::SvcParam::IPv4Hint.new(['192.0.2.1']), + ]) + ) + + expected = wrap_rdata 64, 1, "\x00\x10\x03foo\x07example\x03org\x00" + + "\x00\x00\x00\x04\x00\x01\x00\x04" + + "\x00\x01\x00\x09\x02h2\x05h3-19" + + "\x00\x04\x00\x04\xc0\x00\x02\x01" + + assert_equal expected, msg.encode + end + + ## Test vectors from [RFC9460] + + def test_alias_mode + wire = wrap_rdata 65, 1, "\x00\x00\x03foo\x07example\x03com\x00" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 0, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.com.'), rr.target + assert_equal 0, rr.params.count + + assert_equal wire, msg.encode + end + + def test_target_name_is_root + wire = wrap_rdata 64, 1, "\x00\x01\x00" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 1, rr.priority + assert_equal Resolv::DNS::Name.create('.'), rr.target + assert_equal 0, rr.params.count + + assert_equal wire, msg.encode + end + + def test_specifies_port + wire = wrap_rdata 64, 1, "\x00\x10\x03foo\x07example\x03com\x00" + + "\x00\x03\x00\x02\x00\x35" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 16, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.com.'), rr.target + assert_equal 1, rr.params.count + assert_equal 53, rr.params[:port].port + + assert_equal wire, msg.encode + end + + def test_generic_key + wire = wrap_rdata 64, 1, "\x00\x01\x03foo\x07example\x03com\x00" + + "\x02\x9b\x00\x05hello" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 1, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.com.'), rr.target + assert_equal 1, rr.params.count + assert_equal 'hello', rr.params[:key667].value + + assert_equal wire, msg.encode + end + + def test_two_ipv6hints + wire = wrap_rdata 64, 1, "\x00\x01\x03foo\x07example\x03com\x00" + + "\x00\x06\x00\x20" + + ("\x20\x01\x0d\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" + + "\x20\x01\x0d\xb8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x53\x00\x01") + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 1, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.com.'), rr.target + assert_equal 1, rr.params.count + assert_equal [Resolv::IPv6.create('2001:db8::1'), Resolv::IPv6.create('2001:db8::53:1')], + rr.params[:ipv6hint].addresses + + assert_equal wire, msg.encode + end + + def test_ipv6hint_embedded_ipv4 + wire = wrap_rdata 64, 1, "\x00\x01\x07example\x03com\x00" + + "\x00\x06\x00\x10\x20\x01\x0d\xb8\x01\x22\x03\x44\x00\x00\x00\x00\xc0\x00\x02\x21" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 1, rr.priority + assert_equal Resolv::DNS::Name.create('example.com.'), rr.target + assert_equal 1, rr.params.count + assert_equal [Resolv::IPv6.create('2001:db8:122:344::192.0.2.33')], + rr.params[:ipv6hint].addresses + + assert_equal wire, msg.encode + end + + def test_mandatory_alpn_ipv4hint + wire = wrap_rdata 64, 1, "\x00\x10\x03foo\x07example\x03org\x00" + + "\x00\x00\x00\x04\x00\x01\x00\x04" + + "\x00\x01\x00\x09\x02h2\x05h3-19" + + "\x00\x04\x00\x04\xc0\x00\x02\x01" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 16, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.org.'), rr.target + assert_equal 3, rr.params.count + assert_equal [1, 4], rr.params[:mandatory].keys + assert_equal ['h2', 'h3-19'], rr.params[:alpn].protocol_ids + assert_equal [Resolv::IPv4.create('192.0.2.1')], rr.params[:ipv4hint].addresses + + assert_equal wire, msg.encode + end + + def test_alpn_comma_backslash + wire = wrap_rdata 64, 1, "\x00\x10\x03foo\x07example\x03org\x00" + + "\x00\x01\x00\x0c\x08f\\oo,bar\x02h2" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 16, rr.priority + assert_equal Resolv::DNS::Name.create('foo.example.org.'), rr.target + assert_equal 1, rr.params.count + assert_equal ['f\oo,bar', 'h2'], rr.params[:alpn].protocol_ids + + assert_equal wire, msg.encode + end + + ## For [RFC9461] + + def test_dohpath + wire = wrap_rdata 64, 1, "\x00\x01\x03one\x03one\x03one\x03one\x00" + + "\x00\x01\x00\x03\x02h2" + + "\x00\x03\x00\x02\x01\xbb" + + "\x00\x04\x00\x08\x01\x01\x01\x01\x01\x00\x00\x01" + + "\x00\x06\x00\x20" + + ("\x26\x06\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x11" + + "\x26\x06\x47\x00\x47\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x01") + + "\x00\x07\x00\x10/dns-query{?dns}" + msg = Resolv::DNS::Message.decode(wire) + _, _, rr = msg.answer.first + + assert_equal 1, rr.priority + assert_equal Resolv::DNS::Name.create('one.one.one.one.'), rr.target + assert_equal 5, rr.params.count + assert_equal ['h2'], rr.params[:alpn].protocol_ids + assert_equal 443, rr.params[:port].port + assert_equal [Resolv::IPv4.create('1.1.1.1'), Resolv::IPv4.create('1.0.0.1')], + rr.params[:ipv4hint].addresses + assert_equal [Resolv::IPv6.create('2606:4700:4700::1111'), Resolv::IPv6.create('2606:4700:4700::1001')], + rr.params[:ipv6hint].addresses + assert_equal '/dns-query{?dns}', rr.params[:dohpath].template + + assert_equal wire, msg.encode + end +end diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index 3b10244c96decd..aa140085f08989 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -417,6 +417,7 @@ def test_InterpolatedRegularExpressionNode def test_InterpolatedStringNode assert_prism_eval('$pit = 1; "1 #$pit 1"') assert_prism_eval('"1 #{1 + 2} 1"') + assert_prism_eval('"Prism" "::" "TestCompilePrism"') end def test_InterpolatedSymbolNode @@ -461,10 +462,6 @@ def test_RegularExpressionNode assert_prism_eval('2.times.map { /#{1}/o }') end - def test_StringConcatNode - assert_prism_eval('"Prism" "::" "TestCompilePrism"') - end - def test_StringNode assert_prism_eval('"pit"') end diff --git a/test/ruby/test_complex.rb b/test/ruby/test_complex.rb index edbdffd069ff7b..5cd17d9205683b 100644 --- a/test/ruby/test_complex.rb +++ b/test/ruby/test_complex.rb @@ -526,6 +526,71 @@ def test_expt r = c ** Rational(-2,3) assert_in_delta(0.432, r.real, 0.001) assert_in_delta(-0.393, r.imag, 0.001) + end + + def test_expt_for_special_angle + c = Complex(1, 0) ** 100000000000000000000000000000000 + assert_equal(Complex(1, 0), c) + + c = Complex(-1, 0) ** 10000000000000000000000000000000 + assert_equal(Complex(1, 0), c) + + c = Complex(-1, 0) ** 10000000000000000000000000000001 + assert_equal(Complex(-1, 0), c) + + c = Complex(0, 1) ** 100000000000000000000000000000000 + assert_equal(Complex(1, 0), c) + + c = Complex(0, 1) ** 100000000000000000000000000000001 + assert_equal(Complex(0, 1), c) + + c = Complex(0, 1) ** 100000000000000000000000000000002 + assert_equal(Complex(-1, 0), c) + + c = Complex(0, 1) ** 100000000000000000000000000000003 + assert_equal(Complex(0, -1), c) + + c = Complex(0, -1) ** 100000000000000000000000000000000 + assert_equal(Complex(1, 0), c) + + c = Complex(0, -1) ** 100000000000000000000000000000001 + assert_equal(Complex(0, -1), c) + + c = Complex(0, -1) ** 100000000000000000000000000000002 + assert_equal(Complex(-1, 0), c) + + c = Complex(0, -1) ** 100000000000000000000000000000003 + assert_equal(Complex(0, 1), c) + + c = Complex(1, 1) ** 1 + assert_equal(Complex(1, 1), c) + + c = Complex(1, 1) ** 2 + assert_equal(Complex(0, 2), c) + + c = Complex(1, 1) ** 3 + assert_equal(Complex(-2, 2), c) + + c = Complex(1, 1) ** 4 + assert_equal(Complex(-4, 0), c) + + c = Complex(1, 1) ** 5 + assert_equal(Complex(-4, -4), c) + + c = Complex(1, 1) ** 6 + assert_equal(Complex(0, -8), c) + + c = Complex(1, 1) ** 7 + assert_equal(Complex(8, -8), c) + + c = Complex(-2, -2) ** 3 + assert_equal(Complex(16, -16), c) + + c = Complex(2, -2) ** 3 + assert_equal(Complex(-16, -16), c) + + c = Complex(-2, 2) ** 3 + assert_equal(Complex(16, 16), c) c = Complex(0.0, -888888888888888.0)**8888 assert_not_predicate(c.real, :nan?) diff --git a/test/ruby/test_hash.rb b/test/ruby/test_hash.rb index a01f730904d105..639707d8eb66a4 100644 --- a/test/ruby/test_hash.rb +++ b/test/ruby/test_hash.rb @@ -178,6 +178,24 @@ def test_s_new assert_equal('default', h['spurious']) end + def test_st_literal_memory_leak + assert_no_memory_leak([], "", "#{<<~"begin;"}\n#{<<~'end;'}", rss: true) + begin; + 1_000_000.times do + # >8 element hashes are ST allocated rather than AR allocated + {a: 1, b: 2, c: 3, d: 4, e: 5, f: 6, g: 7, h: 8, i: 9} + end + end; + end + + def test_try_convert + assert_equal({1=>2}, Hash.try_convert({1=>2})) + assert_equal(nil, Hash.try_convert("1=>2")) + o = Object.new + def o.to_hash; {3=>4} end + assert_equal({3=>4}, Hash.try_convert(o)) + end + def test_AREF # '[]' t = Time.now h = @cls[ @@ -351,6 +369,10 @@ def test_delete_if end end assert_equal(base.dup, h) + + h = base.dup + assert_same h, h.delete_if {h.assoc(nil); true} + assert_empty h end def test_keep_if @@ -2272,4 +2294,13 @@ def test_any_hash_fixable end; end end + + def test_compare_by_identity_during_iteration + h = { 1 => 1 } + h.each do + assert_raise(RuntimeError, "compare_by_identity during iteration") do + h.compare_by_identity + end + end + end end diff --git a/test/ruby/test_shapes.rb b/test/ruby/test_shapes.rb index 6efcbbf101cee2..7919a210a78b65 100644 --- a/test/ruby/test_shapes.rb +++ b/test/ruby/test_shapes.rb @@ -191,12 +191,7 @@ class TooComplex < Hash attr_reader :very_unique end - obj = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - obj.instance_variable_set(:"@a#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes (RubyVM::Shape::SHAPE_MAX_VARIATIONS * 2).times do TooComplex.new.instance_variable_set(:"@unique_#{_1}", 1) @@ -216,13 +211,7 @@ def test_use_all_shapes_then_freeze assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; class Hi; end - - obj = Hi.new - i = 0 - while RubyVM::Shape.shapes_available > 2 - obj.instance_variable_set(:"@a#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes(3) obj = Hi.new i = 0 @@ -243,26 +232,16 @@ def initialize @a = 1 end end - # Try to run out of shapes - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - A.new - end + RubyVM::Shape.exhaust_shapes + + A.new end; end def test_run_out_of_shape_for_class_ivar assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; - i = 0 - while RubyVM::Shape.shapes_available > 0 - c = Class.new - c.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes c = Class.new c.instance_variable_set(:@a, 1) @@ -277,17 +256,91 @@ def test_run_out_of_shape_for_class_ivar end; end + def test_evacuate_class_ivar_and_compaction + assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") + begin; + count = 20 + + c = Class.new + count.times do |ivar| + c.instance_variable_set("@i#{ivar}", "ivar-#{ivar}") + end + + RubyVM::Shape.exhaust_shapes + + GC.auto_compact = true + GC.stress = true + # Cause evacuation + c.instance_variable_set(:@a, o = Object.new) + assert_equal(o, c.instance_variable_get(:@a)) + GC.stress = false + + count.times do |ivar| + assert_equal "ivar-#{ivar}", c.instance_variable_get("@i#{ivar}") + end + end; + end + + def test_evacuate_generic_ivar_and_compaction + assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") + begin; + count = 20 + + c = Hash.new + count.times do |ivar| + c.instance_variable_set("@i#{ivar}", "ivar-#{ivar}") + end + + RubyVM::Shape.exhaust_shapes + + GC.auto_compact = true + GC.stress = true + + # Cause evacuation + c.instance_variable_set(:@a, o = Object.new) + assert_equal(o, c.instance_variable_get(:@a)) + + GC.stress = false + + count.times do |ivar| + assert_equal "ivar-#{ivar}", c.instance_variable_get("@i#{ivar}") + end + end; + end + + def test_evacuate_object_ivar_and_compaction + assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") + begin; + count = 20 + + c = Object.new + count.times do |ivar| + c.instance_variable_set("@i#{ivar}", "ivar-#{ivar}") + end + + RubyVM::Shape.exhaust_shapes + + GC.auto_compact = true + GC.stress = true + + # Cause evacuation + c.instance_variable_set(:@a, o = Object.new) + assert_equal(o, c.instance_variable_get(:@a)) + + GC.stress = false + + count.times do |ivar| + assert_equal "ivar-#{ivar}", c.instance_variable_get("@i#{ivar}") + end + end; + end + def test_gc_stress_during_evacuate_generic_ivar assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; [].instance_variable_set(:@a, 1) - i = 0 - o = Object.new - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes ary = 10.times.map { [] } @@ -302,12 +355,7 @@ def test_gc_stress_during_evacuate_generic_ivar def test_run_out_of_shape_for_module_ivar assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes module Foo @a = 1 @@ -321,12 +369,7 @@ module Foo def test_run_out_of_shape_for_class_cvar assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; - i = 0 - while RubyVM::Shape.shapes_available > 0 - c = Class.new - c.class_variable_set(:"@@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes c = Class.new @@ -348,13 +391,7 @@ def test_run_out_of_shape_generic_instance_variable_set class TooComplex < Hash end - # Try to run out of shapes - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes tc = TooComplex.new tc.instance_variable_set(:@a, 1) @@ -387,15 +424,10 @@ def transition a = Hi.new # Try to run out of shapes - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes - assert_equal 1,a.transition - assert_equal 1,a.transition + assert_equal 1, a.transition + assert_equal 1, a.transition end; end @@ -409,12 +441,7 @@ def initialize end end - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes a = A.new assert_equal true, a.instance_variable_defined?(:@a) @@ -424,12 +451,7 @@ def initialize def test_run_out_of_shape_instance_variable_defined_on_module assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes module A @a = @b = @c = @d = 1 @@ -445,12 +467,7 @@ def test_run_out_of_shape_during_remove_instance_variable o = Object.new 10.times { |i| o.instance_variable_set(:"@a#{i}", i) } - i = 0 - a = Object.new - while RubyVM::Shape.shapes_available > 2 - a.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes o.remove_instance_variable(:@a0) (1...10).each do |i| @@ -471,12 +488,7 @@ def initialize a = A.new - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes a.remove_instance_variable(:@b) assert_nil a.b @@ -506,28 +518,37 @@ def init a = A.new - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 1 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes a.dup end; end + def test_evacuate_generic_ivar_memory_leak + assert_no_memory_leak([], "#{<<~'begin;'}", "#{<<~'end;'}", rss: true) + o = [] + o.instance_variable_set(:@a, 1) + + RubyVM::Shape.exhaust_shapes + + ary = 1_000_000.times.map { [] } + begin; + ary.each do |o| + o.instance_variable_set(:@a, 1) + o.instance_variable_set(:@b, 1) + end + ary.clear + ary = nil + GC.start + end; + end + def test_use_all_shapes_module assert_separately([], "#{<<~"begin;"}\n#{<<~'end;'}") begin; class Hi; end - obj = Hi.new - i = 0 - while RubyVM::Shape.shapes_available > 2 - obj.instance_variable_set(:"@a#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes(2) obj = Module.new 3.times do @@ -547,12 +568,7 @@ def test_complex_freeze_after_clone begin; class Hi; end - obj = Hi.new - i = 0 - while RubyVM::Shape.shapes_available > 2 - obj.instance_variable_set(:"@a#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes(2) obj = Object.new i = 0 @@ -724,12 +740,7 @@ def test_remove_instance_variable_when_out_of_shapes end assert_equal [0, 1, 2, 3, 4], ivars - o = Object.new - i = 0 - while RubyVM::Shape.shapes_available > 0 - o.instance_variable_set(:"@i#{i}", 1) - i += 1 - end + RubyVM::Shape.exhaust_shapes object.remove_instance_variable(:@ivar_2) diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 8e960ee535610e..e78d30148c4801 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -1727,6 +1727,11 @@ def test_value_expr_in_condition assert_valid_syntax("tap {a = (break unless true)}") end + def test_value_expr_in_singleton + mesg = /void value expression/ + assert_syntax_error("class << (return); end", mesg) + end + def test_tautological_condition assert_valid_syntax("def f() return if false and invalid; nil end") assert_valid_syntax("def f() return unless true or invalid; nil end") diff --git a/thread.c b/thread.c index 0d0d32efe62f8e..c23c847444f84a 100644 --- a/thread.c +++ b/thread.c @@ -4710,16 +4710,14 @@ struct thgroup { int enclosed; }; -static size_t -thgroup_memsize(const void *ptr) -{ - return sizeof(struct thgroup); -} - static const rb_data_type_t thgroup_data_type = { "thgroup", - {0, RUBY_TYPED_DEFAULT_FREE, thgroup_memsize,}, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + { + 0, + RUBY_TYPED_DEFAULT_FREE, + NULL, // No external memory to report + }, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; /* diff --git a/time.c b/time.c index 3a50fb4318a875..5dc0b2d4e6d5fc 100644 --- a/time.c +++ b/time.c @@ -1841,15 +1841,13 @@ time_mark(void *ptr) rb_gc_mark(tobj->vtm.zone); } -static size_t -time_memsize(const void *tobj) -{ - return 0; -} - static const rb_data_type_t time_data_type = { "time", - {time_mark, RUBY_TYPED_DEFAULT_FREE, time_memsize,}, + { + time_mark, + RUBY_TYPED_DEFAULT_FREE, + NULL, // No external memory to report, + }, 0, 0, (RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_FROZEN_SHAREABLE | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE), }; diff --git a/tool/rbs_skip_tests b/tool/rbs_skip_tests index 30272efc0d132c..68b19085a073cc 100644 --- a/tool/rbs_skip_tests +++ b/tool/rbs_skip_tests @@ -21,12 +21,6 @@ test_collection_install(RBS::CliTest) running tests without Bundler test_collection_install_frozen(RBS::CliTest) running tests without Bundler test_collection_install_gemspec(RBS::CliTest) running tests without Bundler test_collection_update(RBS::CliTest) running tests without Bundler -test_diff_diff(RBS::CliTest) running tests without Bundler -test_diff_markdown(RBS::CliTest) running tests without Bundler -test_subtract(RBS::CliTest) running tests without Bundler -test_subtract_several_subtrahends(RBS::CliTest) running tests without Bundler -test_subtract_write(RBS::CliTest) running tests without Bundler -test_subtract_write_removes_definition_if_empty(RBS::CliTest) running tests without Bundler test_TOPDIR(RbConfigSingletonTest) `TOPDIR` is `nil` during CI while RBS type is declared as `String` diff --git a/variable.c b/variable.c index 4ca1948b112169..38084537d4e91b 100644 --- a/variable.c +++ b/variable.c @@ -1420,7 +1420,23 @@ rb_obj_convert_to_too_complex(VALUE obj, st_table *table) RB_VM_LOCK_ENTER(); { struct st_table *gen_ivs = generic_ivtbl_no_ractor_check(obj); - st_lookup(gen_ivs, (st_data_t)&obj, (st_data_t *)&old_ivptr); + + struct gen_ivtbl *old_ivtbl = NULL; + st_lookup(gen_ivs, (st_data_t)obj, (st_data_t *)&old_ivtbl); + + if (old_ivtbl) { + /* We need to modify old_ivtbl to have the too complex shape + * and hold the table because the xmalloc could trigger a GC + * compaction. We want the table to be updated rather than than + * the original ivptr. */ +#if SHAPE_IN_BASIC_FLAGS + rb_shape_set_shape_id(obj, OBJ_TOO_COMPLEX_SHAPE_ID); +#else + old_ivtbl->shape_id = OBJ_TOO_COMPLEX_SHAPE_ID; +#endif + old_ivtbl->as.complex.table = table; + old_ivptr = (VALUE *)old_ivtbl; + } struct gen_ivtbl *ivtbl = xmalloc(sizeof(struct gen_ivtbl)); ivtbl->as.complex.table = table; @@ -1668,7 +1684,9 @@ rb_ensure_iv_list_size(VALUE obj, uint32_t current_capacity, uint32_t new_capaci int rb_obj_copy_ivs_to_hash_table_i(ID key, VALUE val, st_data_t arg) { - st_insert((st_table *)arg, (st_data_t)key, (st_data_t)val); + RUBY_ASSERT(!st_lookup((st_table *)arg, (st_data_t)key, NULL)); + + st_add_direct((st_table *)arg, (st_data_t)key, (st_data_t)val); return ST_CONTINUE; } @@ -2128,41 +2146,10 @@ rb_ivar_count(VALUE obj) switch (BUILTIN_TYPE(obj)) { case T_OBJECT: - if (rb_shape_obj_too_complex(obj)) { - return ROBJECT_IV_COUNT(obj); - } - - if (rb_shape_get_shape(obj)->next_iv_index > 0) { - st_index_t i, count, num = ROBJECT_IV_COUNT(obj); - const VALUE *const ivptr = ROBJECT_IVPTR(obj); - for (i = count = 0; i < num; ++i) { - if (!UNDEF_P(ivptr[i])) { - count++; - } - } - return count; - } - break; + return ROBJECT_IV_COUNT(obj); case T_CLASS: case T_MODULE: - if (rb_shape_get_shape(obj)->next_iv_index > 0) { - st_index_t count = 0; - - RB_VM_LOCK_ENTER(); - { - st_index_t i, num = rb_shape_get_shape(obj)->next_iv_index; - const VALUE *const ivptr = RCLASS_IVPTR(obj); - for (i = count = 0; i < num; ++i) { - if (!UNDEF_P(ivptr[i])) { - count++; - } - } - } - RB_VM_LOCK_LEAVE(); - - return count; - } - break; + return RCLASS_IV_COUNT(obj); default: if (FL_TEST(obj, FL_EXIVAR)) { struct gen_ivtbl *ivtbl; diff --git a/vm_backtrace.c b/vm_backtrace.c index c411a4b08b6c47..0d55eae0420718 100644 --- a/vm_backtrace.c +++ b/vm_backtrace.c @@ -159,15 +159,13 @@ location_mark_entry(rb_backtrace_location_t *fi) } } -static size_t -location_memsize(const void *ptr) -{ - return 0; -} - static const rb_data_type_t location_data_type = { "frame_info", - {location_mark, RUBY_TYPED_DEFAULT_FREE, location_memsize,}, + { + location_mark, + RUBY_TYPED_DEFAULT_FREE, + NULL, // No external memory to report, + }, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; @@ -503,15 +501,14 @@ backtrace_update(void *ptr) bt->locary = rb_gc_location(bt->locary); } -static size_t -backtrace_memsize(const void *ptr) -{ - return 0; -} - static const rb_data_type_t backtrace_data_type = { "backtrace", - {backtrace_mark, RUBY_DEFAULT_FREE, backtrace_memsize, backtrace_update}, + { + backtrace_mark, + RUBY_DEFAULT_FREE, + NULL, // No external memory to report, + backtrace_update, + }, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; diff --git a/vm_core.h b/vm_core.h index c3064a1398f2af..70fcea74b63fc3 100644 --- a/vm_core.h +++ b/vm_core.h @@ -923,13 +923,13 @@ typedef rb_jmpbuf_t *rb_vm_tag_jmpbuf_t; static inline void rb_vm_tag_jmpbuf_init(rb_vm_tag_jmpbuf_t *jmpbuf) { - *jmpbuf = malloc(sizeof(rb_jmpbuf_t)); + *jmpbuf = ruby_xmalloc(sizeof(rb_jmpbuf_t)); } static inline void rb_vm_tag_jmpbuf_deinit(const rb_vm_tag_jmpbuf_t *jmpbuf) { - free(*jmpbuf); + ruby_xfree(*jmpbuf); } #else typedef rb_jmpbuf_t rb_vm_tag_jmpbuf_t; diff --git a/vm_dump.c b/vm_dump.c index 970c037edc41a8..444be4a4f3c300 100644 --- a/vm_dump.c +++ b/vm_dump.c @@ -753,6 +753,14 @@ dump_thread(void *arg) frame.AddrFrame.Offset = context.Rbp; frame.AddrStack.Mode = AddrModeFlat; frame.AddrStack.Offset = context.Rsp; +#elif defined(__aarch64__) + mac = IMAGE_FILE_MACHINE_ARM64; + frame.AddrPC.Mode = AddrModeFlat; + frame.AddrPC.Offset = context.Pc; + frame.AddrFrame.Mode = AddrModeFlat; + frame.AddrFrame.Offset = context.Fp; + frame.AddrStack.Mode = AddrModeFlat; + frame.AddrStack.Offset = context.Sp; #else /* i386 */ mac = IMAGE_FILE_MACHINE_I386; frame.AddrPC.Mode = AddrModeFlat; diff --git a/vm_insnhelper.c b/vm_insnhelper.c index 0b73223f4ee6ec..910cdd8647813b 100644 --- a/vm_insnhelper.c +++ b/vm_insnhelper.c @@ -1380,47 +1380,19 @@ vm_setivar_slowpath(VALUE obj, ID id, VALUE val, const rb_iseq_t *iseq, IVC ic, #if OPT_IC_FOR_IVAR RB_DEBUG_COUNTER_INC(ivar_set_ic_miss); - switch (BUILTIN_TYPE(obj)) { - case T_OBJECT: - { - rb_check_frozen_internal(obj); + if (BUILTIN_TYPE(obj) == T_OBJECT) { + rb_check_frozen_internal(obj); - attr_index_t index = rb_obj_ivar_set(obj, id, val); + attr_index_t index = rb_obj_ivar_set(obj, id, val); - shape_id_t next_shape_id = ROBJECT_SHAPE_ID(obj); - - if (next_shape_id != OBJ_TOO_COMPLEX_SHAPE_ID) { - populate_cache(index, next_shape_id, id, iseq, ic, cc, is_attr); - } + shape_id_t next_shape_id = ROBJECT_SHAPE_ID(obj); - RB_DEBUG_COUNTER_INC(ivar_set_obj_miss); - return val; + if (next_shape_id != OBJ_TOO_COMPLEX_SHAPE_ID) { + populate_cache(index, next_shape_id, id, iseq, ic, cc, is_attr); } - case T_CLASS: - case T_MODULE: - break; - default: - { - rb_ivar_set(obj, id, val); - shape_id_t next_shape_id = rb_shape_get_shape_id(obj); - if (next_shape_id != OBJ_TOO_COMPLEX_SHAPE_ID) { - rb_shape_t *next_shape = rb_shape_get_shape_by_id(next_shape_id); - attr_index_t index; - - if (rb_shape_get_iv_index(next_shape, id, &index)) { // based off the hash stored in the transition tree - if (index >= MAX_IVARS) { - rb_raise(rb_eArgError, "too many instance variables"); - } - - populate_cache(index, next_shape_id, id, iseq, ic, cc, is_attr); - } - else { - rb_bug("vm_setivar_slowpath: didn't find ivar %s in shape", rb_id2name(id)); - } - } - return val; - } + RB_DEBUG_COUNTER_INC(ivar_set_obj_miss); + return val; } #endif return rb_ivar_set(obj, id, val); diff --git a/vm_trace.c b/vm_trace.c index 8e400149af1884..51fdcd94d184f1 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -780,16 +780,14 @@ tp_mark(void *ptr) if (tp->target_th) rb_gc_mark(tp->target_th->self); } -static size_t -tp_memsize(const void *ptr) -{ - return sizeof(rb_tp_t); -} - static const rb_data_type_t tp_data_type = { "tracepoint", - {tp_mark, RUBY_TYPED_DEFAULT_FREE, tp_memsize,}, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY + { + tp_mark, + RUBY_TYPED_DEFAULT_FREE, + NULL, // Nothing allocated externally, so don't need a memsize function + }, + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; static VALUE @@ -1245,7 +1243,7 @@ rb_tracepoint_enable_for_target(VALUE tpval, VALUE target, VALUE target_line) } VM_ASSERT(tp->local_target_set == Qfalse); - tp->local_target_set = rb_obj_hide(rb_ident_hash_new()); + RB_OBJ_WRITE(tpval, &tp->local_target_set, rb_obj_hide(rb_ident_hash_new())); /* bmethod */ if (rb_obj_is_method(target)) { @@ -1316,7 +1314,7 @@ rb_tracepoint_disable(VALUE tpval) if (tp->local_target_set) { rb_hash_foreach(tp->local_target_set, disable_local_event_iseq_i, tpval); - tp->local_target_set = Qfalse; + RB_OBJ_WRITE(tpval, &tp->local_target_set, Qfalse); ruby_vm_event_local_num--; } else { @@ -1383,6 +1381,9 @@ tracepoint_enable_m(rb_execution_context_t *ec, VALUE tpval, VALUE target, VALUE rb_raise(rb_eArgError, "can not override target_thread filter"); } tp->target_th = rb_thread_ptr(target_thread); + + RUBY_ASSERT(tp->target_th->self == target_thread); + RB_OBJ_WRITTEN(tpval, Qundef, target_thread); } else { tp->target_th = NULL; @@ -1450,7 +1451,7 @@ tracepoint_new(VALUE klass, rb_thread_t *target_th, rb_event_flag_t events, void rb_tp_t *tp; TypedData_Get_Struct(tpval, rb_tp_t, &tp_data_type, tp); - tp->proc = proc; + RB_OBJ_WRITE(tpval, &tp->proc, proc); tp->ractor = rb_ractor_shareable_p(proc) ? NULL : GET_RACTOR(); tp->func = func; tp->data = data; diff --git a/wasm/runtime.c b/wasm/runtime.c index b5b0a1a9660f46..89b06be6ade5b0 100644 --- a/wasm/runtime.c +++ b/wasm/runtime.c @@ -19,6 +19,13 @@ int rb_wasm_rt_start(int (main)(int argc, char **argv), int argc, char **argv) { result = main(argc, argv); } + extern void *rb_asyncify_unwind_buf; + // Exit Asyncify loop if there is no unwound buffer, which + // means that main function has returned normally. + if (rb_asyncify_unwind_buf == NULL) { + break; + } + // NOTE: it's important to call 'asyncify_stop_unwind' here instead in rb_wasm_handle_jmp_unwind // because unless that, Asyncify inserts another unwind check here and it unwinds to the root frame. asyncify_stop_unwind(); diff --git a/wasm/setjmp.c b/wasm/setjmp.c index 198d210bbf9616..ebbf8949c1ecf7 100644 --- a/wasm/setjmp.c +++ b/wasm/setjmp.c @@ -101,7 +101,6 @@ _rb_wasm_setjmp_internal(rb_wasm_jmp_buf *env) asyncify_stop_rewind(); RB_WASM_DEBUG_LOG(" JMP_BUF_STATE_RETURNING"); env->state = JMP_BUF_STATE_CAPTURED; - free(env->longjmp_buf_ptr); _rb_wasm_active_jmpbuf = NULL; return env->payload; } @@ -119,7 +118,10 @@ _rb_wasm_longjmp(rb_wasm_jmp_buf* env, int value) assert(value != 0); env->state = JMP_BUF_STATE_RETURNING; env->payload = value; - env->longjmp_buf_ptr = malloc(sizeof(struct __rb_wasm_asyncify_jmp_buf)); + // Asyncify buffer built during unwinding for longjmp will not + // be used to rewind, so re-use static-variable. + static struct __rb_wasm_asyncify_jmp_buf tmp_longjmp_buf; + env->longjmp_buf_ptr = &tmp_longjmp_buf; _rb_wasm_active_jmpbuf = env; async_buf_init(env->longjmp_buf_ptr); asyncify_start_unwind(env->longjmp_buf_ptr); diff --git a/weakmap.c b/weakmap.c index 3607d9919a1d5a..8103ad4fdcc667 100644 --- a/weakmap.c +++ b/weakmap.c @@ -91,7 +91,6 @@ wmap_free(void *ptr) st_foreach(w->table, wmap_free_table_i, 0); st_free_table(w->table); - xfree(w); } static size_t @@ -99,7 +98,7 @@ wmap_memsize(const void *ptr) { const struct weakmap *w = ptr; - size_t size = sizeof(*w); + size_t size = 0; size += st_memsize(w->table); /* The key and value of the table each take sizeof(VALUE) in size. */ size += st_table_size(w->table) * (2 * sizeof(VALUE)); @@ -159,7 +158,7 @@ static const rb_data_type_t weakmap_type = { wmap_memsize, wmap_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; static int @@ -579,7 +578,6 @@ wkmap_free(void *ptr) st_foreach(w->table, wkmap_free_table_i, 0); st_free_table(w->table); - xfree(w); } static size_t @@ -587,7 +585,7 @@ wkmap_memsize(const void *ptr) { const struct weakkeymap *w = ptr; - size_t size = sizeof(*w); + size_t size = 0; size += st_memsize(w->table); /* Each key of the table takes sizeof(VALUE) in size. */ size += st_table_size(w->table) * sizeof(VALUE); @@ -641,7 +639,7 @@ static const rb_data_type_t weakkeymap_type = { wkmap_memsize, wkmap_compact, }, - 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED + 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_EMBEDDABLE }; static int diff --git a/win32/mkexports.rb b/win32/mkexports.rb index 28899089422f3a..dd0fbf6313154f 100755 --- a/win32/mkexports.rb +++ b/win32/mkexports.rb @@ -151,7 +151,7 @@ def exports(*) end def each_line(objs, &block) - IO.foreach("|#{self.class.nm} --extern --defined #{objs.join(' ')}", &block) + IO.foreach("|#{self.class.nm} --extern-only --defined-only #{objs.join(' ')}", &block) end def each_export(objs) diff --git a/win32/win32.c b/win32/win32.c index 80fb30de43b09a..c51d53595fc70e 100644 --- a/win32/win32.c +++ b/win32/win32.c @@ -2615,9 +2615,73 @@ set_pioinfo_extra(void) * * https://bugs.ruby-lang.org/issues/18605 */ char *p = (char*)get_proc_address(UCRTBASE, "_isatty", NULL); - char *pend = p; /* _osfile(fh) & FDEV */ +#ifdef _M_ARM64 +#define IS_INSN(pc, name) ((*(pc) & name##_mask) == name##_id) + const int max_num_inst = 500; + uint32_t *start = (uint32_t*)p; + uint32_t *end_limit = (start + max_num_inst); + uint32_t *pc = start; + + if (!p) { + fprintf(stderr, "_isatty proc not found in " UCRTBASE "\n"); + _exit(1); + } + + /* end of function */ + const uint32_t ret_id = 0xd65f0000; + const uint32_t ret_mask = 0xfffffc1f; + for(; pc < end_limit; pc++) { + if (IS_INSN(pc, ret)) { + break; + } + } + if (pc == end_limit) { + fprintf(stderr, "end of _isatty not found in " UCRTBASE "\n"); + _exit(1); + } + + /* pioinfo instruction mark */ + const uint32_t adrp_id = 0x90000000; + const uint32_t adrp_mask = 0x9f000000; + const uint32_t add_id = 0x11000000; + const uint32_t add_mask = 0x3fc00000; + for(; pc > start; pc--) { + if (IS_INSN(pc, adrp) && IS_INSN(pc + 1, add)) { + break; + } + } + if(pc == start) { + fprintf(stderr, "pioinfo mark not found in " UCRTBASE "\n"); + _exit(1); + } + + /* We now point to instructions that load address of __pioinfo: + * adrp x8, 0x1801d8000 + * add x8, x8, #0xdb0 + * https://devblogs.microsoft.com/oldnewthing/20220809-00/?p=106955 + * The last adrp/add sequence before ret is what we are looking for. + */ + const uint32_t adrp_insn = *pc; + const uint32_t adrp_immhi = (adrp_insn & 0x00ffffe0) >> 5; + const uint32_t adrp_immlo = (adrp_insn & 0x60000000) >> (5 + 19 + 5); + /* imm = immhi:immlo:Zeros(12), 64 */ + const uint64_t adrp_imm = ((adrp_immhi << 2) | adrp_immlo) << 12; + /* base = PC64<63:12>:Zeros(12) */ + const uint64_t adrp_base = (uint64_t)pc & 0xfffffffffffff000; + + const uint32_t add_insn = *(pc + 1); + const uint32_t add_sh = (add_insn & 0x400000) >> (12 + 5 + 5); + /* case sh of + when '0' imm = ZeroExtend(imm12, datasize); + when '1' imm = ZeroExtend(imm12:Zeros(12), datasize); */ + const uint64_t add_imm = ((add_insn & 0x3ffc00) >> (5 + 5)) << (add_sh ? 12 : 0); + + __pioinfo = (ioinfo**)(adrp_base + adrp_imm + add_imm); +#else /* _M_ARM64 */ + char *pend = p; + # ifdef _WIN64 int32_t rel; char *rip; @@ -2667,7 +2731,8 @@ set_pioinfo_extra(void) #else __pioinfo = *(ioinfo***)(p); #endif -#endif +#endif /* _M_ARM64 */ +#endif /* RUBY_MSVCRT_VERSION */ int fd; fd = _open("NUL", O_RDONLY); diff --git a/yjit.rb b/yjit.rb index 45552ca2aba151..8691a43cd6ee8e 100644 --- a/yjit.rb +++ b/yjit.rb @@ -304,7 +304,8 @@ def _print_stats(out: $stderr) # :nodoc: out.puts "num_send_dynamic: " + format_number_pct(13, stats[:num_send_dynamic], stats[:num_send]) out.puts "num_send_inline: " + format_number_pct(13, stats[:num_send_inline], stats[:num_send]) out.puts "num_send_leaf_builtin: " + format_number_pct(13, stats[:num_send_leaf_builtin], stats[:num_send]) - out.puts "num_send_known_cfunc: " + format_number_pct(13, stats[:num_send_known_cfunc], stats[:num_send]) + out.puts "num_send_cfunc: " + format_number_pct(13, stats[:num_send_cfunc], stats[:num_send]) + out.puts "num_send_cfunc_inline: " + format_number_pct(13, stats[:num_send_cfunc_inline], stats[:num_send_cfunc]) if stats[:num_send_x86_rel32] != 0 || stats[:num_send_x86_reg] != 0 out.puts "num_send_x86_rel32: " + format_number(13, stats[:num_send_x86_rel32]) out.puts "num_send_x86_reg: " + format_number(13, stats[:num_send_x86_reg]) diff --git a/yjit/src/backend/arm64/mod.rs b/yjit/src/backend/arm64/mod.rs index f09a07e571ecff..7cd2449e734a65 100644 --- a/yjit/src/backend/arm64/mod.rs +++ b/yjit/src/backend/arm64/mod.rs @@ -564,6 +564,7 @@ impl Assembler // If we're attempting to load into a memory operand, then // we'll switch over to the store instruction. (Opnd::Mem(_), _) => { + let opnd0 = split_memory_address(asm, *dest); let value = match *src { // If the first operand is zero, then we can just use // the zero register. @@ -579,7 +580,6 @@ impl Assembler _ => split_bitmask_immediate(asm, *src, dest.rm_num_bits()) }; - let opnd0 = split_memory_address(asm, *dest); asm.store(opnd0, value); }, // If we're loading a memory operand into a register, then diff --git a/yjit/src/backend/x86_64/mod.rs b/yjit/src/backend/x86_64/mod.rs index 8d0f70e1338711..55bec66565ff7a 100644 --- a/yjit/src/backend/x86_64/mod.rs +++ b/yjit/src/backend/x86_64/mod.rs @@ -32,7 +32,7 @@ pub const _C_RET_OPND: Opnd = Opnd::Reg(RAX_REG); impl CodeBlock { // The number of bytes that are generated by jmp_ptr - pub fn jmp_ptr_bytes(&self) -> usize { 6 } + pub fn jmp_ptr_bytes(&self) -> usize { 5 } } /// Map Opnd to X86Opnd diff --git a/yjit/src/codegen.rs b/yjit/src/codegen.rs index 1d264ccb49b1b6..7846635e718399 100644 --- a/yjit/src/codegen.rs +++ b/yjit/src/codegen.rs @@ -5398,6 +5398,8 @@ fn gen_send_cfunc( return None; } + gen_counter_incr(asm, Counter::num_send_cfunc); + // Delegate to codegen for C methods if we have it. if kw_arg.is_null() && flags & VM_CALL_OPT_SEND == 0 && flags & VM_CALL_ARGS_SPLAT == 0 && (cfunc_argc == -1 || argc == cfunc_argc) { let codegen_p = lookup_cfunc_codegen(unsafe { (*cme).def }); @@ -5405,7 +5407,7 @@ fn gen_send_cfunc( if let Some(known_cfunc_codegen) = codegen_p { if known_cfunc_codegen(jit, asm, ocb, ci, cme, block, argc, recv_known_klass) { assert_eq!(expected_stack_after, asm.ctx.get_stack_size() as i32); - gen_counter_incr(asm, Counter::num_send_known_cfunc); + gen_counter_incr(asm, Counter::num_send_cfunc_inline); // cfunc codegen generated code. Terminate the block so // there isn't multiple calls in the same block. jump_to_next_insn(jit, asm, ocb); @@ -5433,7 +5435,6 @@ fn gen_send_cfunc( argc - kw_arg_num + 1 }; - // If the argument count doesn't match if cfunc_argc >= 0 && cfunc_argc != passed_argc && flags & VM_CALL_ARGS_SPLAT == 0 { gen_counter_incr(asm, Counter::send_cfunc_argc_mismatch); diff --git a/yjit/src/invariants.rs b/yjit/src/invariants.rs index 2c1d0858726a58..cffdfff117c2da 100644 --- a/yjit/src/invariants.rs +++ b/yjit/src/invariants.rs @@ -526,14 +526,15 @@ pub extern "C" fn rb_yjit_tracing_invalidate_all() { for patch in &patches { assert!(last_patch_end <= patch.inline_patch_pos.raw_ptr(cb), "patches should not overlap"); - let mut asm = crate::backend::ir::Assembler::new(); - asm.jmp(patch.outlined_target_pos.as_side_exit()); - cb.set_write_ptr(patch.inline_patch_pos); cb.set_dropped_bytes(false); - if asm.compile(cb, None).is_none() { - panic!("Failed to apply patch at {:?}", patch.inline_patch_pos); - } + cb.without_page_end_reserve(|cb| { + let mut asm = crate::backend::ir::Assembler::new(); + asm.jmp(patch.outlined_target_pos.as_side_exit()); + if asm.compile(cb, None).is_none() { + panic!("Failed to apply patch at {:?}", patch.inline_patch_pos); + } + }); last_patch_end = cb.get_write_ptr().raw_ptr(cb); } cb.set_pos(old_pos); diff --git a/yjit/src/options.rs b/yjit/src/options.rs index fc4ffc64091121..ceeeb66e86b0d6 100644 --- a/yjit/src/options.rs +++ b/yjit/src/options.rs @@ -1,4 +1,4 @@ -use std::{ffi::{CStr, CString}, ptr::null}; +use std::{ffi::{CStr, CString}, ptr::null, fs::File}; use crate::backend::current::TEMP_REGS; use std::os::raw::{c_char, c_int, c_uint}; @@ -230,10 +230,14 @@ pub fn parse_option(str_ptr: *const std::os::raw::c_char) -> Option<()> { ("dump-disasm", _) => match opt_val { "" => unsafe { OPTIONS.dump_disasm = Some(DumpDisasm::Stdout) }, directory => { - let pid = std::process::id(); - let path = format!("{directory}/yjit_{pid}.log"); - eprintln!("YJIT disasm dump: {path}"); - unsafe { OPTIONS.dump_disasm = Some(DumpDisasm::File(path)) } + let path = format!("{directory}/yjit_{}.log", std::process::id()); + match File::options().create(true).append(true).open(&path) { + Ok(_) => { + eprintln!("YJIT disasm dump: {path}"); + unsafe { OPTIONS.dump_disasm = Some(DumpDisasm::File(path)) } + } + Err(err) => eprintln!("Failed to create {path}: {err}"), + } } }, diff --git a/yjit/src/stats.rs b/yjit/src/stats.rs index 4fc1825991e4c5..e3b610329943ff 100644 --- a/yjit/src/stats.rs +++ b/yjit/src/stats.rs @@ -482,7 +482,8 @@ make_counters! { num_send_dynamic, num_send_inline, num_send_leaf_builtin, - num_send_known_cfunc, + num_send_cfunc, + num_send_cfunc_inline, num_getivar_megamorphic, num_setivar_megamorphic,