[ruby/prism] Add necessary encoding flags for symbols and regex

This doesn't actually fix the encodings for symbols and regex,
unfortunately. But I wanted to get this change in because it is
the last AST change we're going to make before 3.3 is released.

So, if consumers want, they can start to check these flags to
determine the encoding, even though it will be wrong. Then once we
actually set them correctly, everything should work.

https://github.com/ruby/prism/commit/9b35f7e891
This commit is contained in:
Kevin Newton 2023-12-08 10:10:43 -05:00 committed by git
parent a94a2eea34
commit 98e3552cfb
148 changed files with 645 additions and 13 deletions

View File

@ -392,6 +392,12 @@ flags:
comment: "s - forces the Windows-31J encoding"
- name: UTF_8
comment: "u - forces the UTF-8 encoding"
- name: FORCED_UTF8_ENCODING
comment: "internal bytes forced the encoding to UTF-8"
- name: FORCED_BINARY_ENCODING
comment: "internal bytes forced the encoding to binary"
- name: FORCED_US_ASCII_ENCODING
comment: "internal bytes forced the encoding to US-ASCII"
comment: Flags for regular expression and match last line nodes.
- name: StringFlags
values:
@ -402,6 +408,15 @@ flags:
- name: FROZEN
comment: "frozen by virtue of a `frozen_string_literal` comment"
comment: Flags for string nodes.
- name: SymbolFlags
values:
- name: FORCED_UTF8_ENCODING
comment: "internal bytes forced the encoding to UTF-8"
- name: FORCED_BINARY_ENCODING
comment: "internal bytes forced the encoding to binary"
- name: FORCED_US_ASCII_ENCODING
comment: "internal bytes forced the encoding to US-ASCII"
comment: Flags for symbol nodes.
nodes:
- name: AliasGlobalVariableNode
fields:
@ -2465,6 +2480,9 @@ nodes:
^^^^^^^^^^^^^^
- name: SymbolNode
fields:
- name: flags
type: flags
kind: SymbolFlags
- name: opening_loc
type: location?
- name: value_loc

View File

@ -407,7 +407,7 @@ module Prism
ArgumentsNode(0, [
KeywordHashNode(
[AssocNode(
SymbolNode(nil, Location(), Location(), "foo"),
SymbolNode(0, nil, Location(), Location(), "foo"),
expression("bar"),
nil
)]
@ -585,16 +585,16 @@ module Prism
expected = BeginNode(
Location(),
StatementsNode([
LocalVariableWriteNode(:_1, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_2, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_3, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_4, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_5, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_6, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_7, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_8, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_9, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_10, 0, Location(), SymbolNode(Location(), Location(), nil, "a"), Location())
LocalVariableWriteNode(:_1, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_2, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_3, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_4, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_5, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_6, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_7, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_8, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_9, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location()),
LocalVariableWriteNode(:_10, 0, Location(), SymbolNode(0, Location(), Location(), nil, "a"), Location())
]),
nil,
nil,
@ -995,7 +995,7 @@ module Prism
def test_case_without_when_clauses_errors_on_else_clause
expected = CaseMatchNode(
SymbolNode(Location(), Location(), nil, "a"),
SymbolNode(0, Location(), Location(), nil, "a"),
[],
ElseNode(Location(), nil, Location()),
Location(),
@ -1009,7 +1009,7 @@ module Prism
def test_case_without_clauses
expected = CaseNode(
SymbolNode(Location(), Location(), nil, "a"),
SymbolNode(0, Location(), Location(), nil, "a"),
[],
nil,
Location(),

View File

@ -6,12 +6,14 @@
├── @ AliasMethodNode (location: (1,0)-(1,15))
│ ├── new_name:
│ │ @ SymbolNode (location: (1,6)-(1,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,6)-(1,7) = ":"
│ │ ├── value_loc: (1,7)-(1,10) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
│ │ @ SymbolNode (location: (1,11)-(1,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,11)-(1,12) = ":"
│ │ ├── value_loc: (1,12)-(1,15) = "bar"
│ │ ├── closing_loc: ∅
@ -20,12 +22,14 @@
├── @ AliasMethodNode (location: (3,0)-(3,21))
│ ├── new_name:
│ │ @ SymbolNode (location: (3,6)-(3,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,6)-(3,9) = "%s["
│ │ ├── value_loc: (3,9)-(3,12) = "abc"
│ │ ├── closing_loc: (3,12)-(3,13) = "]"
│ │ └── unescaped: "abc"
│ ├── old_name:
│ │ @ SymbolNode (location: (3,14)-(3,21))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,14)-(3,17) = "%s["
│ │ ├── value_loc: (3,17)-(3,20) = "def"
│ │ ├── closing_loc: (3,20)-(3,21) = "]"
@ -34,12 +38,14 @@
├── @ AliasMethodNode (location: (5,0)-(5,19))
│ ├── new_name:
│ │ @ SymbolNode (location: (5,6)-(5,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,6)-(5,8) = ":'"
│ │ ├── value_loc: (5,8)-(5,11) = "abc"
│ │ ├── closing_loc: (5,11)-(5,12) = "'"
│ │ └── unescaped: "abc"
│ ├── old_name:
│ │ @ SymbolNode (location: (5,13)-(5,19))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,13)-(5,15) = ":'"
│ │ ├── value_loc: (5,15)-(5,18) = "def"
│ │ ├── closing_loc: (5,18)-(5,19) = "'"
@ -67,6 +73,7 @@
│ │ └── closing_loc: (7,15)-(7,16) = "\""
│ ├── old_name:
│ │ @ SymbolNode (location: (7,17)-(7,23))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (7,17)-(7,19) = ":'"
│ │ ├── value_loc: (7,19)-(7,22) = "def"
│ │ ├── closing_loc: (7,22)-(7,23) = "'"
@ -83,12 +90,14 @@
├── @ AliasMethodNode (location: (11,0)-(11,13))
│ ├── new_name:
│ │ @ SymbolNode (location: (11,6)-(11,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (11,6)-(11,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
│ │ @ SymbolNode (location: (11,10)-(11,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (11,10)-(11,13) = "bar"
│ │ ├── closing_loc: ∅
@ -105,12 +114,14 @@
├── @ AliasMethodNode (location: (15,0)-(15,12))
│ ├── new_name:
│ │ @ SymbolNode (location: (15,6)-(15,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (15,6)-(15,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
│ │ @ SymbolNode (location: (15,10)-(15,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (15,10)-(15,12) = "if"
│ │ ├── closing_loc: ∅
@ -119,12 +130,14 @@
├── @ AliasMethodNode (location: (17,0)-(17,13))
│ ├── new_name:
│ │ @ SymbolNode (location: (17,6)-(17,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (17,6)-(17,9) = "foo"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "foo"
│ ├── old_name:
│ │ @ SymbolNode (location: (17,10)-(17,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (17,10)-(17,13) = "<=>"
│ │ ├── closing_loc: ∅
@ -133,12 +146,14 @@
├── @ AliasMethodNode (location: (19,0)-(19,15))
│ ├── new_name:
│ │ @ SymbolNode (location: (19,6)-(19,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (19,6)-(19,7) = ":"
│ │ ├── value_loc: (19,7)-(19,9) = "=="
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "=="
│ ├── old_name:
│ │ @ SymbolNode (location: (19,10)-(19,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (19,10)-(19,11) = ":"
│ │ ├── value_loc: (19,11)-(19,15) = "eql?"
│ │ ├── closing_loc: ∅
@ -147,12 +162,14 @@
├── @ AliasMethodNode (location: (21,0)-(21,9))
│ ├── new_name:
│ │ @ SymbolNode (location: (21,6)-(21,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (21,6)-(21,7) = "A"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "A"
│ ├── old_name:
│ │ @ SymbolNode (location: (21,8)-(21,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (21,8)-(21,9) = "B"
│ │ ├── closing_loc: ∅
@ -161,12 +178,14 @@
└── @ AliasMethodNode (location: (23,0)-(23,11))
├── new_name:
│ @ SymbolNode (location: (23,6)-(23,8))
│ ├── flags: ∅
│ ├── opening_loc: (23,6)-(23,7) = ":"
│ ├── value_loc: (23,7)-(23,8) = "A"
│ ├── closing_loc: ∅
│ └── unescaped: "A"
├── old_name:
│ @ SymbolNode (location: (23,9)-(23,11))
│ ├── flags: ∅
│ ├── opening_loc: (23,9)-(23,10) = ":"
│ ├── value_loc: (23,10)-(23,11) = "B"
│ ├── closing_loc: ∅

View File

@ -83,6 +83,7 @@
│ │ └── @ AssocNode (location: (5,1)-(5,12))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (5,1)-(5,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (5,1)-(5,2) = "a"
│ │ │ ├── closing_loc: (5,2)-(5,3) = ":"
@ -92,11 +93,13 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (5,5)-(5,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (5,5)-(5,6) = ":"
│ │ │ │ │ ├── value_loc: (5,6)-(5,7) = "b"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ └── @ SymbolNode (location: (5,9)-(5,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
│ │ │ │ ├── value_loc: (5,10)-(5,11) = "c"
│ │ │ │ ├── closing_loc: ∅
@ -110,16 +113,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 5)
│ │ ├── @ SymbolNode (location: (9,1)-(9,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (9,1)-(9,2) = ":"
│ │ │ ├── value_loc: (9,2)-(9,3) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── @ SymbolNode (location: (9,5)-(9,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (9,5)-(9,6) = ":"
│ │ │ ├── value_loc: (9,6)-(9,7) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ ├── @ SymbolNode (location: (10,0)-(10,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (10,0)-(10,1) = ":"
│ │ │ ├── value_loc: (10,1)-(10,2) = "c"
│ │ │ ├── closing_loc: ∅
@ -127,6 +133,7 @@
│ │ ├── @ IntegerNode (location: (10,3)-(10,4))
│ │ │ └── flags: decimal
│ │ └── @ SymbolNode (location: (14,0)-(14,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (14,0)-(14,1) = ":"
│ │ ├── value_loc: (14,1)-(14,2) = "d"
│ │ ├── closing_loc: ∅
@ -137,16 +144,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 5)
│ │ ├── @ SymbolNode (location: (18,1)-(18,3))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (18,1)-(18,2) = ":"
│ │ │ ├── value_loc: (18,2)-(18,3) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── @ SymbolNode (location: (18,5)-(18,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (18,5)-(18,6) = ":"
│ │ │ ├── value_loc: (18,6)-(18,7) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ ├── @ SymbolNode (location: (19,0)-(19,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (19,0)-(19,1) = ":"
│ │ │ ├── value_loc: (19,1)-(19,2) = "c"
│ │ │ ├── closing_loc: ∅
@ -154,6 +164,7 @@
│ │ ├── @ IntegerNode (location: (19,3)-(19,4))
│ │ │ └── flags: decimal
│ │ └── @ SymbolNode (location: (23,0)-(23,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (23,0)-(23,1) = ":"
│ │ ├── value_loc: (23,1)-(23,2) = "d"
│ │ ├── closing_loc: ∅
@ -756,16 +767,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (62,3)-(62,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (62,3)-(62,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
│ │ ├── @ SymbolNode (location: (62,7)-(62,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (62,7)-(62,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
│ │ └── @ SymbolNode (location: (62,11)-(62,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (62,11)-(62,16) = "three"
│ │ ├── closing_loc: ∅
@ -805,16 +819,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (69,3)-(69,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (69,3)-(69,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
│ │ ├── @ SymbolNode (location: (69,7)-(69,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (69,7)-(69,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
│ │ └── @ SymbolNode (location: (69,11)-(69,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (69,11)-(69,16) = "three"
│ │ ├── closing_loc: ∅
@ -854,16 +871,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (76,3)-(76,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (76,3)-(76,6) = "one"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "one"
│ │ ├── @ SymbolNode (location: (76,7)-(76,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (76,7)-(76,10) = "two"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "two"
│ │ └── @ SymbolNode (location: (76,11)-(76,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (76,11)-(76,16) = "three"
│ │ ├── closing_loc: ∅

View File

@ -157,6 +157,7 @@
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ SymbolNode (location: (15,11)-(15,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (15,11)-(15,12) = ":"
│ │ │ ├── value_loc: (15,12)-(15,13) = "s"
│ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
├── @ CaseNode (location: (1,0)-(3,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (1,5)-(1,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,5)-(1,6) = ":"
│ │ ├── value_loc: (1,6)-(1,8) = "hi"
│ │ ├── closing_loc: ∅
@ -15,6 +16,7 @@
│ │ ├── keyword_loc: (2,0)-(2,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ SymbolNode (location: (2,5)-(2,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,5)-(2,6) = ":"
│ │ │ ├── value_loc: (2,6)-(2,8) = "hi"
│ │ │ ├── closing_loc: ∅
@ -46,6 +48,7 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":"
│ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi"
│ │ │ │ ├── closing_loc: ∅
@ -71,6 +74,7 @@
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ SymbolNode (location: (5,49)-(5,53))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (5,49)-(5,50) = ":"
│ │ │ ├── value_loc: (5,50)-(5,53) = "bye"
│ │ │ ├── closing_loc: ∅
@ -106,6 +110,7 @@
├── @ CaseNode (location: (9,0)-(13,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (9,5)-(9,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (9,5)-(9,6) = ":"
│ │ ├── value_loc: (9,6)-(9,8) = "hi"
│ │ ├── closing_loc: ∅
@ -115,6 +120,7 @@
│ │ ├── keyword_loc: (10,0)-(10,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ SymbolNode (location: (10,5)-(10,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (10,5)-(10,6) = ":"
│ │ │ ├── value_loc: (10,6)-(10,8) = "hi"
│ │ │ ├── closing_loc: ∅
@ -127,6 +133,7 @@
│ │ │ @ StatementsNode (location: (12,0)-(12,2))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (12,0)-(12,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (12,0)-(12,1) = ":"
│ │ │ ├── value_loc: (12,1)-(12,2) = "b"
│ │ │ ├── closing_loc: ∅
@ -242,6 +249,7 @@
│ │ ├── keyword_loc: (28,3)-(28,7) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ SymbolNode (location: (28,8)-(28,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (28,8)-(28,9) = ":"
│ │ │ ├── value_loc: (28,9)-(28,10) = "b"
│ │ │ ├── closing_loc: ∅

View File

@ -36,6 +36,7 @@
│ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (4,3)-(5,1) = "a\\\r\nb"
│ │ ├── closing_loc: ∅

View File

@ -52,116 +52,139 @@
├── @ GlobalVariableReadNode (location: (47,0)-(47,3))
│ └── name: :$-K
├── @ SymbolNode (location: (49,0)-(49,17))
│ ├── flags: ∅
│ ├── opening_loc: (49,0)-(49,1) = ":"
│ ├── value_loc: (49,1)-(49,17) = "$global_variable"
│ ├── closing_loc: ∅
│ └── unescaped: "$global_variable"
├── @ SymbolNode (location: (51,0)-(51,3))
│ ├── flags: ∅
│ ├── opening_loc: (51,0)-(51,1) = ":"
│ ├── value_loc: (51,1)-(51,3) = "$_"
│ ├── closing_loc: ∅
│ └── unescaped: "$_"
├── @ SymbolNode (location: (53,0)-(53,4))
│ ├── flags: ∅
│ ├── opening_loc: (53,0)-(53,1) = ":"
│ ├── value_loc: (53,1)-(53,4) = "$-w"
│ ├── closing_loc: ∅
│ └── unescaped: "$-w"
├── @ SymbolNode (location: (55,0)-(55,11))
│ ├── flags: ∅
│ ├── opening_loc: (55,0)-(55,1) = ":"
│ ├── value_loc: (55,1)-(55,11) = "$LOAD_PATH"
│ ├── closing_loc: ∅
│ └── unescaped: "$LOAD_PATH"
├── @ SymbolNode (location: (57,0)-(57,7))
│ ├── flags: ∅
│ ├── opening_loc: (57,0)-(57,1) = ":"
│ ├── value_loc: (57,1)-(57,7) = "$stdin"
│ ├── closing_loc: ∅
│ └── unescaped: "$stdin"
├── @ SymbolNode (location: (59,0)-(59,8))
│ ├── flags: ∅
│ ├── opening_loc: (59,0)-(59,1) = ":"
│ ├── value_loc: (59,1)-(59,8) = "$stdout"
│ ├── closing_loc: ∅
│ └── unescaped: "$stdout"
├── @ SymbolNode (location: (61,0)-(61,8))
│ ├── flags: ∅
│ ├── opening_loc: (61,0)-(61,1) = ":"
│ ├── value_loc: (61,1)-(61,8) = "$stderr"
│ ├── closing_loc: ∅
│ └── unescaped: "$stderr"
├── @ SymbolNode (location: (63,0)-(63,3))
│ ├── flags: ∅
│ ├── opening_loc: (63,0)-(63,1) = ":"
│ ├── value_loc: (63,1)-(63,3) = "$!"
│ ├── closing_loc: ∅
│ └── unescaped: "$!"
├── @ SymbolNode (location: (65,0)-(65,3))
│ ├── flags: ∅
│ ├── opening_loc: (65,0)-(65,1) = ":"
│ ├── value_loc: (65,1)-(65,3) = "$?"
│ ├── closing_loc: ∅
│ └── unescaped: "$?"
├── @ SymbolNode (location: (67,0)-(67,3))
│ ├── flags: ∅
│ ├── opening_loc: (67,0)-(67,1) = ":"
│ ├── value_loc: (67,1)-(67,3) = "$~"
│ ├── closing_loc: ∅
│ └── unescaped: "$~"
├── @ SymbolNode (location: (69,0)-(69,3))
│ ├── flags: ∅
│ ├── opening_loc: (69,0)-(69,1) = ":"
│ ├── value_loc: (69,1)-(69,3) = "$&"
│ ├── closing_loc: ∅
│ └── unescaped: "$&"
├── @ SymbolNode (location: (71,0)-(71,3))
│ ├── flags: ∅
│ ├── opening_loc: (71,0)-(71,1) = ":"
│ ├── value_loc: (71,1)-(71,3) = "$`"
│ ├── closing_loc: ∅
│ └── unescaped: "$`"
├── @ SymbolNode (location: (73,0)-(73,3))
│ ├── flags: ∅
│ ├── opening_loc: (73,0)-(73,1) = ":"
│ ├── value_loc: (73,1)-(73,3) = "$'"
│ ├── closing_loc: ∅
│ └── unescaped: "$'"
├── @ SymbolNode (location: (75,0)-(75,3))
│ ├── flags: ∅
│ ├── opening_loc: (75,0)-(75,1) = ":"
│ ├── value_loc: (75,1)-(75,3) = "$+"
│ ├── closing_loc: ∅
│ └── unescaped: "$+"
├── @ SymbolNode (location: (77,0)-(77,3))
│ ├── flags: ∅
│ ├── opening_loc: (77,0)-(77,1) = ":"
│ ├── value_loc: (77,1)-(77,3) = "$:"
│ ├── closing_loc: ∅
│ └── unescaped: "$:"
├── @ SymbolNode (location: (79,0)-(79,3))
│ ├── flags: ∅
│ ├── opening_loc: (79,0)-(79,1) = ":"
│ ├── value_loc: (79,1)-(79,3) = "$;"
│ ├── closing_loc: ∅
│ └── unescaped: "$;"
├── @ SymbolNode (location: (81,0)-(81,7))
│ ├── flags: ∅
│ ├── opening_loc: (81,0)-(81,1) = ":"
│ ├── value_loc: (81,1)-(81,7) = "$DEBUG"
│ ├── closing_loc: ∅
│ └── unescaped: "$DEBUG"
├── @ SymbolNode (location: (83,0)-(83,10))
│ ├── flags: ∅
│ ├── opening_loc: (83,0)-(83,1) = ":"
│ ├── value_loc: (83,1)-(83,10) = "$FILENAME"
│ ├── closing_loc: ∅
│ └── unescaped: "$FILENAME"
├── @ SymbolNode (location: (85,0)-(85,3))
│ ├── flags: ∅
│ ├── opening_loc: (85,0)-(85,1) = ":"
│ ├── value_loc: (85,1)-(85,3) = "$0"
│ ├── closing_loc: ∅
│ └── unescaped: "$0"
├── @ SymbolNode (location: (87,0)-(87,4))
│ ├── flags: ∅
│ ├── opening_loc: (87,0)-(87,1) = ":"
│ ├── value_loc: (87,1)-(87,4) = "$-0"
│ ├── closing_loc: ∅
│ └── unescaped: "$-0"
├── @ SymbolNode (location: (89,0)-(89,17))
│ ├── flags: ∅
│ ├── opening_loc: (89,0)-(89,1) = ":"
│ ├── value_loc: (89,1)-(89,17) = "$LOADED_FEATURES"
│ ├── closing_loc: ∅
│ └── unescaped: "$LOADED_FEATURES"
├── @ SymbolNode (location: (91,0)-(91,9))
│ ├── flags: ∅
│ ├── opening_loc: (91,0)-(91,1) = ":"
│ ├── value_loc: (91,1)-(91,9) = "$VERBOSE"
│ ├── closing_loc: ∅
│ └── unescaped: "$VERBOSE"
└── @ SymbolNode (location: (93,0)-(93,4))
├── flags: ∅
├── opening_loc: (93,0)-(93,1) = ":"
├── value_loc: (93,1)-(93,4) = "$-K"
├── closing_loc: ∅

View File

@ -110,6 +110,7 @@
│ │ ├── @ AssocNode (location: (11,6)-(11,10))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (11,6)-(11,8))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (11,6)-(11,7) = "a"
│ │ │ │ ├── closing_loc: (11,7)-(11,8) = ":"
@ -129,6 +130,7 @@
│ │ └── @ AssocNode (location: (12,6)-(12,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (12,6)-(12,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (12,6)-(12,7) = "c"
│ │ │ ├── closing_loc: (12,7)-(12,8) = ":"
@ -152,6 +154,7 @@
│ │ ├── @ AssocNode (location: (18,2)-(18,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (18,2)-(18,4))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (18,2)-(18,3) = "a"
│ │ │ │ ├── closing_loc: (18,3)-(18,4) = ":"
@ -171,6 +174,7 @@
│ │ ├── @ AssocNode (location: (18,8)-(18,12))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (18,8)-(18,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (18,8)-(18,9) = "c"
│ │ │ │ ├── closing_loc: (18,9)-(18,10) = ":"
@ -203,6 +207,7 @@
│ │ └── @ AssocNode (location: (18,19)-(18,23))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (18,19)-(18,21))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (18,19)-(18,20) = "f"
│ │ │ ├── closing_loc: (18,20)-(18,21) = ":"
@ -226,6 +231,7 @@
│ │ └── @ AssocNode (location: (20,2)-(20,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (20,2)-(20,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (20,2)-(20,3) = "\""
│ │ │ ├── value_loc: (20,3)-(20,4) = "a"
│ │ │ ├── closing_loc: (20,4)-(20,6) = "\":"
@ -292,6 +298,7 @@
│ │ ├── @ AssocNode (location: (25,4)-(25,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
│ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
@ -306,6 +313,7 @@
│ │ ├── @ AssocNode (location: (25,8)-(25,10))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
│ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
@ -320,6 +328,7 @@
│ │ ├── @ AssocNode (location: (25,12)-(25,14))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
│ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
@ -341,6 +350,7 @@
│ │ └── @ AssocNode (location: (25,16)-(25,18))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (25,16)-(25,18))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (25,16)-(25,17) = "D"
│ │ │ ├── closing_loc: (25,17)-(25,18) = ":"

View File

@ -254,6 +254,7 @@
│ │ │ └── @ AssocNode (location: (25,4)-(25,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
│ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"

View File

@ -705,11 +705,13 @@
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 2)
│ │ │ ├── @ SymbolNode (location: (51,4)-(51,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":"
│ │ │ │ ├── value_loc: (51,5)-(51,6) = "a"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "a"
│ │ │ └── @ SymbolNode (location: (51,8)-(51,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (51,8)-(51,9) = ":"
│ │ │ ├── value_loc: (51,9)-(51,10) = "b"
│ │ │ ├── closing_loc: ∅
@ -730,11 +732,13 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (53,4)-(53,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (53,4)-(53,5) = ":"
│ │ │ ├── value_loc: (53,5)-(53,6) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (55,2)-(55,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (55,2)-(55,3) = ":"
│ │ ├── value_loc: (55,3)-(55,4) = "b"
│ │ ├── closing_loc: ∅
@ -779,6 +783,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (60,4)-(60,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (60,4)-(60,5) = ":"
│ │ │ ├── value_loc: (60,5)-(60,6) = "a"
│ │ │ ├── closing_loc: ∅
@ -788,6 +793,7 @@
│ │ ├── @ AssocNode (location: (60,8)-(60,22))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (60,8)-(60,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":"
│ │ │ │ ├── value_loc: (60,9)-(60,10) = "h"
│ │ │ │ ├── closing_loc: ∅
@ -797,11 +803,13 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 2)
│ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":"
│ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x"
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: "x"
│ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":"
│ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y"
│ │ │ │ │ ├── closing_loc: ∅
@ -812,12 +820,14 @@
│ │ └── @ AssocNode (location: (60,24)-(60,32))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (60,24)-(60,26))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (60,24)-(60,25) = ":"
│ │ │ ├── value_loc: (60,25)-(60,26) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (60,30)-(60,32))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (60,30)-(60,31) = ":"
│ │ │ ├── value_loc: (60,31)-(60,32) = "b"
│ │ │ ├── closing_loc: ∅
@ -828,6 +838,7 @@
│ @ BlockArgumentNode (location: (60,34)-(60,39))
│ ├── expression:
│ │ @ SymbolNode (location: (60,35)-(60,39))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (60,35)-(60,36) = ":"
│ │ ├── value_loc: (60,36)-(60,39) = "bar"
│ │ ├── closing_loc: ∅
@ -852,12 +863,14 @@
│ │ │ ├── @ AssocNode (location: (62,10)-(62,27))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":"
│ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "there"
│ │ │ │ ├── value:
│ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":"
│ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend"
│ │ │ │ │ ├── closing_loc: ∅
@ -873,12 +886,14 @@
│ │ │ └── @ AssocNode (location: (62,35)-(62,47))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (62,35)-(62,42))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup"
│ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":"
│ │ │ │ └── unescaped: "whatup"
│ │ │ ├── value:
│ │ │ │ @ SymbolNode (location: (62,43)-(62,47))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":"
│ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog"
│ │ │ │ ├── closing_loc: ∅
@ -899,6 +914,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (64,4)-(64,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (64,4)-(64,5) = ":"
│ │ │ ├── value_loc: (64,5)-(64,6) = "a"
│ │ │ ├── closing_loc: ∅
@ -908,6 +924,7 @@
│ │ └── @ AssocNode (location: (64,8)-(64,15))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (64,8)-(64,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (64,8)-(64,9) = "b"
│ │ │ ├── closing_loc: (64,9)-(64,10) = ":"
@ -975,12 +992,14 @@
│ │ └── @ AssocNode (location: (66,3)-(66,17))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (66,3)-(66,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (66,3)-(66,8) = "there"
│ │ │ ├── closing_loc: (66,8)-(66,9) = ":"
│ │ │ └── unescaped: "there"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (66,10)-(66,17))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (66,10)-(66,11) = ":"
│ │ │ ├── value_loc: (66,11)-(66,17) = "friend"
│ │ │ ├── closing_loc: ∅
@ -1004,12 +1023,14 @@
│ │ ├── @ AssocNode (location: (68,3)-(68,20))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (68,3)-(68,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":"
│ │ │ │ ├── value_loc: (68,4)-(68,9) = "there"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "there"
│ │ │ ├── value:
│ │ │ │ @ SymbolNode (location: (68,13)-(68,20))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":"
│ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend"
│ │ │ │ ├── closing_loc: ∅
@ -1025,12 +1046,14 @@
│ │ └── @ AssocNode (location: (68,28)-(68,40))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (68,28)-(68,35))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (68,28)-(68,34) = "whatup"
│ │ │ ├── closing_loc: (68,34)-(68,35) = ":"
│ │ │ └── unescaped: "whatup"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (68,36)-(68,40))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (68,36)-(68,37) = ":"
│ │ │ ├── value_loc: (68,37)-(68,40) = "dog"
│ │ │ ├── closing_loc: ∅
@ -1054,12 +1077,14 @@
│ │ ├── @ AssocNode (location: (70,3)-(70,20))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (70,3)-(70,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":"
│ │ │ │ ├── value_loc: (70,4)-(70,9) = "there"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "there"
│ │ │ ├── value:
│ │ │ │ @ SymbolNode (location: (70,13)-(70,20))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":"
│ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend"
│ │ │ │ ├── closing_loc: ∅
@ -1075,12 +1100,14 @@
│ │ └── @ AssocNode (location: (70,28)-(70,40))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (70,28)-(70,35))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (70,28)-(70,34) = "whatup"
│ │ │ ├── closing_loc: (70,34)-(70,35) = ":"
│ │ │ └── unescaped: "whatup"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (70,36)-(70,40))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (70,36)-(70,37) = ":"
│ │ │ ├── value_loc: (70,37)-(70,40) = "dog"
│ │ │ ├── closing_loc: ∅
@ -1105,6 +1132,7 @@
│ │ │ ├── @ AssocNode (location: (72,6)-(72,13))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a"
│ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":"
@ -1115,6 +1143,7 @@
│ │ │ └── @ AssocNode (location: (72,15)-(72,23))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (72,15)-(72,17))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (72,15)-(72,16) = "b"
│ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":"
@ -1128,6 +1157,7 @@
│ @ BlockArgumentNode (location: (72,28)-(72,35))
│ ├── expression:
│ │ @ SymbolNode (location: (72,29)-(72,35))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (72,29)-(72,30) = ":"
│ │ ├── value_loc: (72,30)-(72,35) = "block"
│ │ ├── closing_loc: ∅
@ -1149,12 +1179,14 @@
│ │ └── @ AssocNode (location: (74,3)-(74,20))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (74,3)-(74,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (74,3)-(74,4) = ":"
│ │ │ ├── value_loc: (74,4)-(74,9) = "there"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "there"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (74,13)-(74,20))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (74,13)-(74,14) = ":"
│ │ │ ├── value_loc: (74,14)-(74,20) = "friend"
│ │ │ ├── closing_loc: ∅
@ -1174,11 +1206,13 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (76,4)-(76,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
│ │ │ ├── value_loc: (76,5)-(76,6) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (77,0)-(77,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (77,0)-(77,1) = ":"
│ │ ├── value_loc: (77,1)-(77,2) = "b"
│ │ ├── closing_loc: ∅
@ -1197,6 +1231,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (81,0)-(81,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (81,0)-(81,1) = ":"
│ │ │ ├── value_loc: (81,1)-(81,2) = "a"
│ │ │ ├── closing_loc: ∅
@ -1206,12 +1241,14 @@
│ │ └── @ AssocNode (location: (82,0)-(82,5))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (82,0)-(82,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (82,0)-(82,1) = "b"
│ │ │ ├── closing_loc: (82,1)-(82,2) = ":"
│ │ │ └── unescaped: "b"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (82,3)-(82,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (82,3)-(82,4) = ":"
│ │ │ ├── value_loc: (82,4)-(82,5) = "c"
│ │ │ ├── closing_loc: ∅
@ -1232,6 +1269,7 @@
│ @ BlockArgumentNode (location: (85,4)-(85,11))
│ ├── expression:
│ │ @ SymbolNode (location: (85,5)-(85,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (85,5)-(85,6) = ":"
│ │ ├── value_loc: (85,6)-(85,11) = "block"
│ │ ├── closing_loc: ∅
@ -1253,6 +1291,7 @@
│ │ ├── @ AssocNode (location: (87,4)-(87,11))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (87,4)-(87,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (87,4)-(87,5) = "a"
│ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":"
@ -1263,6 +1302,7 @@
│ │ └── @ AssocNode (location: (87,13)-(87,21))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (87,13)-(87,15))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (87,13)-(87,14) = "b"
│ │ │ ├── closing_loc: (87,14)-(87,15) = ":"
@ -1275,6 +1315,7 @@
│ @ BlockArgumentNode (location: (87,23)-(87,30))
│ ├── expression:
│ │ @ SymbolNode (location: (87,24)-(87,30))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (87,24)-(87,25) = ":"
│ │ ├── value_loc: (87,25)-(87,30) = "block"
│ │ ├── closing_loc: ∅
@ -1298,6 +1339,7 @@
│ │ └── @ AssocNode (location: (89,13)-(89,21))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (89,13)-(89,19))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg"
│ │ │ ├── closing_loc: (89,18)-(89,19) = ":"
@ -1403,6 +1445,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (97,8)-(97,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (97,8)-(97,9) = ":"
│ │ ├── value_loc: (97,9)-(97,12) = "foo"
│ │ ├── closing_loc: ∅
@ -1429,6 +1472,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (99,8)-(99,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (99,8)-(99,9) = ":"
│ │ ├── value_loc: (99,9)-(99,12) = "foo"
│ │ ├── closing_loc: ∅
@ -1455,6 +1499,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (101,8)-(101,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (101,8)-(101,9) = ":"
│ │ ├── value_loc: (101,9)-(101,12) = "foo"
│ │ ├── closing_loc: ∅
@ -1484,6 +1529,7 @@
│ │ └── @ AssocNode (location: (103,4)-(103,11))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (103,4)-(103,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (103,4)-(103,5) = "\""
│ │ │ ├── value_loc: (103,5)-(103,6) = "a"
│ │ │ ├── closing_loc: (103,6)-(103,8) = "\":"
@ -1510,6 +1556,7 @@
│ │ └── @ AssocNode (location: (105,4)-(105,28))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (105,4)-(105,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (105,4)-(105,7) = "bar"
│ │ │ ├── closing_loc: (105,7)-(105,8) = ":"
@ -1521,6 +1568,7 @@
│ │ │ │ └── @ AssocNode (location: (105,11)-(105,26))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz"
│ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":"
@ -1564,6 +1612,7 @@
│ │ └── @ AssocNode (location: (107,4)-(107,24))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (107,4)-(107,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (107,4)-(107,7) = "bar"
│ │ │ ├── closing_loc: (107,7)-(107,8) = ":"
@ -1837,6 +1886,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (119,4)-(119,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (119,4)-(119,5) = ":"
│ │ │ ├── value_loc: (119,5)-(119,6) = "a"
│ │ │ ├── closing_loc: ∅
@ -1911,6 +1961,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ SymbolNode (location: (126,4)-(126,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (126,4)-(126,5) = ":"
│ │ │ ├── value_loc: (126,5)-(126,6) = "a"
│ │ │ ├── closing_loc: ∅

View File

@ -815,6 +815,7 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":"
│ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi"
│ │ │ │ ├── closing_loc: ∅
@ -822,6 +823,7 @@
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ └── @ SymbolNode (location: (100,0)-(100,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (100,0)-(100,1) = ":"
│ │ ├── value_loc: (100,1)-(100,4) = "bye"
│ │ ├── closing_loc: ∅

View File

@ -101,6 +101,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (6,7)-(6,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (6,7)-(6,8) = ":"
│ │ ├── value_loc: (6,8)-(6,11) = "foo"
│ │ ├── closing_loc: ∅
@ -120,6 +121,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (7,7)-(7,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (7,7)-(7,10) = "%s["
│ │ ├── value_loc: (7,10)-(7,13) = "foo"
│ │ ├── closing_loc: (7,13)-(7,14) = "]"
@ -139,6 +141,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (8,7)-(8,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (8,7)-(8,9) = ":\""
│ │ ├── value_loc: (8,9)-(8,12) = "foo"
│ │ ├── closing_loc: (8,12)-(8,13) = "\""
@ -221,6 +224,7 @@
│ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (12,10)-(12,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (12,10)-(12,13) = "foo"
│ │ │ ├── closing_loc: ∅
@ -245,6 +249,7 @@
│ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (13,10)-(13,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (13,10)-(13,13) = "foo"
│ │ │ ├── closing_loc: ∅
@ -610,12 +615,14 @@
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (32,7)-(32,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (32,7)-(32,8) = ":"
│ │ │ ├── value_loc: (32,8)-(32,11) = "foo"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "foo"
│ │ ├── right:
│ │ │ @ SymbolNode (location: (32,15)-(32,19))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (32,15)-(32,16) = ":"
│ │ │ ├── value_loc: (32,16)-(32,19) = "foo"
│ │ │ ├── closing_loc: ∅
@ -639,12 +646,14 @@
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (33,7)-(33,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (33,7)-(33,10) = "%s["
│ │ │ ├── value_loc: (33,10)-(33,13) = "foo"
│ │ │ ├── closing_loc: (33,13)-(33,14) = "]"
│ │ │ └── unescaped: "foo"
│ │ ├── right:
│ │ │ @ SymbolNode (location: (33,18)-(33,25))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (33,18)-(33,21) = "%s["
│ │ │ ├── value_loc: (33,21)-(33,24) = "foo"
│ │ │ ├── closing_loc: (33,24)-(33,25) = "]"
@ -668,12 +677,14 @@
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ SymbolNode (location: (34,7)-(34,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (34,7)-(34,9) = ":\""
│ │ │ ├── value_loc: (34,9)-(34,12) = "foo"
│ │ │ ├── closing_loc: (34,12)-(34,13) = "\""
│ │ │ └── unescaped: "foo"
│ │ ├── right:
│ │ │ @ SymbolNode (location: (34,17)-(34,23))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (34,17)-(34,19) = ":\""
│ │ │ ├── value_loc: (34,19)-(34,22) = "foo"
│ │ │ ├── closing_loc: (34,22)-(34,23) = "\""
@ -793,6 +804,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (38,10)-(38,13))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (38,10)-(38,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -804,6 +816,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (38,21)-(38,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (38,21)-(38,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -832,6 +845,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (39,10)-(39,13))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (39,10)-(39,13) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -843,6 +857,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (39,21)-(39,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (39,21)-(39,24) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -2412,6 +2427,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (105,7)-(105,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (105,7)-(105,8) = ":"
│ │ ├── value_loc: (105,8)-(105,11) = "foo"
│ │ ├── closing_loc: ∅
@ -2431,6 +2447,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (106,7)-(106,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (106,7)-(106,10) = "%s["
│ │ ├── value_loc: (106,10)-(106,13) = "foo"
│ │ ├── closing_loc: (106,13)-(106,14) = "]"
@ -2450,6 +2467,7 @@
│ │ └── block: ∅
│ ├── pattern:
│ │ @ SymbolNode (location: (107,7)-(107,13))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (107,7)-(107,9) = ":\""
│ │ ├── value_loc: (107,9)-(107,12) = "foo"
│ │ ├── closing_loc: (107,12)-(107,13) = "\""
@ -2532,6 +2550,7 @@
│ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (111,10)-(111,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (111,10)-(111,13) = "foo"
│ │ │ ├── closing_loc: ∅
@ -2556,6 +2575,7 @@
│ │ ├── flags: ∅
│ │ ├── elements: (length: 1)
│ │ │ └── @ SymbolNode (location: (112,10)-(112,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (112,10)-(112,13) = "foo"
│ │ │ ├── closing_loc: ∅
@ -2941,6 +2961,7 @@
│ │ └── @ InNode (location: (132,10)-(132,22))
│ │ ├── pattern:
│ │ │ @ SymbolNode (location: (132,13)-(132,17))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (132,13)-(132,14) = ":"
│ │ │ ├── value_loc: (132,14)-(132,17) = "foo"
│ │ │ ├── closing_loc: ∅
@ -2967,6 +2988,7 @@
│ │ └── @ InNode (location: (133,10)-(133,25))
│ │ ├── pattern:
│ │ │ @ SymbolNode (location: (133,13)-(133,20))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (133,13)-(133,16) = "%s["
│ │ │ ├── value_loc: (133,16)-(133,19) = "foo"
│ │ │ ├── closing_loc: (133,19)-(133,20) = "]"
@ -2993,6 +3015,7 @@
│ │ └── @ InNode (location: (134,10)-(134,24))
│ │ ├── pattern:
│ │ │ @ SymbolNode (location: (134,13)-(134,19))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (134,13)-(134,15) = ":\""
│ │ │ ├── value_loc: (134,15)-(134,18) = "foo"
│ │ │ ├── closing_loc: (134,18)-(134,19) = "\""
@ -3103,6 +3126,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (138,16)-(138,19))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (138,16)-(138,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -3134,6 +3158,7 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (139,16)-(139,19))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (139,16)-(139,19) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -3685,6 +3710,7 @@
│ │ │ │ @ StatementsNode (location: (159,13)-(159,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (159,13)-(159,17))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (159,13)-(159,14) = ":"
│ │ │ │ ├── value_loc: (159,14)-(159,17) = "foo"
│ │ │ │ ├── closing_loc: ∅
@ -3723,6 +3749,7 @@
│ │ │ │ @ StatementsNode (location: (160,13)-(160,20))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (160,13)-(160,20))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (160,13)-(160,16) = "%s["
│ │ │ │ ├── value_loc: (160,16)-(160,19) = "foo"
│ │ │ │ ├── closing_loc: (160,19)-(160,20) = "]"
@ -3761,6 +3788,7 @@
│ │ │ │ @ StatementsNode (location: (161,13)-(161,19))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (161,13)-(161,19))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (161,13)-(161,15) = ":\""
│ │ │ │ ├── value_loc: (161,15)-(161,18) = "foo"
│ │ │ │ ├── closing_loc: (161,18)-(161,19) = "\""
@ -3919,6 +3947,7 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (165,16)-(165,19))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (165,16)-(165,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
@ -3962,6 +3991,7 @@
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── elements: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (166,16)-(166,19))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (166,16)-(166,19) = "foo"
│ │ │ │ │ ├── closing_loc: ∅
@ -4539,6 +4569,7 @@
│ │ │ └── @ AssocNode (location: (189,2)-(191,3))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (189,2)-(189,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (189,2)-(189,5) = "bar"
│ │ │ │ ├── closing_loc: (189,5)-(189,6) = ":"
@ -4552,6 +4583,7 @@
│ │ │ │ │ └── @ AssocNode (location: (190,4)-(190,12))
│ │ │ │ │ ├── key:
│ │ │ │ │ │ @ SymbolNode (location: (190,4)-(190,10))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── value_loc: (190,4)-(190,9) = "value"
│ │ │ │ │ │ ├── closing_loc: (190,9)-(190,10) = ":"

View File

@ -74,6 +74,7 @@
│ │ └── @ AssocNode (location: (9,2)-(9,13))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (9,2)-(9,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (9,2)-(9,5) = "foo"
│ │ │ ├── closing_loc: (9,5)-(9,6) = ":"
@ -124,6 +125,7 @@
│ │ └── @ AssocNode (location: (15,2)-(15,12))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (15,2)-(15,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (15,2)-(15,5) = "foo"
│ │ │ ├── closing_loc: (15,5)-(15,6) = ":"

View File

@ -347,6 +347,7 @@
│ │ │ └── @ AssocNode (location: (29,4)-(29,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
│ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"

View File

@ -12,11 +12,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (7,0)-(7,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (7,0)-(7,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
│ │ └── @ SymbolNode (location: (8,0)-(8,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (8,0)-(8,5) = "line3"
│ │ ├── closing_loc: ∅
@ -54,11 +56,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (27,0)-(27,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (27,0)-(27,5) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
│ │ └── @ SymbolNode (location: (28,0)-(28,5))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (28,0)-(28,5) = "line3"
│ │ ├── closing_loc: ∅
@ -97,11 +101,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (47,0)-(47,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (47,0)-(47,1) = ":"
│ │ │ ├── value_loc: (47,1)-(47,6) = "line2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "line2"
│ │ └── @ SymbolNode (location: (48,0)-(48,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (48,0)-(48,1) = ":"
│ │ ├── value_loc: (48,1)-(48,6) = "line3"
│ │ ├── closing_loc: ∅
@ -279,11 +285,13 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
│ │ │ │ │ ├── value_loc: (76,5)-(76,10) = "line3"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "line3"
│ │ │ │ └── @ SymbolNode (location: (77,4)-(77,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (77,4)-(77,5) = ":"
│ │ │ │ ├── value_loc: (77,5)-(77,10) = "line4"
│ │ │ │ ├── closing_loc: ∅
@ -334,11 +342,13 @@
│ ├── flags: ∅
│ └── arguments: (length: 2)
│ ├── @ SymbolNode (location: (90,0)-(90,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (90,0)-(90,1) = ":"
│ │ ├── value_loc: (90,1)-(90,6) = "line2"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line2"
│ └── @ SymbolNode (location: (91,0)-(91,6))
│ ├── flags: ∅
│ ├── opening_loc: (91,0)-(91,1) = ":"
│ ├── value_loc: (91,1)-(91,6) = "line3"
│ ├── closing_loc: ∅

View File

@ -6,12 +6,14 @@
└── @ AliasMethodNode (location: (1,0)-(1,12))
├── new_name:
│ @ SymbolNode (location: (1,6)-(1,8))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,6)-(1,8) = "in"
│ ├── closing_loc: ∅
│ └── unescaped: "in"
├── old_name:
│ @ SymbolNode (location: (1,9)-(1,12))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,9)-(1,12) = "out"
│ ├── closing_loc: ∅

View File

@ -9,6 +9,7 @@
│ └── @ AssocNode (location: (1,2)-(1,4))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,2)-(1,3) = "y"
│ │ ├── closing_loc: (1,3)-(1,4) = ":"

View File

@ -19,6 +19,7 @@
│ └── @ AssocNode (location: (1,2)-(1,5))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,2)-(1,3) = "b"
│ │ ├── closing_loc: (1,3)-(1,4) = ":"

View File

@ -18,6 +18,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ ├── closing_loc: ∅
@ -40,6 +41,7 @@
│ ├── flags: ∅
│ └── arguments: (length: 1)
│ └── @ SymbolNode (location: (1,15)-(1,17))
│ ├── flags: ∅
│ ├── opening_loc: (1,15)-(1,16) = ":"
│ ├── value_loc: (1,16)-(1,17) = "d"
│ ├── closing_loc: ∅

View File

@ -18,6 +18,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ ├── closing_loc: ∅
@ -40,6 +41,7 @@
│ ├── flags: ∅
│ └── arguments: (length: 1)
│ └── @ SymbolNode (location: (1,14)-(1,16))
│ ├── flags: ∅
│ ├── opening_loc: (1,14)-(1,15) = ":"
│ ├── value_loc: (1,15)-(1,16) = "d"
│ ├── closing_loc: ∅

View File

@ -30,6 +30,7 @@
│ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ ├── closing_loc: ∅

View File

@ -30,6 +30,7 @@
│ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ │ ├── closing_loc: ∅
@ -39,6 +40,7 @@
│ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,21)-(1,26))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,21)-(1,22) = ":"
│ │ │ ├── value_loc: (1,22)-(1,26) = "val2"
│ │ │ ├── closing_loc: ∅

View File

@ -28,6 +28,7 @@
│ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,9)-(1,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
│ │ │ ├── value_loc: (1,10)-(1,11) = "c"
│ │ │ ├── closing_loc: ∅

View File

@ -30,6 +30,7 @@
│ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,12)-(1,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
│ │ │ ├── value_loc: (1,13)-(1,14) = "d"
│ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ UndefNode (location: (1,0)-(1,13))
├── names: (length: 1)
│ └── @ SymbolNode (location: (1,6)-(1,13))
│ ├── flags: ∅
│ ├── opening_loc: (1,6)-(1,9) = "%s("
│ ├── value_loc: (1,9)-(1,12) = "foo"
│ ├── closing_loc: (1,12)-(1,13) = ")"

View File

@ -70,6 +70,7 @@
│ └── @ AssocNode (location: (4,11)-(4,28))
│ ├── key:
│ │ @ SymbolNode (location: (4,11)-(4,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (4,11)-(4,12) = ":"
│ │ ├── value_loc: (4,12)-(4,14) = "at"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseNode (location: (1,0)-(1,26))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "x"
│ ├── closing_loc: ∅

View File

@ -15,6 +15,7 @@
│ ├── flags: ∅
│ └── arguments: (length: 2)
│ ├── @ SymbolNode (location: (1,4)-(1,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,4)-(1,5) = ":"
│ │ ├── value_loc: (1,5)-(1,8) = "bar"
│ │ ├── closing_loc: ∅
@ -24,6 +25,7 @@
│ └── @ AssocNode (location: (1,10)-(1,18))
│ ├── key:
│ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,10)-(1,13) = "baz"
│ │ ├── closing_loc: (1,13)-(1,14) = ":"

View File

@ -15,6 +15,7 @@
│ ├── flags: ∅
│ └── arguments: (length: 2)
│ ├── @ SymbolNode (location: (1,4)-(1,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,4)-(1,5) = ":"
│ │ ├── value_loc: (1,5)-(1,8) = "bar"
│ │ ├── closing_loc: ∅
@ -24,6 +25,7 @@
│ └── @ AssocNode (location: (1,10)-(1,18))
│ ├── key:
│ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,10)-(1,13) = "baz"
│ │ ├── closing_loc: (1,13)-(1,14) = ":"

View File

@ -21,6 +21,7 @@
│ ├── @ AssocNode (location: (1,5)-(1,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,5)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (1,5)-(1,7) = "kw"
│ │ │ ├── closing_loc: (1,7)-(1,8) = ":"

View File

@ -60,6 +60,7 @@
│ │ └── @ AssocNode (location: (3,2)-(3,8))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (3,2)-(3,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,2)-(3,3) = "\""
│ │ │ ├── value_loc: (3,3)-(3,4) = "k"
│ │ │ ├── closing_loc: (3,4)-(3,6) = "\":"
@ -86,6 +87,7 @@
│ └── @ AssocNode (location: (5,2)-(5,8))
│ ├── key:
│ │ @ SymbolNode (location: (5,2)-(5,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,2)-(5,3) = "'"
│ │ ├── value_loc: (5,3)-(5,4) = "k"
│ │ ├── closing_loc: (5,4)-(5,6) = "':"

View File

@ -20,11 +20,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
│ │ │ ├── value_loc: (1,7)-(1,8) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── @ SymbolNode (location: (1,10)-(1,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ ├── value_loc: (1,11)-(1,12) = "c"
│ │ ├── closing_loc: ∅

View File

@ -18,6 +18,7 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,3)-(1,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,3)-(1,4) = ":"
│ │ │ ├── value_loc: (1,4)-(1,5) = "b"
│ │ │ ├── closing_loc: ∅
@ -27,6 +28,7 @@
│ │ └── @ AssocNode (location: (1,7)-(1,14))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,7)-(1,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,7)-(1,8) = ":"
│ │ │ ├── value_loc: (1,8)-(1,9) = "c"
│ │ │ ├── closing_loc: ∅

View File

@ -19,6 +19,7 @@
│ └── @ AssocNode (location: (1,2)-(1,5))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,2)-(1,3) = "a"
│ │ ├── closing_loc: (1,3)-(1,4) = ":"

View File

@ -19,6 +19,7 @@
│ └── @ AssocNode (location: (1,2)-(5,3))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,2)-(1,3) = "b"
│ │ ├── closing_loc: (1,3)-(1,4) = ":"
@ -28,6 +29,7 @@
│ │ ├── if_keyword_loc: (1,5)-(1,7) = "if"
│ │ ├── predicate:
│ │ │ @ SymbolNode (location: (1,8)-(1,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,8)-(1,9) = ":"
│ │ │ ├── value_loc: (1,9)-(1,10) = "c"
│ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
├── @ CaseMatchNode (location: (1,0)-(3,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (1,5)-(1,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,5)-(1,6) = ":"
│ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ │ └── @ AssocNode (location: (2,4)-(2,8))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,4)-(2,8))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\""
│ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ │ │ ├── closing_loc: (2,6)-(2,8) = "\":"
@ -37,6 +39,7 @@
├── @ CaseMatchNode (location: (5,0)-(7,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (5,5)-(5,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,5)-(5,6) = ":"
│ │ ├── value_loc: (5,6)-(5,7) = "a"
│ │ ├── closing_loc: ∅
@ -48,11 +51,13 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (6,6)-(6,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (6,6)-(6,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ └── @ SymbolNode (location: (6,8)-(6,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (6,8)-(6,9) = "b"
│ │ │ │ ├── closing_loc: ∅
@ -68,6 +73,7 @@
├── @ CaseMatchNode (location: (9,0)-(11,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (9,5)-(9,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (9,5)-(9,6) = ":"
│ │ ├── value_loc: (9,6)-(9,7) = "a"
│ │ ├── closing_loc: ∅
@ -101,6 +107,7 @@
├── @ CaseMatchNode (location: (13,0)-(15,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (13,5)-(13,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (13,5)-(13,6) = ":"
│ │ ├── value_loc: (13,6)-(13,7) = "a"
│ │ ├── closing_loc: ∅
@ -112,11 +119,13 @@
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (14,6)-(14,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (14,6)-(14,7) = "a"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ └── @ SymbolNode (location: (14,8)-(14,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (14,8)-(14,9) = "b"
│ │ │ │ ├── closing_loc: ∅
@ -132,6 +141,7 @@
├── @ CaseMatchNode (location: (17,0)-(19,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (17,5)-(17,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (17,5)-(17,6) = ":"
│ │ ├── value_loc: (17,6)-(17,7) = "a"
│ │ ├── closing_loc: ∅
@ -165,6 +175,7 @@
├── @ CaseMatchNode (location: (21,0)-(23,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (21,5)-(21,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (21,5)-(21,6) = ":"
│ │ ├── value_loc: (21,6)-(21,7) = "a"
│ │ ├── closing_loc: ∅
@ -188,6 +199,7 @@
├── @ CaseMatchNode (location: (25,0)-(27,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (25,5)-(25,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (25,5)-(25,6) = ":"
│ │ ├── value_loc: (25,6)-(25,7) = "a"
│ │ ├── closing_loc: ∅
@ -211,6 +223,7 @@
├── @ CaseMatchNode (location: (29,0)-(31,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (29,5)-(29,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (29,5)-(29,6) = ":"
│ │ ├── value_loc: (29,6)-(29,7) = "a"
│ │ ├── closing_loc: ∅
@ -234,6 +247,7 @@
├── @ CaseMatchNode (location: (33,0)-(35,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (33,5)-(33,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (33,5)-(33,6) = ":"
│ │ ├── value_loc: (33,6)-(33,7) = "a"
│ │ ├── closing_loc: ∅
@ -259,6 +273,7 @@
├── @ CaseMatchNode (location: (37,0)-(39,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (37,5)-(37,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (37,5)-(37,6) = ":"
│ │ ├── value_loc: (37,6)-(37,7) = "a"
│ │ ├── closing_loc: ∅
@ -277,6 +292,7 @@
├── @ CaseMatchNode (location: (41,0)-(43,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (41,5)-(41,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (41,5)-(41,6) = ":"
│ │ ├── value_loc: (41,6)-(41,7) = "a"
│ │ ├── closing_loc: ∅
@ -302,6 +318,7 @@
├── @ CaseMatchNode (location: (45,0)-(47,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (45,5)-(45,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (45,5)-(45,6) = ":"
│ │ ├── value_loc: (45,6)-(45,7) = "a"
│ │ ├── closing_loc: ∅
@ -324,6 +341,7 @@
├── @ CaseMatchNode (location: (49,0)-(51,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (49,5)-(49,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (49,5)-(49,6) = ":"
│ │ ├── value_loc: (49,6)-(49,7) = "a"
│ │ ├── closing_loc: ∅
@ -335,6 +353,7 @@
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (50,3)-(50,5))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (50,3)-(50,4) = ":"
│ │ │ │ ├── value_loc: (50,4)-(50,5) = "b"
│ │ │ │ ├── closing_loc: ∅
@ -348,6 +367,7 @@
│ │ │ │ └── depth: 0
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (50,11)-(50,13))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (50,11)-(50,12) = ":"
│ │ │ │ ├── value_loc: (50,12)-(50,13) = "c"
│ │ │ │ ├── closing_loc: ∅
@ -363,6 +383,7 @@
├── @ CaseMatchNode (location: (53,0)-(55,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (53,5)-(53,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (53,5)-(53,6) = ":"
│ │ ├── value_loc: (53,6)-(53,7) = "a"
│ │ ├── closing_loc: ∅
@ -374,6 +395,7 @@
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (54,3)-(54,5))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (54,3)-(54,4) = ":"
│ │ │ │ │ ├── value_loc: (54,4)-(54,5) = "b"
│ │ │ │ │ ├── closing_loc: ∅
@ -382,6 +404,7 @@
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (54,8)-(54,10))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (54,8)-(54,9) = ":"
│ │ │ │ │ ├── value_loc: (54,9)-(54,10) = "c"
│ │ │ │ │ ├── closing_loc: ∅
@ -403,6 +426,7 @@
├── @ CaseMatchNode (location: (57,0)-(59,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (57,5)-(57,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (57,5)-(57,6) = ":"
│ │ ├── value_loc: (57,6)-(57,7) = "a"
│ │ ├── closing_loc: ∅
@ -428,6 +452,7 @@
├── @ CaseMatchNode (location: (61,0)-(63,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (61,5)-(61,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (61,5)-(61,6) = ":"
│ │ ├── value_loc: (61,6)-(61,7) = "a"
│ │ ├── closing_loc: ∅
@ -468,6 +493,7 @@
├── @ CaseMatchNode (location: (65,0)-(67,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (65,5)-(65,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (65,5)-(65,6) = ":"
│ │ ├── value_loc: (65,6)-(65,7) = "a"
│ │ ├── closing_loc: ∅
@ -508,6 +534,7 @@
├── @ CaseMatchNode (location: (69,0)-(71,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (69,5)-(69,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (69,5)-(69,6) = ":"
│ │ ├── value_loc: (69,6)-(69,7) = "a"
│ │ ├── closing_loc: ∅
@ -560,6 +587,7 @@
├── @ CaseMatchNode (location: (73,0)-(75,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (73,5)-(73,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (73,5)-(73,6) = ":"
│ │ ├── value_loc: (73,6)-(73,7) = "a"
│ │ ├── closing_loc: ∅
@ -571,6 +599,7 @@
│ │ │ ├── constant: ∅
│ │ │ ├── requireds: (length: 4)
│ │ │ │ ├── @ SymbolNode (location: (74,4)-(74,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (74,4)-(74,5) = ":"
│ │ │ │ │ ├── value_loc: (74,5)-(74,6) = "a"
│ │ │ │ │ ├── closing_loc: ∅
@ -585,6 +614,7 @@
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (74,15)-(74,17))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (74,15)-(74,16) = ":"
│ │ │ │ │ ├── value_loc: (74,16)-(74,17) = "d"
│ │ │ │ │ ├── closing_loc: ∅
@ -613,6 +643,7 @@
├── @ CaseMatchNode (location: (77,0)-(79,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (77,5)-(77,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (77,5)-(77,6) = ":"
│ │ ├── value_loc: (77,6)-(77,7) = "a"
│ │ ├── closing_loc: ∅
@ -643,6 +674,7 @@
├── @ CaseMatchNode (location: (81,0)-(83,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (81,5)-(81,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (81,5)-(81,6) = ":"
│ │ ├── value_loc: (81,6)-(81,7) = "a"
│ │ ├── closing_loc: ∅
@ -657,6 +689,7 @@
│ │ │ │ │ ├── constant: ∅
│ │ │ │ │ ├── requireds: (length: 2)
│ │ │ │ │ │ ├── @ SymbolNode (location: (82,5)-(82,7))
│ │ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ │ ├── opening_loc: (82,5)-(82,6) = ":"
│ │ │ │ │ │ │ ├── value_loc: (82,6)-(82,7) = "b"
│ │ │ │ │ │ │ ├── closing_loc: ∅
@ -672,6 +705,7 @@
│ │ │ │ ├── constant: ∅
│ │ │ │ ├── requireds: (length: 2)
│ │ │ │ │ ├── @ SymbolNode (location: (82,14)-(82,16))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: (82,14)-(82,15) = ":"
│ │ │ │ │ │ ├── value_loc: (82,15)-(82,16) = "d"
│ │ │ │ │ │ ├── closing_loc: ∅
@ -699,6 +733,7 @@
├── @ CaseMatchNode (location: (85,0)-(87,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (85,5)-(85,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (85,5)-(85,6) = ":"
│ │ ├── value_loc: (85,6)-(85,7) = "a"
│ │ ├── closing_loc: ∅
@ -722,6 +757,7 @@
├── @ CaseMatchNode (location: (89,0)-(91,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (89,5)-(89,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (89,5)-(89,6) = ":"
│ │ ├── value_loc: (89,6)-(89,7) = "a"
│ │ ├── closing_loc: ∅
@ -760,6 +796,7 @@
├── @ CaseMatchNode (location: (93,0)-(95,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (93,5)-(93,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (93,5)-(93,6) = ":"
│ │ ├── value_loc: (93,6)-(93,7) = "a"
│ │ ├── closing_loc: ∅
@ -798,6 +835,7 @@
├── @ CaseMatchNode (location: (97,0)-(99,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (97,5)-(97,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (97,5)-(97,6) = ":"
│ │ ├── value_loc: (97,6)-(97,7) = "a"
│ │ ├── closing_loc: ∅
@ -820,6 +858,7 @@
├── @ CaseMatchNode (location: (101,0)-(103,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (101,5)-(101,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (101,5)-(101,6) = ":"
│ │ ├── value_loc: (101,6)-(101,7) = "a"
│ │ ├── closing_loc: ∅
@ -846,6 +885,7 @@
├── @ CaseMatchNode (location: (105,0)-(107,3))
│ ├── predicate:
│ │ @ SymbolNode (location: (105,5)-(105,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (105,5)-(105,6) = ":"
│ │ ├── value_loc: (105,6)-(105,7) = "a"
│ │ ├── closing_loc: ∅
@ -859,6 +899,7 @@
│ │ │ │ └── @ AssocNode (location: (106,5)-(106,9))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (106,5)-(106,9))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (106,5)-(106,6) = "\""
│ │ │ │ │ ├── value_loc: (106,6)-(106,7) = "b"
│ │ │ │ │ ├── closing_loc: (106,7)-(106,9) = "\":"
@ -877,6 +918,7 @@
└── @ CaseMatchNode (location: (109,0)-(111,3))
├── predicate:
│ @ SymbolNode (location: (109,5)-(109,7))
│ ├── flags: ∅
│ ├── opening_loc: (109,5)-(109,6) = ":"
│ ├── value_loc: (109,6)-(109,7) = "a"
│ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -17,6 +18,7 @@
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
│ │ │ └── @ SymbolNode (location: (2,4)-(2,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,4)-(2,5) = ":"
│ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ ├── closing_loc: ∅
@ -35,6 +37,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ └── @ AssocNode (location: (2,5)-(2,17))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
@ -44,6 +46,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "c"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -17,6 +18,7 @@
│ │ ├── constant: ∅
│ │ ├── requireds: (length: 1)
│ │ │ └── @ SymbolNode (location: (2,3)-(2,5))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,3)-(2,4) = ":"
│ │ │ ├── value_loc: (2,4)-(2,5) = "b"
│ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -22,11 +23,13 @@
│ │ │ └── expression: ∅
│ │ ├── posts: (length: 2)
│ │ │ ├── @ SymbolNode (location: (2,7)-(2,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":"
│ │ │ │ ├── value_loc: (2,8)-(2,9) = "b"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "b"
│ │ │ └── @ SymbolNode (location: (2,11)-(2,13))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,11)-(2,12) = ":"
│ │ │ ├── value_loc: (2,12)-(2,13) = "c"
│ │ │ ├── closing_loc: ∅
@ -37,6 +40,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅

View File

@ -9,11 +9,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
│ │ │ ├── value_loc: (1,7)-(1,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (1,10)-(1,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ ├── value_loc: (1,11)-(1,12) = "b"
│ │ ├── closing_loc: ∅

View File

@ -9,11 +9,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,6)-(1,7) = ":"
│ │ │ ├── value_loc: (1,7)-(1,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (1,10)-(1,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ ├── value_loc: (1,11)-(1,12) = "b"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -29,6 +30,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -35,6 +36,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "e"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -35,6 +36,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -16,6 +16,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "b"
│ │ ├── closing_loc: ∅

View File

@ -16,6 +16,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "b"
│ │ ├── closing_loc: ∅
@ -29,6 +30,7 @@
│ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (5,2)-(5,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,2)-(5,3) = ":"
│ │ ├── value_loc: (5,3)-(5,4) = "c"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -24,6 +25,7 @@
│ │ │ └── depth: 0
│ │ ├── requireds: (length: 1)
│ │ │ └── @ SymbolNode (location: (2,9)-(2,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,9)-(2,10) = ":"
│ │ │ ├── value_loc: (2,10)-(2,11) = "+"
│ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -21,6 +22,7 @@
│ │ │ └── expression: ∅
│ │ ├── requireds: (length: 2)
│ │ │ ├── @ SymbolNode (location: (2,7)-(2,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":"
│ │ │ │ ├── value_loc: (2,8)-(2,9) = "b"
│ │ │ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ ├── @ AssocNode (location: (2,5)-(2,11))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
@ -34,6 +36,7 @@
│ │ │ └── @ AssocNode (location: (2,13)-(2,19))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,13)-(2,15))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,13)-(2,14) = "d"
│ │ │ │ ├── closing_loc: (2,14)-(2,15) = ":"
@ -53,6 +56,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "f"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ ├── @ AssocNode (location: (2,5)-(2,20))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b"
│ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
@ -37,6 +39,7 @@
│ │ │ ├── @ AssocNode (location: (2,22)-(2,28))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,22)-(2,24))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,22)-(2,23) = "d"
│ │ │ │ │ ├── closing_loc: (2,23)-(2,24) = ":"
@ -52,6 +55,7 @@
│ │ │ └── @ AssocNode (location: (2,30)-(2,32))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,30)-(2,32))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,30)-(2,31) = "f"
│ │ │ │ ├── closing_loc: (2,31)-(2,32) = ":"
@ -65,6 +69,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "g"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -21,6 +22,7 @@
│ │ │ └── @ AssocNode (location: (2,5)-(2,10))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,5)-(2,7))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,5)-(2,6) = "a"
│ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":"
@ -36,6 +38,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ └── @ AssocNode (location: (2,3)-(2,10))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,3)-(2,5))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
│ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":"
@ -33,6 +35,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "c"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -19,6 +20,7 @@
│ │ │ ├── @ AssocNode (location: (2,3)-(2,7))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,3)-(2,5))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b"
│ │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":"
@ -41,6 +43,7 @@
│ │ @ StatementsNode (location: (2,21)-(2,23))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (2,21)-(2,23))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (2,21)-(2,22) = ":"
│ │ ├── value_loc: (2,22)-(2,23) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(3,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -29,6 +30,7 @@
│ │ @ StatementsNode (location: (2,15)-(2,17))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (2,15)-(2,17))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (2,15)-(2,16) = ":"
│ │ ├── value_loc: (2,16)-(2,17) = "d"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(6,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -29,6 +30,7 @@
│ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ │ ├── value_loc: (3,3)-(3,4) = "C"
│ │ │ ├── closing_loc: ∅
@ -53,6 +55,7 @@
│ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (5,2)-(5,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,2)-(5,3) = ":"
│ │ ├── value_loc: (5,3)-(5,4) = "E"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(6,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -25,6 +26,7 @@
│ │ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ │ ├── value_loc: (3,3)-(3,4) = "C"
│ │ │ ├── closing_loc: ∅
@ -45,6 +47,7 @@
│ │ @ StatementsNode (location: (5,2)-(5,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (5,2)-(5,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,2)-(5,3) = ":"
│ │ ├── value_loc: (5,3)-(5,4) = "F"
│ │ ├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -25,6 +26,7 @@
│ │ @ StatementsNode (location: (3,2)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (3,2)-(3,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,2)-(3,3) = ":"
│ │ ├── value_loc: (3,3)-(3,4) = "d"
│ │ ├── closing_loc: ∅

View File

@ -38,6 +38,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ SymbolNode (location: (1,23)-(1,27))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,23)-(1,24) = ":"
│ │ │ ├── value_loc: (1,24)-(1,27) = "get"
│ │ │ ├── closing_loc: ∅

View File

@ -19,6 +19,7 @@
│ │ ├── name_loc: (1,8)-(1,11) = "kw:"
│ │ └── value:
│ │ @ SymbolNode (location: (1,12)-(1,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,12)-(1,13) = ":"
│ │ ├── value_loc: (1,13)-(1,16) = "val"
│ │ ├── closing_loc: ∅

View File

@ -19,6 +19,7 @@
│ │ ├── operator_loc: (1,11)-(1,12) = "="
│ │ └── value:
│ │ @ SymbolNode (location: (1,13)-(1,15))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,13)-(1,14) = ":"
│ │ ├── value_loc: (1,14)-(1,15) = "c"
│ │ ├── closing_loc: ∅

View File

@ -57,6 +57,7 @@
│ └── @ AssocNode (location: (2,2)-(2,6))
│ ├── key:
│ │ @ SymbolNode (location: (2,2)-(2,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (2,2)-(2,3) = "d"
│ │ ├── closing_loc: (2,3)-(2,4) = ":"

View File

@ -9,6 +9,7 @@
│ ├── @ AssocNode (location: (2,8)-(2,33))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (2,8)-(2,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (2,8)-(2,9) = "a"
│ │ │ ├── closing_loc: (2,9)-(2,10) = ":"
@ -82,6 +83,7 @@
│ └── @ AssocNode (location: (3,8)-(3,14))
│ ├── key:
│ │ @ SymbolNode (location: (3,8)-(3,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (3,8)-(3,9) = "e"
│ │ ├── closing_loc: (3,9)-(3,10) = ":"

View File

@ -23,6 +23,7 @@
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ SymbolNode (location: (1,4)-(1,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,4)-(1,5) = ":"
│ │ │ ├── value_loc: (1,5)-(1,6) = "a"
│ │ │ ├── closing_loc: ∅

View File

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ SymbolNode (location: (1,0)-(1,17))
├── flags: ∅
├── opening_loc: (1,0)-(1,2) = ":\""
├── value_loc: (1,2)-(1,16) = "Variet\\303\\240"
├── closing_loc: (1,16)-(1,17) = "\""

View File

@ -6,12 +6,14 @@
├── @ AliasMethodNode (location: (1,0)-(1,17))
│ ├── new_name:
│ │ @ SymbolNode (location: (1,6)-(1,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,6)-(1,8) = ":\""
│ │ ├── value_loc: (1,8)-(1,10) = "<<"
│ │ ├── closing_loc: (1,10)-(1,11) = "\""
│ │ └── unescaped: "<<"
│ ├── old_name:
│ │ @ SymbolNode (location: (1,12)-(1,17))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,12)-(1,14) = ":\""
│ │ ├── value_loc: (1,14)-(1,16) = ">>"
│ │ ├── closing_loc: (1,16)-(1,17) = "\""
@ -20,12 +22,14 @@
└── @ AliasMethodNode (location: (3,0)-(3,13))
├── new_name:
│ @ SymbolNode (location: (3,6)-(3,9))
│ ├── flags: ∅
│ ├── opening_loc: (3,6)-(3,7) = ":"
│ ├── value_loc: (3,7)-(3,9) = "<<"
│ ├── closing_loc: ∅
│ └── unescaped: "<<"
├── old_name:
│ @ SymbolNode (location: (3,10)-(3,13))
│ ├── flags: ∅
│ ├── opening_loc: (3,10)-(3,11) = ":"
│ ├── value_loc: (3,11)-(3,13) = ">>"
│ ├── closing_loc: ∅

View File

@ -18,6 +18,7 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (1,5)-(1,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,5)-(1,6) = ":"
│ │ ├── value_loc: (1,6)-(1,7) = "x"
│ │ ├── closing_loc: ∅

View File

@ -7,11 +7,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (3,0)-(3,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅

View File

@ -29,6 +29,7 @@
│ │ ├── name_loc: (2,49)-(2,54) = "così"
│ │ ├── value:
│ │ │ @ SymbolNode (location: (2,57)-(2,63))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,57)-(2,58) = ":"
│ │ │ ├── value_loc: (2,58)-(2,63) = "però"
│ │ │ ├── closing_loc: ∅

View File

@ -19,6 +19,7 @@
│ │ └── @ AssocNode (location: (1,2)-(3,1))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,2)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (1,2)-(1,7) = "state"
│ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
@ -47,6 +48,7 @@
│ │ └── @ AssocNode (location: (5,2)-(6,1))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (5,2)-(5,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (5,2)-(5,7) = "state"
│ │ │ ├── closing_loc: (5,7)-(5,8) = ":"
@ -75,6 +77,7 @@
│ └── @ AssocNode (location: (8,2)-(8,11))
│ ├── key:
│ │ @ SymbolNode (location: (8,2)-(8,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (8,2)-(8,7) = "state"
│ │ ├── closing_loc: (8,7)-(8,8) = ":"

View File

@ -7,11 +7,13 @@
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (2,0)-(2,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (2,0)-(2,1) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (3,0)-(3,1))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (3,0)-(3,1) = "b"
│ │ ├── closing_loc: ∅

View File

@ -23,6 +23,7 @@
│ ├── flags: ∅
│ └── arguments: (length: 1)
│ └── @ SymbolNode (location: (1,2)-(1,4))
│ ├── flags: ∅
│ ├── opening_loc: (1,2)-(1,3) = ":"
│ ├── value_loc: (1,3)-(1,4) = "b"
│ ├── closing_loc: ∅

View File

@ -9,6 +9,7 @@
│ └── @ AssocNode (location: (2,0)-(2,8))
│ ├── key:
│ │ @ SymbolNode (location: (2,0)-(2,3))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (2,0)-(2,1) = ":"
│ │ ├── value_loc: (2,1)-(2,3) = "s1"
│ │ ├── closing_loc: ∅

View File

@ -11,6 +11,7 @@
│ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
@ -29,6 +30,7 @@
│ │ │ ├── @ AssocNode (location: (2,4)-(2,6))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
│ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"

View File

@ -11,6 +11,7 @@
│ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
@ -29,6 +30,7 @@
│ │ │ ├── @ AssocNode (location: (2,4)-(2,6))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
│ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"

View File

@ -6,6 +6,7 @@
└── @ CaseMatchNode (location: (1,0)-(4,3))
├── predicate:
│ @ SymbolNode (location: (1,5)-(1,7))
│ ├── flags: ∅
│ ├── opening_loc: (1,5)-(1,6) = ":"
│ ├── value_loc: (1,6)-(1,7) = "a"
│ ├── closing_loc: ∅
@ -21,6 +22,7 @@
│ │ │ └── @ AssocNode (location: (2,10)-(2,14))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (2,10)-(2,12))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (2,10)-(2,11) = "b"
│ │ │ │ ├── closing_loc: (2,11)-(2,12) = ":"

View File

@ -11,6 +11,7 @@
│ │ └── @ AssocNode (location: (1,6)-(1,10))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,6)-(1,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ │ ├── closing_loc: (1,7)-(1,8) = ":"
@ -29,6 +30,7 @@
│ │ │ ├── @ AssocNode (location: (2,4)-(2,8))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (2,4)-(2,6))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a"
│ │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":"

View File

@ -7,16 +7,19 @@
├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── @ SymbolNode (location: (1,5)-(1,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,5)-(1,6) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ └── @ SymbolNode (location: (1,7)-(1,8))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,7)-(1,8) = "c"
│ ├── closing_loc: ∅

View File

@ -7,6 +7,7 @@
├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
@ -45,6 +46,7 @@
│ │ │ └── closing_loc: (1,11)-(1,12) = "}"
│ │ └── closing_loc: ∅
│ └── @ SymbolNode (location: (1,13)-(1,14))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,13)-(1,14) = "c"
│ ├── closing_loc: ∅

View File

@ -19,6 +19,7 @@
│ └── @ AssocNode (location: (1,5)-(1,12))
│ ├── key:
│ │ @ SymbolNode (location: (1,5)-(1,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,5)-(1,6) = "'"
│ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ ├── closing_loc: (1,7)-(1,9) = "':"

View File

@ -9,12 +9,14 @@
│ └── @ AssocNode (location: (1,2)-(1,9))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,2)-(1,3) = "'"
│ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: (1,4)-(1,6) = "':"
│ │ └── unescaped: "a"
│ ├── value:
│ │ @ SymbolNode (location: (1,7)-(1,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,7)-(1,8) = ":"
│ │ ├── value_loc: (1,8)-(1,9) = "b"
│ │ ├── closing_loc: ∅

View File

@ -27,6 +27,7 @@
│ │ │ @ StatementsNode (location: (2,2)-(2,8))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (2,2)-(2,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,2)-(2,3) = ":"
│ │ │ ├── value_loc: (2,3)-(2,8) = "begin"
│ │ │ ├── closing_loc: ∅
@ -40,6 +41,7 @@
│ │ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
│ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
│ │ │ │ ├── closing_loc: ∅

View File

@ -24,6 +24,7 @@
│ │ @ StatementsNode (location: (2,2)-(2,8))
│ │ └── body: (length: 1)
│ │ └── @ SymbolNode (location: (2,2)-(2,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (2,2)-(2,3) = ":"
│ │ ├── value_loc: (2,3)-(2,8) = "begin"
│ │ ├── closing_loc: ∅
@ -38,6 +39,7 @@
│ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
│ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
│ │ │ ├── closing_loc: ∅
@ -50,6 +52,7 @@
│ │ │ @ StatementsNode (location: (6,2)-(6,7))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
│ │ │ ├── value_loc: (6,3)-(6,7) = "else"
│ │ │ ├── closing_loc: ∅
@ -62,6 +65,7 @@
│ │ │ @ StatementsNode (location: (8,2)-(8,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
│ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
│ │ │ ├── closing_loc: ∅

View File

@ -42,6 +42,7 @@
│ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
│ │ │ ├── value_loc: (4,3)-(4,9) = "ensure"
│ │ │ ├── closing_loc: ∅

View File

@ -43,6 +43,7 @@
│ │ │ @ StatementsNode (location: (4,2)-(4,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (4,2)-(4,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (4,2)-(4,3) = ":"
│ │ │ ├── value_loc: (4,3)-(4,9) = "rescue"
│ │ │ ├── closing_loc: ∅
@ -55,6 +56,7 @@
│ │ │ @ StatementsNode (location: (6,2)-(6,7))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (6,2)-(6,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (6,2)-(6,3) = ":"
│ │ │ ├── value_loc: (6,3)-(6,7) = "else"
│ │ │ ├── closing_loc: ∅
@ -67,6 +69,7 @@
│ │ │ @ StatementsNode (location: (8,2)-(8,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ SymbolNode (location: (8,2)-(8,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (8,2)-(8,3) = ":"
│ │ │ ├── value_loc: (8,3)-(8,9) = "ensure"
│ │ │ ├── closing_loc: ∅

View File

@ -16,6 +16,7 @@
│ └── @ AssocNode (location: (1,10)-(1,17))
│ ├── key:
│ │ @ SymbolNode (location: (1,10)-(1,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ ├── value_loc: (1,11)-(1,12) = "z"
│ │ ├── closing_loc: ∅
@ -37,6 +38,7 @@
│ ├── @ AssocNode (location: (3,10)-(3,17))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (3,10)-(3,12))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,10)-(3,11) = ":"
│ │ │ ├── value_loc: (3,11)-(3,12) = "z"
│ │ │ ├── closing_loc: ∅
@ -48,6 +50,7 @@
│ └── @ AssocNode (location: (3,19)-(3,26))
│ ├── key:
│ │ @ SymbolNode (location: (3,19)-(3,21))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (3,19)-(3,20) = ":"
│ │ ├── value_loc: (3,20)-(3,21) = "w"
│ │ ├── closing_loc: ∅
@ -78,6 +81,7 @@
│ │ └── @ AssocNode (location: (5,9)-(5,14))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (5,9)-(5,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (5,9)-(5,10) = ":"
│ │ │ ├── value_loc: (5,10)-(5,11) = "z"
│ │ │ ├── closing_loc: ∅
@ -110,6 +114,7 @@
│ │ └── @ AssocNode (location: (7,9)-(7,12))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (7,9)-(7,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (7,9)-(7,10) = "z"
│ │ │ ├── closing_loc: (7,10)-(7,11) = ":"
@ -142,6 +147,7 @@
│ │ └── @ AssocNode (location: (9,9)-(9,12))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (9,9)-(9,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (9,9)-(9,10) = "z"
│ │ │ ├── closing_loc: (9,10)-(9,11) = ":"

View File

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ SymbolNode (location: (1,0)-(1,3))
├── flags: ∅
├── opening_loc: (1,0)-(1,2) = ":'"
├── value_loc: (1,2)-(1,2) = ""
├── closing_loc: (1,2)-(1,3) = "'"

View File

@ -7,16 +7,19 @@
├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── @ SymbolNode (location: (1,5)-(1,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,5)-(1,6) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ └── @ SymbolNode (location: (1,7)-(1,8))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,7)-(1,8) = "c"
│ ├── closing_loc: ∅

View File

@ -7,16 +7,19 @@
├── flags: ∅
├── elements: (length: 3)
│ ├── @ SymbolNode (location: (1,3)-(1,4))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,3)-(1,4) = "a"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a"
│ ├── @ SymbolNode (location: (1,5)-(1,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,5)-(1,12) = "b\#{1+1}"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b\#{1+1}"
│ └── @ SymbolNode (location: (1,13)-(1,14))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (1,13)-(1,14) = "c"
│ ├── closing_loc: ∅

View File

@ -7,6 +7,7 @@
├── flags: ∅
├── receiver:
│ @ SymbolNode (location: (1,1)-(1,3))
│ ├── flags: ∅
│ ├── opening_loc: (1,1)-(1,2) = ":"
│ ├── value_loc: (1,2)-(1,3) = "a"
│ ├── closing_loc: ∅

View File

@ -17,6 +17,7 @@
│ │ └── @ AssocNode (location: (1,9)-(1,16))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (1,9)-(1,11))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
│ │ │ ├── value_loc: (1,10)-(1,11) = "z"
│ │ │ ├── closing_loc: ∅
@ -40,6 +41,7 @@
│ │ ├── @ AssocNode (location: (3,9)-(3,16))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (3,9)-(3,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (3,9)-(3,10) = ":"
│ │ │ │ ├── value_loc: (3,10)-(3,11) = "z"
│ │ │ │ ├── closing_loc: ∅
@ -51,6 +53,7 @@
│ │ └── @ AssocNode (location: (3,18)-(3,25))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (3,18)-(3,20))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,18)-(3,19) = ":"
│ │ │ ├── value_loc: (3,19)-(3,20) = "w"
│ │ │ ├── closing_loc: ∅
@ -83,6 +86,7 @@
│ │ │ └── @ AssocNode (location: (5,8)-(5,13))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (5,8)-(5,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (5,8)-(5,9) = ":"
│ │ │ │ ├── value_loc: (5,9)-(5,10) = "z"
│ │ │ │ ├── closing_loc: ∅
@ -117,6 +121,7 @@
│ │ │ └── @ AssocNode (location: (7,8)-(7,11))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (7,8)-(7,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (7,8)-(7,9) = "z"
│ │ │ │ ├── closing_loc: (7,9)-(7,10) = ":"
@ -151,6 +156,7 @@
│ │ │ └── @ AssocNode (location: (9,8)-(9,11))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (9,8)-(9,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (9,8)-(9,9) = "z"
│ │ │ │ ├── closing_loc: (9,9)-(9,10) = ":"

View File

@ -260,11 +260,13 @@
│ │ ├── flags: ∅
│ │ ├── elements: (length: 2)
│ │ │ ├── @ SymbolNode (location: (41,12)-(41,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "n\n"
│ │ │ └── @ SymbolNode (location: (44,0)-(44,1))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (44,0)-(44,1) = "n"
│ │ │ ├── closing_loc: ∅
@ -297,6 +299,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (48,12)-(48,14))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (48,12)-(48,14) = "p\\"
│ │ │ │ │ ├── closing_loc: ∅

View File

@ -177,6 +177,7 @@
│ ├── closing_loc: (43,6)-(43,7) = "}"
│ └── unescaped: "abc"
├── @ SymbolNode (location: (45,0)-(45,7))
│ ├── flags: ∅
│ ├── opening_loc: (45,0)-(45,3) = "%s["
│ ├── value_loc: (45,3)-(45,6) = "abc"
│ ├── closing_loc: (45,6)-(45,7) = "]"

View File

@ -46,6 +46,7 @@
│ @ BlockArgumentNode (location: (9,6)-(9,11))
│ ├── expression:
│ │ @ SymbolNode (location: (9,7)-(9,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (9,7)-(9,8) = ":"
│ │ ├── value_loc: (9,8)-(9,11) = "foo"
│ │ ├── closing_loc: ∅
@ -60,6 +61,7 @@
│ @ BlockArgumentNode (location: (11,6)-(11,11))
│ ├── expression:
│ │ @ SymbolNode (location: (11,7)-(11,11))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (11,7)-(11,8) = ":"
│ │ ├── value_loc: (11,8)-(11,11) = "foo"
│ │ ├── closing_loc: ∅
@ -114,6 +116,7 @@
@ BlockArgumentNode (location: (17,15)-(17,20))
├── expression:
│ @ SymbolNode (location: (17,16)-(17,20))
│ ├── flags: ∅
│ ├── opening_loc: (17,16)-(17,17) = ":"
│ ├── value_loc: (17,17)-(17,20) = "foo"
│ ├── closing_loc: ∅

View File

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(93,13))
└── body: (length: 47)
├── @ SymbolNode (location: (1,0)-(1,6))
│ ├── flags: ∅
│ ├── opening_loc: (1,0)-(1,2) = ":'"
│ ├── value_loc: (1,2)-(1,5) = "abc"
│ ├── closing_loc: (1,5)-(1,6) = "'"
@ -50,21 +51,25 @@
│ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (7,1)-(7,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (7,1)-(7,2) = ":"
│ │ │ ├── value_loc: (7,2)-(7,4) = "Υ"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "Υ"
│ │ ├── @ SymbolNode (location: (7,6)-(7,9))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (7,6)-(7,7) = ":"
│ │ │ ├── value_loc: (7,7)-(7,9) = "ά"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "ά"
│ │ ├── @ SymbolNode (location: (7,11)-(7,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (7,11)-(7,12) = ":"
│ │ │ ├── value_loc: (7,12)-(7,14) = "ŗ"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "ŗ"
│ │ └── @ SymbolNode (location: (7,16)-(7,19))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (7,16)-(7,17) = ":"
│ │ ├── value_loc: (7,17)-(7,19) = "ρ"
│ │ ├── closing_loc: ∅
@ -72,51 +77,61 @@
│ ├── opening_loc: (7,0)-(7,1) = "["
│ └── closing_loc: (7,19)-(7,20) = "]"
├── @ SymbolNode (location: (9,0)-(9,3))
│ ├── flags: ∅
│ ├── opening_loc: (9,0)-(9,1) = ":"
│ ├── value_loc: (9,1)-(9,3) = "-@"
│ ├── closing_loc: ∅
│ └── unescaped: "-@"
├── @ SymbolNode (location: (11,0)-(11,2))
│ ├── flags: ∅
│ ├── opening_loc: (11,0)-(11,1) = ":"
│ ├── value_loc: (11,1)-(11,2) = "-"
│ ├── closing_loc: ∅
│ └── unescaped: "-"
├── @ SymbolNode (location: (13,0)-(13,2))
│ ├── flags: ∅
│ ├── opening_loc: (13,0)-(13,1) = ":"
│ ├── value_loc: (13,1)-(13,2) = "%"
│ ├── closing_loc: ∅
│ └── unescaped: "%"
├── @ SymbolNode (location: (15,0)-(15,2))
│ ├── flags: ∅
│ ├── opening_loc: (15,0)-(15,1) = ":"
│ ├── value_loc: (15,1)-(15,2) = "|"
│ ├── closing_loc: ∅
│ └── unescaped: "|"
├── @ SymbolNode (location: (17,0)-(17,3))
│ ├── flags: ∅
│ ├── opening_loc: (17,0)-(17,1) = ":"
│ ├── value_loc: (17,1)-(17,3) = "+@"
│ ├── closing_loc: ∅
│ └── unescaped: "+@"
├── @ SymbolNode (location: (19,0)-(19,2))
│ ├── flags: ∅
│ ├── opening_loc: (19,0)-(19,1) = ":"
│ ├── value_loc: (19,1)-(19,2) = "+"
│ ├── closing_loc: ∅
│ └── unescaped: "+"
├── @ SymbolNode (location: (21,0)-(21,2))
│ ├── flags: ∅
│ ├── opening_loc: (21,0)-(21,1) = ":"
│ ├── value_loc: (21,1)-(21,2) = "/"
│ ├── closing_loc: ∅
│ └── unescaped: "/"
├── @ SymbolNode (location: (23,0)-(23,3))
│ ├── flags: ∅
│ ├── opening_loc: (23,0)-(23,1) = ":"
│ ├── value_loc: (23,1)-(23,3) = "**"
│ ├── closing_loc: ∅
│ └── unescaped: "**"
├── @ SymbolNode (location: (25,0)-(25,2))
│ ├── flags: ∅
│ ├── opening_loc: (25,0)-(25,1) = ":"
│ ├── value_loc: (25,1)-(25,2) = "*"
│ ├── closing_loc: ∅
│ └── unescaped: "*"
├── @ SymbolNode (location: (27,0)-(27,3))
│ ├── flags: ∅
│ ├── opening_loc: (27,0)-(27,1) = ":"
│ ├── value_loc: (27,1)-(27,3) = "~@"
│ ├── closing_loc: ∅
@ -138,11 +153,13 @@
│ ├── opening_loc: (29,0)-(29,1) = "["
│ └── closing_loc: (29,15)-(29,16) = "]"
├── @ SymbolNode (location: (31,0)-(31,2))
│ ├── flags: ∅
│ ├── opening_loc: (31,0)-(31,1) = ":"
│ ├── value_loc: (31,1)-(31,2) = "~"
│ ├── closing_loc: ∅
│ └── unescaped: "~"
├── @ SymbolNode (location: (33,0)-(33,2))
│ ├── flags: ∅
│ ├── opening_loc: (33,0)-(33,1) = ":"
│ ├── value_loc: (33,1)-(33,2) = "a"
│ ├── closing_loc: ∅
@ -151,16 +168,19 @@
│ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ SymbolNode (location: (35,3)-(35,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (35,3)-(35,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── @ SymbolNode (location: (35,5)-(35,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (35,5)-(35,6) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── @ SymbolNode (location: (35,7)-(35,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (35,7)-(35,8) = "c"
│ │ ├── closing_loc: ∅
@ -171,21 +191,25 @@
│ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (37,3)-(37,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (37,3)-(37,4) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── @ SymbolNode (location: (37,5)-(37,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (37,5)-(37,10) = "b\#{1}"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b\#{1}"
│ │ ├── @ SymbolNode (location: (37,11)-(37,16))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (37,11)-(37,16) = "\#{2}c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\#{2}c"
│ │ └── @ SymbolNode (location: (37,17)-(37,23))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (37,17)-(37,23) = "d\#{3}f"
│ │ ├── closing_loc: ∅
@ -196,6 +220,7 @@
│ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ SymbolNode (location: (39,3)-(39,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (39,3)-(39,4) = "a"
│ │ │ ├── closing_loc: ∅
@ -263,11 +288,13 @@
│ ├── opening_loc: (39,0)-(39,3) = "%I["
│ └── closing_loc: (39,23)-(39,24) = "]"
├── @ SymbolNode (location: (41,0)-(41,4))
│ ├── flags: ∅
│ ├── opening_loc: (41,0)-(41,1) = ":"
│ ├── value_loc: (41,1)-(41,4) = "@@a"
│ ├── closing_loc: ∅
│ └── unescaped: "@@a"
├── @ SymbolNode (location: (43,0)-(43,5))
│ ├── flags: ∅
│ ├── opening_loc: (43,0)-(43,1) = ":"
│ ├── value_loc: (43,1)-(43,5) = "👍"
│ ├── closing_loc: ∅
@ -276,6 +303,7 @@
│ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (45,3)-(45,6))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (45,3)-(45,6) = "a\\b"
│ │ ├── closing_loc: ∅
@ -283,121 +311,145 @@
│ ├── opening_loc: (45,0)-(45,3) = "%i["
│ └── closing_loc: (45,6)-(45,7) = "]"
├── @ SymbolNode (location: (47,0)-(47,3))
│ ├── flags: ∅
│ ├── opening_loc: (47,0)-(47,1) = ":"
│ ├── value_loc: (47,1)-(47,3) = "$a"
│ ├── closing_loc: ∅
│ └── unescaped: "$a"
├── @ SymbolNode (location: (49,0)-(49,3))
│ ├── flags: ∅
│ ├── opening_loc: (49,0)-(49,1) = ":"
│ ├── value_loc: (49,1)-(49,3) = "@a"
│ ├── closing_loc: ∅
│ └── unescaped: "@a"
├── @ SymbolNode (location: (51,0)-(51,3))
│ ├── flags: ∅
│ ├── opening_loc: (51,0)-(51,1) = ":"
│ ├── value_loc: (51,1)-(51,3) = "do"
│ ├── closing_loc: ∅
│ └── unescaped: "do"
├── @ SymbolNode (location: (53,0)-(53,2))
│ ├── flags: ∅
│ ├── opening_loc: (53,0)-(53,1) = ":"
│ ├── value_loc: (53,1)-(53,2) = "&"
│ ├── closing_loc: ∅
│ └── unescaped: "&"
├── @ SymbolNode (location: (55,0)-(55,2))
│ ├── flags: ∅
│ ├── opening_loc: (55,0)-(55,1) = ":"
│ ├── value_loc: (55,1)-(55,2) = "`"
│ ├── closing_loc: ∅
│ └── unescaped: "`"
├── @ SymbolNode (location: (57,0)-(57,3))
│ ├── flags: ∅
│ ├── opening_loc: (57,0)-(57,1) = ":"
│ ├── value_loc: (57,1)-(57,3) = "!@"
│ ├── closing_loc: ∅
│ └── unescaped: "!@"
├── @ SymbolNode (location: (59,0)-(59,3))
│ ├── flags: ∅
│ ├── opening_loc: (59,0)-(59,1) = ":"
│ ├── value_loc: (59,1)-(59,3) = "!~"
│ ├── closing_loc: ∅
│ └── unescaped: "!~"
├── @ SymbolNode (location: (61,0)-(61,2))
│ ├── flags: ∅
│ ├── opening_loc: (61,0)-(61,1) = ":"
│ ├── value_loc: (61,1)-(61,2) = "!"
│ ├── closing_loc: ∅
│ └── unescaped: "!"
├── @ SymbolNode (location: (63,0)-(63,3))
│ ├── flags: ∅
│ ├── opening_loc: (63,0)-(63,1) = ":"
│ ├── value_loc: (63,1)-(63,3) = "[]"
│ ├── closing_loc: ∅
│ └── unescaped: "[]"
├── @ SymbolNode (location: (65,0)-(65,4))
│ ├── flags: ∅
│ ├── opening_loc: (65,0)-(65,1) = ":"
│ ├── value_loc: (65,1)-(65,4) = "[]="
│ ├── closing_loc: ∅
│ └── unescaped: "[]="
├── @ SymbolNode (location: (67,0)-(67,2))
│ ├── flags: ∅
│ ├── opening_loc: (67,0)-(67,1) = ":"
│ ├── value_loc: (67,1)-(67,2) = "^"
│ ├── closing_loc: ∅
│ └── unescaped: "^"
├── @ SymbolNode (location: (69,0)-(69,3))
│ ├── flags: ∅
│ ├── opening_loc: (69,0)-(69,1) = ":"
│ ├── value_loc: (69,1)-(69,3) = "=="
│ ├── closing_loc: ∅
│ └── unescaped: "=="
├── @ SymbolNode (location: (71,0)-(71,4))
│ ├── flags: ∅
│ ├── opening_loc: (71,0)-(71,1) = ":"
│ ├── value_loc: (71,1)-(71,4) = "==="
│ ├── closing_loc: ∅
│ └── unescaped: "==="
├── @ SymbolNode (location: (73,0)-(73,3))
│ ├── flags: ∅
│ ├── opening_loc: (73,0)-(73,1) = ":"
│ ├── value_loc: (73,1)-(73,3) = "=~"
│ ├── closing_loc: ∅
│ └── unescaped: "=~"
├── @ SymbolNode (location: (75,0)-(75,3))
│ ├── flags: ∅
│ ├── opening_loc: (75,0)-(75,1) = ":"
│ ├── value_loc: (75,1)-(75,3) = ">="
│ ├── closing_loc: ∅
│ └── unescaped: ">="
├── @ SymbolNode (location: (77,0)-(77,3))
│ ├── flags: ∅
│ ├── opening_loc: (77,0)-(77,1) = ":"
│ ├── value_loc: (77,1)-(77,3) = ">>"
│ ├── closing_loc: ∅
│ └── unescaped: ">>"
├── @ SymbolNode (location: (79,0)-(79,2))
│ ├── flags: ∅
│ ├── opening_loc: (79,0)-(79,1) = ":"
│ ├── value_loc: (79,1)-(79,2) = ">"
│ ├── closing_loc: ∅
│ └── unescaped: ">"
├── @ SymbolNode (location: (81,0)-(81,4))
│ ├── flags: ∅
│ ├── opening_loc: (81,0)-(81,1) = ":"
│ ├── value_loc: (81,1)-(81,4) = "<=>"
│ ├── closing_loc: ∅
│ └── unescaped: "<=>"
├── @ SymbolNode (location: (83,0)-(83,3))
│ ├── flags: ∅
│ ├── opening_loc: (83,0)-(83,1) = ":"
│ ├── value_loc: (83,1)-(83,3) = "<="
│ ├── closing_loc: ∅
│ └── unescaped: "<="
├── @ SymbolNode (location: (85,0)-(85,3))
│ ├── flags: ∅
│ ├── opening_loc: (85,0)-(85,1) = ":"
│ ├── value_loc: (85,1)-(85,3) = "<<"
│ ├── closing_loc: ∅
│ └── unescaped: "<<"
├── @ SymbolNode (location: (87,0)-(87,2))
│ ├── flags: ∅
│ ├── opening_loc: (87,0)-(87,1) = ":"
│ ├── value_loc: (87,1)-(87,2) = "<"
│ ├── closing_loc: ∅
│ └── unescaped: "<"
├── @ SymbolNode (location: (89,0)-(89,9))
│ ├── flags: ∅
│ ├── opening_loc: (89,0)-(89,1) = ":"
│ ├── value_loc: (89,1)-(89,9) = "__LINE__"
│ ├── closing_loc: ∅
│ └── unescaped: "__LINE__"
├── @ SymbolNode (location: (91,0)-(91,9))
│ ├── flags: ∅
│ ├── opening_loc: (91,0)-(91,1) = ":"
│ ├── value_loc: (91,1)-(91,9) = "__FILE__"
│ ├── closing_loc: ∅
│ └── unescaped: "__FILE__"
└── @ SymbolNode (location: (93,0)-(93,13))
├── flags: ∅
├── opening_loc: (93,0)-(93,1) = ":"
├── value_loc: (93,1)-(93,13) = "__ENCODING__"
├── closing_loc: ∅

View File

@ -6,6 +6,7 @@
├── @ UndefNode (location: (1,0)-(1,7))
│ ├── names: (length: 1)
│ │ └── @ SymbolNode (location: (1,6)-(1,7))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,6)-(1,7) = "a"
│ │ ├── closing_loc: ∅
@ -14,11 +15,13 @@
├── @ UndefNode (location: (3,0)-(3,10))
│ ├── names: (length: 2)
│ │ ├── @ SymbolNode (location: (3,6)-(3,7))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (3,6)-(3,7) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (3,9)-(3,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (3,9)-(3,10) = "b"
│ │ ├── closing_loc: ∅
@ -27,6 +30,7 @@
├── @ UndefNode (location: (5,0)-(5,8))
│ ├── names: (length: 1)
│ │ └── @ SymbolNode (location: (5,6)-(5,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (5,6)-(5,8) = "if"
│ │ ├── closing_loc: ∅
@ -35,6 +39,7 @@
├── @ UndefNode (location: (7,0)-(7,9))
│ ├── names: (length: 1)
│ │ └── @ SymbolNode (location: (7,6)-(7,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (7,6)-(7,9) = "<=>"
│ │ ├── closing_loc: ∅
@ -43,6 +48,7 @@
├── @ UndefNode (location: (9,0)-(9,8))
│ ├── names: (length: 1)
│ │ └── @ SymbolNode (location: (9,6)-(9,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (9,6)-(9,7) = ":"
│ │ ├── value_loc: (9,7)-(9,8) = "a"
│ │ ├── closing_loc: ∅
@ -51,16 +57,19 @@
├── @ UndefNode (location: (11,0)-(11,16))
│ ├── names: (length: 3)
│ │ ├── @ SymbolNode (location: (11,6)-(11,8))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (11,6)-(11,7) = ":"
│ │ │ ├── value_loc: (11,7)-(11,8) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ ├── @ SymbolNode (location: (11,10)-(11,12))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (11,10)-(11,11) = ":"
│ │ │ ├── value_loc: (11,11)-(11,12) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── @ SymbolNode (location: (11,14)-(11,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (11,14)-(11,15) = ":"
│ │ ├── value_loc: (11,15)-(11,16) = "c"
│ │ ├── closing_loc: ∅
@ -69,6 +78,7 @@
├── @ UndefNode (location: (13,0)-(13,12))
│ ├── names: (length: 1)
│ │ └── @ SymbolNode (location: (13,6)-(13,12))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (13,6)-(13,8) = ":'"
│ │ ├── value_loc: (13,8)-(13,11) = "abc"
│ │ ├── closing_loc: (13,11)-(13,12) = "'"
@ -98,6 +108,7 @@
└── @ UndefNode (location: (17,0)-(17,14))
├── names: (length: 1)
│ └── @ SymbolNode (location: (17,6)-(17,14))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── value_loc: (17,6)-(17,14) = "Constant"
│ ├── closing_loc: ∅

View File

@ -115,11 +115,13 @@
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ SymbolNode (location: (14,4)-(14,6))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (14,4)-(14,5) = ":"
│ │ │ ├── value_loc: (14,5)-(14,6) = "a"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "a"
│ │ └── @ SymbolNode (location: (14,8)-(14,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (14,8)-(14,9) = ":"
│ │ ├── value_loc: (14,9)-(14,10) = "b"
│ │ ├── closing_loc: ∅

Some files were not shown because too many files have changed in this diff Show More