[ruby/prism] Move flag position consistently to front

https://github.com/ruby/prism/commit/6e69a81737
This commit is contained in:
Kevin Newton 2023-12-06 15:32:53 -05:00 коммит произвёл git
Родитель cbb941f58a
Коммит fe6ee5e921
660 изменённых файлов: 25526 добавлений и 25537 удалений

Просмотреть файл

@ -157,15 +157,15 @@ module Prism
*arguments,
node.name_loc,
CallNode.new(
0,
read_class.new(*arguments, node.name_loc),
nil,
node.operator_loc.slice.chomp("="),
node.operator_loc.copy(length: node.operator_loc.length - 1),
nil,
ArgumentsNode.new([node.value], 0, node.value.location),
ArgumentsNode.new(0, [node.value], node.value.location),
nil,
nil,
0,
node.location
),
node.operator_loc.copy(start_offset: node.operator_loc.end_offset - 1, length: 1),

Просмотреть файл

@ -457,11 +457,11 @@ nodes:
^^^^^^^^^^^^^^
- name: ArgumentsNode
fields:
- name: arguments
type: node[]
- name: flags
type: flags
kind: ArgumentsNodeFlags
- name: arguments
type: node[]
comment: |
Represents a set of arguments to a method or a keyword.
@ -469,15 +469,15 @@ nodes:
^^^^^^^^^^^^^
- name: ArrayNode
fields:
- name: flags
type: flags
kind: ArrayNodeFlags
- name: elements
type: node[]
- name: opening_loc
type: location?
- name: closing_loc
type: location?
- name: flags
type: flags
kind: ArrayNodeFlags
comment: |
Represents an array literal. This can be a regular array using brackets or
a special array using % like %w or %i.
@ -661,15 +661,15 @@ nodes:
^^^^^^^^^
- name: CallAndWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
type: location?
- name: message_loc
type: location?
- name: flags
type: flags
kind: CallNodeFlags
- name: read_name
type: constant
- name: write_name
@ -685,6 +685,9 @@ nodes:
^^^^^^^^^^^^^^^^^
- name: CallNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
@ -702,9 +705,6 @@ nodes:
type: location?
- name: block
type: node?
- name: flags
type: flags
kind: CallNodeFlags
comment: |
Represents a method call, in all of the various forms that can take.
@ -727,15 +727,15 @@ nodes:
^^^^^^^^
- name: CallOperatorWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
type: location?
- name: message_loc
type: location?
- name: flags
type: flags
kind: CallNodeFlags
- name: read_name
type: constant
- name: write_name
@ -753,15 +753,15 @@ nodes:
^^^^^^^^^^^^^^
- name: CallOrWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
type: location?
- name: message_loc
type: location?
- name: flags
type: flags
kind: CallNodeFlags
- name: read_name
type: constant
- name: write_name
@ -1241,15 +1241,15 @@ nodes:
^^^^^^^^^^^^^^^^^^^^
- name: FlipFlopNode
fields:
- name: flags
type: flags
kind: RangeFlags
- name: left
type: node?
- name: right
type: node?
- name: operator_loc
type: location
- name: flags
type: flags
kind: RangeFlags
comment: |
Represents the use of the `..` or `...` operators to create flip flops.
@ -1500,6 +1500,9 @@ nodes:
^^^^^^^^^^^
- name: IndexAndWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
@ -1513,9 +1516,6 @@ nodes:
type: location
- name: block
type: node?
- name: flags
type: flags
kind: CallNodeFlags
- name: operator_loc
type: location
- name: value
@ -1527,6 +1527,9 @@ nodes:
^^^^^^^^^^^^^^^^^^^^^^
- name: IndexOperatorWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
@ -1540,9 +1543,6 @@ nodes:
type: location
- name: block
type: node?
- name: flags
type: flags
kind: CallNodeFlags
- name: operator
type: constant
- name: operator_loc
@ -1556,6 +1556,9 @@ nodes:
^^^^^^^^^^^^^^^^^^^^^
- name: IndexOrWriteNode
fields:
- name: flags
type: flags
kind: CallNodeFlags
- name: receiver
type: node?
- name: call_operator_loc
@ -1569,9 +1572,6 @@ nodes:
type: location
- name: block
type: node?
- name: flags
type: flags
kind: CallNodeFlags
- name: operator_loc
type: location
- name: value
@ -1673,15 +1673,15 @@ nodes:
^
- name: InterpolatedMatchLastLineNode
fields:
- name: flags
type: flags
kind: RegularExpressionFlags
- name: opening_loc
type: location
- name: parts
type: node[]
- name: closing_loc
type: location
- name: flags
type: flags
kind: RegularExpressionFlags
newline: parts
comment: |
Represents a regular expression literal that contains interpolation that
@ -1692,15 +1692,15 @@ nodes:
^^^^^^^^^^^^^^^^
- name: InterpolatedRegularExpressionNode
fields:
- name: flags
type: flags
kind: RegularExpressionFlags
- name: opening_loc
type: location
- name: parts
type: node[]
- name: closing_loc
type: location
- name: flags
type: flags
kind: RegularExpressionFlags
newline: parts
comment: |
Represents a regular expression literal that contains interpolation.
@ -1889,6 +1889,9 @@ nodes:
^^^^^^^
- name: MatchLastLineNode
fields:
- name: flags
type: flags
kind: RegularExpressionFlags
- name: opening_loc
type: location
- name: content_loc
@ -1897,9 +1900,6 @@ nodes:
type: location
- name: unescaped
type: string
- name: flags
type: flags
kind: RegularExpressionFlags
comment: |
Represents a regular expression literal used in the predicate of a
conditional to implicitly match against the last line read by an IO
@ -2206,15 +2206,15 @@ nodes:
comment: The top level node of any parse tree.
- name: RangeNode
fields:
- name: flags
type: flags
kind: RangeFlags
- name: left
type: node?
- name: right
type: node?
- name: operator_loc
type: location
- name: flags
type: flags
kind: RangeFlags
comment: |
Represents the use of the `..` or `...` operators.
@ -2240,6 +2240,9 @@ nodes:
^^^^
- name: RegularExpressionNode
fields:
- name: flags
type: flags
kind: RegularExpressionFlags
- name: opening_loc
type: location
- name: content_loc
@ -2248,9 +2251,6 @@ nodes:
type: location
- name: unescaped
type: string
- name: flags
type: flags
kind: RegularExpressionFlags
comment: |
Represents a regular expression literal with no interpolation.
@ -2525,6 +2525,9 @@ nodes:
^^^^^^^^^^^^^^^^^^^^^^^
- name: UntilNode
fields:
- name: flags
type: flags
kind: LoopFlags
- name: keyword_loc
type: location
- name: closing_loc
@ -2534,9 +2537,6 @@ nodes:
- name: statements
type: node?
kind: StatementsNode
- name: flags
type: flags
kind: LoopFlags
newline: predicate
comment: |
Represents the use of the `until` keyword, either in the block form or the modifier form.
@ -2564,6 +2564,9 @@ nodes:
end
- name: WhileNode
fields:
- name: flags
type: flags
kind: LoopFlags
- name: keyword_loc
type: location
- name: closing_loc
@ -2573,9 +2576,6 @@ nodes:
- name: statements
type: node?
kind: StatementsNode
- name: flags
type: flags
kind: LoopFlags
newline: predicate
comment: |
Represents the use of the `while` keyword, either in the block form or the modifier form.

Просмотреть файл

@ -81,15 +81,15 @@ module Prism
expected = PreExecutionNode(
StatementsNode([
CallNode(
0,
expression("1"),
nil,
:+,
Location(),
nil,
ArgumentsNode([MissingNode()], 0),
ArgumentsNode(0, [MissingNode()]),
nil,
nil,
0
nil
)
]),
Location(),
@ -351,18 +351,18 @@ module Prism
def test_double_splat_followed_by_splat_argument
expected = CallNode(
0,
nil,
nil,
:a,
Location(),
Location(),
ArgumentsNode([
ArgumentsNode(1, [
KeywordHashNode([AssocSplatNode(expression("kwargs"), Location())]),
SplatNode(Location(), expression("args"))
], 1),
]),
Location(),
nil,
0
nil
)
assert_errors expected, "a(**kwargs, *args)", [
@ -372,15 +372,15 @@ module Prism
def test_arguments_after_block
expected = CallNode(
0,
nil,
nil,
:a,
Location(),
Location(),
ArgumentsNode([expression("foo")], 0),
ArgumentsNode(0, [expression("foo")]),
Location(),
BlockArgumentNode(expression("block"), Location()),
0
BlockArgumentNode(expression("block"), Location())
)
assert_errors expected, "a(&block, foo)", [
@ -398,12 +398,13 @@ module Prism
def test_splat_argument_after_keyword_argument
expected = CallNode(
0,
nil,
nil,
:a,
Location(),
Location(),
ArgumentsNode([
ArgumentsNode(0, [
KeywordHashNode(
[AssocNode(
SymbolNode(nil, Location(), Location(), "foo"),
@ -412,10 +413,9 @@ module Prism
)]
),
SplatNode(Location(), expression("args"))
], 0),
]),
Location(),
nil,
0
nil
)
assert_errors expected, "a(foo: bar, *args)", [
@ -453,6 +453,7 @@ module Prism
nil,
StatementsNode(
[CallNode(
0,
nil,
nil,
:bar,
@ -467,8 +468,7 @@ module Prism
StatementsNode([ModuleNode([], Location(), ConstantReadNode(:Foo), nil, Location(), :Foo)]),
Location(),
Location()
),
0
)
)]
),
[],
@ -1061,6 +1061,7 @@ module Prism
def test_do_not_allow_forward_arguments_in_blocks
expected = CallNode(
0,
nil,
nil,
:a,
@ -1075,8 +1076,7 @@ module Prism
nil,
Location(),
Location()
),
0
)
)
assert_errors expected, "a {|...|}", [

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(13,8))
└── body: (length: 7)
├── @ CallNode (location: (1,0)-(1,8))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -11,36 +12,38 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,8))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,4)-(1,8))
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ ├── receiver:
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :!
│ │ │ ├── message_loc: (1,4)-(1,5) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,8))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,5)-(1,8))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (1,5)-(1,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (1,4)-(1,5) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (3,0)-(3,8))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (3,0)-(3,4))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (3,1)-(3,4))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -48,42 +51,42 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :-@
│ │ ├── message_loc: (3,0)-(3,1) = "-"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :*
│ ├── message_loc: (3,4)-(3,5) = "*"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,5)-(3,8))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (3,5)-(3,8))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (3,5)-(3,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (3,5)-(3,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
│ │ ├── message_loc: (3,5)-(3,8) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (5,0)-(5,9))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,0)-(5,4))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (5,1)-(5,4))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -91,38 +94,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :+@
│ │ ├── message_loc: (5,0)-(5,1) = "+"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :**
│ ├── message_loc: (5,4)-(5,6) = "**"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (5,6)-(5,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (5,6)-(5,9) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (5,6)-(5,9))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
│ │ ├── message_loc: (5,6)-(5,9) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (7,0)-(7,8))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -130,36 +131,38 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,4)-(7,8))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (7,4)-(7,8))
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (7,5)-(7,8))
│ │ ├── receiver:
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (7,5)-(7,8) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :~
│ │ │ ├── message_loc: (7,4)-(7,5) = "~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (7,4)-(7,8))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (7,5)-(7,8))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (7,5)-(7,8) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :~
│ │ ├── message_loc: (7,4)-(7,5) = "~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (9,0)-(9,17))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (9,0)-(9,10))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (9,0)-(9,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -167,53 +170,52 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :<<
│ │ ├── message_loc: (9,4)-(9,6) = "<<"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,7)-(9,10))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (9,7)-(9,10) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (9,7)-(9,10))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (9,7)-(9,10) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :<<
│ ├── message_loc: (9,11)-(9,13) = "<<"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,14)-(9,17))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (9,14)-(9,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
│ │ │ ├── message_loc: (9,14)-(9,17) = "baz"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (9,14)-(9,17))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :baz
│ │ ├── message_loc: (9,14)-(9,17) = "baz"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (11,0)-(11,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (11,1)-(11,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
@ -223,22 +225,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :-@
│ ├── message_loc: (11,0)-(11,1) = "-"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (13,0)-(13,8))
├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (13,0)-(13,2))
│ └── flags: decimal
@ -248,5 +249,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -9,6 +9,7 @@
│ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (2,0)-(2,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -16,8 +17,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@ -27,6 +27,7 @@
│ │ │ @ StatementsNode (location: (4,0)-(4,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (4,0)-(4,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -34,8 +35,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (5,0)-(5,3) = "end"
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ BeginNode (location: (7,0)-(7,24))
@ -44,6 +44,7 @@
│ │ @ StatementsNode (location: (7,7)-(7,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,7)-(7,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -51,8 +52,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@ -62,6 +62,7 @@
│ │ │ @ StatementsNode (location: (7,18)-(7,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (7,18)-(7,19))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -69,8 +70,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (7,21)-(7,24) = "end"
│ └── end_keyword_loc: (7,21)-(7,24) = "end"
├── @ BeginNode (location: (9,0)-(11,4))
@ -79,6 +79,7 @@
│ │ @ StatementsNode (location: (9,6)-(9,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,6)-(9,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -86,8 +87,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@ -97,6 +97,7 @@
│ │ │ @ StatementsNode (location: (10,8)-(10,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (10,8)-(10,9))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -104,8 +105,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (11,1)-(11,4) = "end"
│ └── end_keyword_loc: (11,1)-(11,4) = "end"
├── @ BeginNode (location: (13,0)-(13,22))
@ -114,6 +114,7 @@
│ │ @ StatementsNode (location: (13,6)-(13,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (13,6)-(13,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -121,8 +122,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@ -132,6 +132,7 @@
│ │ │ @ StatementsNode (location: (13,16)-(13,17))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (13,16)-(13,17))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -139,8 +140,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (13,19)-(13,22) = "end"
│ └── end_keyword_loc: (13,19)-(13,22) = "end"
└── @ BeginNode (location: (15,0)-(21,15))
@ -154,6 +154,7 @@
│ │ @ StatementsNode (location: (15,11)-(21,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (15,11)-(21,7))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ SymbolNode (location: (15,11)-(15,13))
│ │ │ ├── opening_loc: (15,11)-(15,12) = ":"
@ -166,82 +167,81 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,16)-(21,7))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ BeginNode (location: (15,16)-(21,7))
│ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin"
│ │ │ │ ├── statements: ∅
│ │ │ │ ├── rescue_clause: ∅
│ │ │ │ ├── else_clause: ∅
│ │ │ │ ├── ensure_clause:
│ │ │ │ │ @ EnsureNode (location: (15,22)-(21,7))
│ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure"
│ │ │ │ │ ├── statements:
│ │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3))
│ │ │ │ │ │ ├── receiver:
│ │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35))
│ │ │ │ │ │ │ └── name: :Module
│ │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "."
│ │ │ │ │ │ ├── name: :new
│ │ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
│ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ ├── body:
│ │ │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
│ │ │ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5))
│ │ │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin"
│ │ │ │ │ │ │ │ ├── statements:
│ │ │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break"
│ │ │ │ │ │ │ │ ├── rescue_clause: ∅
│ │ │ │ │ │ │ │ ├── else_clause: ∅
│ │ │ │ │ │ │ │ ├── ensure_clause:
│ │ │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5))
│ │ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure"
│ │ │ │ │ │ │ │ │ ├── statements:
│ │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ │ │ ├── receiver:
│ │ │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17))
│ │ │ │ │ │ │ │ │ │ │ └── name: :Module
│ │ │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "."
│ │ │ │ │ │ │ │ │ │ ├── name: :new
│ │ │ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new"
│ │ │ │ │ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ │ │ │ │ ├── block:
│ │ │ │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
│ │ │ │ │ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"
│ │ │ │ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end"
│ │ │ │ │ │ │ │ │ │ └── flags: ∅
│ │ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
│ │ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
│ │ │ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do"
│ │ │ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end"
│ │ │ │ │ │ └── flags: ∅
│ │ │ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ BeginNode (location: (15,16)-(21,7))
│ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin"
│ │ │ ├── statements: ∅
│ │ │ ├── rescue_clause: ∅
│ │ │ ├── else_clause: ∅
│ │ │ ├── ensure_clause:
│ │ │ │ @ EnsureNode (location: (15,22)-(21,7))
│ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure"
│ │ │ │ ├── statements:
│ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── receiver:
│ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35))
│ │ │ │ │ │ └── name: :Module
│ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "."
│ │ │ │ │ ├── name: :new
│ │ │ │ │ ├── message_loc: (15,36)-(15,39) = "new"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── block:
│ │ │ │ │ @ BlockNode (location: (15,40)-(21,3))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body:
│ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5))
│ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin"
│ │ │ │ │ │ ├── statements:
│ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9))
│ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break"
│ │ │ │ │ ├── rescue_clause:
│ │ │ │ │ │ ├── else_clause: ∅
│ │ │ │ │ │ ├── ensure_clause:
│ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5))
│ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure"
│ │ │ │ │ │ │ ├── statements:
│ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7))
│ │ │ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ │ │ ├── receiver:
│ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17))
│ │ │ │ │ │ │ │ │ └── name: :Module
│ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "."
│ │ │ │ │ │ │ │ ├── name: :new
│ │ │ │ │ │ │ │ ├── message_loc: (18,18)-(18,21) = "new"
│ │ │ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ │ │ └── block:
│ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7))
│ │ │ │ │ │ │ │ ├── locals: []
│ │ │ │ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ │ │ │ ├── body: ∅
│ │ │ │ │ │ │ │ ├── opening_loc: (18,22)-(18,24) = "do"
│ │ │ │ │ │ │ │ └── closing_loc: (19,4)-(19,7) = "end"
│ │ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
│ │ │ │ │ │ └── end_keyword_loc: (20,2)-(20,5) = "end"
│ │ │ │ │ ├── opening_loc: (15,40)-(15,42) = "do"
│ │ │ │ │ └── closing_loc: (21,0)-(21,3) = "end"
│ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ │ └── end_keyword_loc: (21,4)-(21,7) = "end"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅

Просмотреть файл

@ -9,6 +9,7 @@
│ │ @ StatementsNode (location: (1,7)-(1,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,7)-(1,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -16,8 +17,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (1,10)-(1,19))
│ │ ├── keyword_loc: (1,10)-(1,16) = "rescue"
@ -28,6 +28,7 @@
│ │ │ @ StatementsNode (location: (1,18)-(1,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,18)-(1,19))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -35,8 +36,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
│ │ @ ElseNode (location: (1,21)-(1,33))
@ -45,6 +45,7 @@
│ │ │ @ StatementsNode (location: (1,27)-(1,28))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,27)-(1,28))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -52,8 +53,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (1,30)-(1,33) = "end"
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (1,30)-(1,33) = "end"
@ -63,6 +63,7 @@
│ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,7)-(3,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -70,8 +71,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (3,10)-(3,19))
│ │ ├── keyword_loc: (3,10)-(3,16) = "rescue"
@ -82,6 +82,7 @@
│ │ │ @ StatementsNode (location: (3,18)-(3,19))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,18)-(3,19))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -89,8 +90,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause:
│ │ @ ElseNode (location: (3,21)-(3,36))
@ -99,6 +99,7 @@
│ │ │ @ StatementsNode (location: (3,27)-(3,28))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,27)-(3,28))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -106,8 +107,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure"
│ ├── ensure_clause:
│ │ @ EnsureNode (location: (3,30)-(3,44))
@ -116,6 +116,7 @@
│ │ │ @ StatementsNode (location: (3,38)-(3,39))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (3,38)-(3,39))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@ -123,8 +124,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (3,41)-(3,44) = "end"
│ └── end_keyword_loc: (3,41)-(3,44) = "end"
├── @ BeginNode (location: (5,0)-(7,3))
@ -133,6 +133,7 @@
│ │ @ StatementsNode (location: (6,0)-(6,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (6,0)-(6,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -140,8 +141,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -152,6 +152,7 @@
│ │ @ StatementsNode (location: (9,7)-(9,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,7)-(9,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -159,8 +160,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -171,6 +171,7 @@
│ │ @ StatementsNode (location: (11,6)-(11,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,6)-(11,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -178,8 +179,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -190,6 +190,7 @@
│ │ @ StatementsNode (location: (14,6)-(14,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (14,6)-(14,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -197,8 +198,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -209,6 +209,7 @@
│ │ @ StatementsNode (location: (17,0)-(17,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (17,0)-(17,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -216,8 +217,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (18,0)-(23,1))
│ │ ├── keyword_loc: (18,0)-(18,6) = "rescue"
@ -228,6 +228,7 @@
│ │ │ @ StatementsNode (location: (19,0)-(19,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (19,0)-(19,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -235,8 +236,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (20,0)-(23,1))
│ │ ├── keyword_loc: (20,0)-(20,6) = "rescue"
@ -247,6 +247,7 @@
│ │ │ @ StatementsNode (location: (21,0)-(21,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (21,0)-(21,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -254,8 +255,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (22,0)-(23,1))
│ │ ├── keyword_loc: (22,0)-(22,6) = "rescue"
@ -266,6 +266,7 @@
│ │ │ @ StatementsNode (location: (23,0)-(23,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (23,0)-(23,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@ -273,8 +274,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -285,6 +285,7 @@
│ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (27,2)-(27,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -292,8 +293,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (28,0)-(31,3))
│ │ ├── keyword_loc: (28,0)-(28,6) = "rescue"
@ -309,6 +309,7 @@
│ │ │ @ StatementsNode (location: (29,2)-(29,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (29,2)-(29,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -316,8 +317,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent:
│ │ @ RescueNode (location: (30,0)-(31,3))
│ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"
@ -335,6 +335,7 @@
│ │ │ @ StatementsNode (location: (31,2)-(31,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (31,2)-(31,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -342,8 +343,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -354,6 +354,7 @@
│ │ @ StatementsNode (location: (35,2)-(35,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (35,2)-(35,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -361,8 +362,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (36,0)-(37,3))
│ │ ├── keyword_loc: (36,0)-(36,6) = "rescue"
@ -378,6 +378,7 @@
│ │ │ @ StatementsNode (location: (37,2)-(37,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (37,2)-(37,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -385,8 +386,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause:
@ -396,6 +396,7 @@
│ │ │ @ StatementsNode (location: (39,2)-(39,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (39,2)-(39,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -403,8 +404,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── end_keyword_loc: (40,0)-(40,3) = "end"
│ └── end_keyword_loc: (40,0)-(40,3) = "end"
├── @ StringNode (location: (42,0)-(42,6))
@ -419,6 +419,7 @@
│ │ @ StatementsNode (location: (45,0)-(45,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (45,0)-(45,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -426,8 +427,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (46,0)-(47,1))
│ │ ├── keyword_loc: (46,0)-(46,6) = "rescue"
@ -438,6 +438,7 @@
│ │ │ @ StatementsNode (location: (47,0)-(47,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (47,0)-(47,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -445,8 +446,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -457,6 +457,7 @@
│ │ @ StatementsNode (location: (50,6)-(50,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (50,6)-(50,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -464,8 +465,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (50,8)-(50,16))
│ │ ├── keyword_loc: (50,8)-(50,14) = "rescue"
@ -476,6 +476,7 @@
│ │ │ @ StatementsNode (location: (50,15)-(50,16))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (50,15)-(50,16))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -483,8 +484,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -495,6 +495,7 @@
│ │ @ StatementsNode (location: (53,0)-(53,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (53,0)-(53,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -502,8 +503,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (53,2)-(54,1))
│ │ ├── keyword_loc: (53,2)-(53,8) = "rescue"
@ -514,6 +514,7 @@
│ │ │ @ StatementsNode (location: (54,0)-(54,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (54,0)-(54,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -521,8 +522,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -533,6 +533,7 @@
│ │ @ StatementsNode (location: (57,0)-(57,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (57,0)-(57,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -540,8 +541,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (58,0)-(59,1))
│ │ ├── keyword_loc: (58,0)-(58,6) = "rescue"
@ -554,6 +554,7 @@
│ │ │ @ StatementsNode (location: (59,0)-(59,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (59,0)-(59,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -561,8 +562,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -573,6 +573,7 @@
│ │ @ StatementsNode (location: (63,0)-(63,1))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (63,0)-(63,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -580,8 +581,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (64,0)-(65,1))
│ │ ├── keyword_loc: (64,0)-(64,6) = "rescue"
@ -596,6 +596,7 @@
│ │ │ @ StatementsNode (location: (65,0)-(65,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (65,0)-(65,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -603,8 +604,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -615,6 +615,7 @@
│ │ @ StatementsNode (location: (69,2)-(69,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (69,2)-(69,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -622,8 +623,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (70,0)-(71,3))
│ │ ├── keyword_loc: (70,0)-(70,6) = "rescue"
@ -641,6 +641,7 @@
│ │ │ @ StatementsNode (location: (71,2)-(71,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (71,2)-(71,3))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -648,8 +649,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── consequent: ∅
│ ├── else_clause: ∅
│ ├── ensure_clause: ∅
@ -660,6 +660,7 @@
│ @ StatementsNode (location: (75,2)-(75,3))
│ └── body: (length: 1)
│ └── @ CallNode (location: (75,2)-(75,3))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -667,8 +668,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── rescue_clause:
│ @ RescueNode (location: (76,0)-(77,3))
│ ├── keyword_loc: (76,0)-(76,6) = "rescue"
@ -684,6 +684,7 @@
│ │ @ StatementsNode (location: (77,2)-(77,3))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (77,2)-(77,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -691,8 +692,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ └── consequent: ∅
├── else_clause: ∅
├── ensure_clause: ∅

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -8,6 +8,7 @@
│ ├── operator_loc: (1,2)-(1,5) = "&&="
│ ├── value:
│ │ @ CallNode (location: (1,6)-(1,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -15,8 +16,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── name: :a
│ └── depth: 0
├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6))
@ -24,6 +24,7 @@
│ ├── operator_loc: (3,2)-(3,4) = "+="
│ ├── value:
│ │ @ CallNode (location: (3,5)-(3,6))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -31,8 +32,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── name: :a
│ ├── operator: :+
│ └── depth: 0
@ -41,6 +41,7 @@
├── operator_loc: (5,2)-(5,5) = "||="
├── value:
│ @ CallNode (location: (5,6)-(5,7))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@ -48,7 +49,6 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── name: :a
└── depth: 0

Просмотреть файл

@ -9,125 +9,127 @@
├── @ BreakNode (location: (3,0)-(3,19))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,6)-(3,19))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ ParenthesesNode (location: (3,6)-(3,9))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── opening_loc: (3,6)-(3,7) = "("
│ │ │ │ └── closing_loc: (3,8)-(3,9) = ")"
│ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── opening_loc: (3,11)-(3,12) = "("
│ │ │ │ └── closing_loc: (3,13)-(3,14) = ")"
│ │ │ └── @ ParenthesesNode (location: (3,16)-(3,19))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,17)-(3,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,16)-(3,17) = "("
│ │ │ └── closing_loc: (3,18)-(3,19) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ ParenthesesNode (location: (3,6)-(3,9))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,7)-(3,8))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,7)-(3,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,6)-(3,7) = "("
│ │ │ └── closing_loc: (3,8)-(3,9) = ")"
│ │ ├── @ ParenthesesNode (location: (3,11)-(3,14))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,12)-(3,13))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,11)-(3,12) = "("
│ │ │ └── closing_loc: (3,13)-(3,14) = ")"
│ │ └── @ ParenthesesNode (location: (3,16)-(3,19))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,17)-(3,18))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (3,17)-(3,18))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,16)-(3,17) = "("
│ │ └── closing_loc: (3,18)-(3,19) = ")"
│ └── keyword_loc: (3,0)-(3,5) = "break"
├── @ BreakNode (location: (5,0)-(5,7))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,6)-(5,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (5,6)-(5,7))
│ │ └── flags: decimal
│ └── keyword_loc: (5,0)-(5,5) = "break"
├── @ BreakNode (location: (7,0)-(8,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,6)-(8,1))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ IntegerNode (location: (7,6)-(7,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (7,9)-(7,10))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ IntegerNode (location: (7,6)-(7,7))
│ │ │ └── flags: decimal
│ │ ├── @ IntegerNode (location: (7,9)-(7,10))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ └── flags: decimal
│ └── keyword_loc: (7,0)-(7,5) = "break"
├── @ BreakNode (location: (10,0)-(10,13))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,6)-(10,13))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ IntegerNode (location: (10,6)-(10,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (10,9)-(10,10))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (10,12)-(10,13))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ IntegerNode (location: (10,6)-(10,7))
│ │ │ └── flags: decimal
│ │ ├── @ IntegerNode (location: (10,9)-(10,10))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (10,12)-(10,13))
│ │ └── flags: decimal
│ └── keyword_loc: (10,0)-(10,5) = "break"
├── @ BreakNode (location: (12,0)-(12,15))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (12,6)-(12,15))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ArrayNode (location: (12,6)-(12,15))
│ │ │ ├── elements: (length: 3)
│ │ │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
│ │ │ │ └── flags: decimal
│ │ │ │ └── @ IntegerNode (location: (12,13)-(12,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (12,6)-(12,7) = "["
│ │ │ ├── closing_loc: (12,14)-(12,15) = "]"
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ArrayNode (location: (12,6)-(12,15))
│ │ ├── flags: ∅
│ │ ├── elements: (length: 3)
│ │ │ ├── @ IntegerNode (location: (12,7)-(12,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (12,10)-(12,11))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (12,13)-(12,14))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (12,6)-(12,7) = "["
│ │ └── closing_loc: (12,14)-(12,15) = "]"
│ └── keyword_loc: (12,0)-(12,5) = "break"
├── @ BreakNode (location: (14,0)-(17,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (14,5)-(17,1))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (14,5)-(17,1))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ │ └── body: (length: 2)
│ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (14,5)-(14,6) = "("
│ │ │ └── closing_loc: (17,0)-(17,1) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (14,5)-(17,1))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ └── body: (length: 2)
│ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (14,5)-(14,6) = "("
│ │ └── closing_loc: (17,0)-(17,1) = ")"
│ └── keyword_loc: (14,0)-(14,5) = "break"
├── @ BreakNode (location: (19,0)-(19,7))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,5)-(19,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (19,5)-(19,7))
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ └── closing_loc: (19,6)-(19,7) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (19,5)-(19,7))
│ │ ├── body: ∅
│ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ └── closing_loc: (19,6)-(19,7) = ")"
│ └── keyword_loc: (19,0)-(19,5) = "break"
├── @ BreakNode (location: (21,0)-(21,8))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,5)-(21,8))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (21,5)-(21,8))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (21,6)-(21,7))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (21,6)-(21,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (21,5)-(21,6) = "("
│ │ │ └── closing_loc: (21,7)-(21,8) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (21,5)-(21,8))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (21,6)-(21,7))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (21,6)-(21,7))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (21,5)-(21,6) = "("
│ │ └── closing_loc: (21,7)-(21,8) = ")"
│ └── keyword_loc: (21,0)-(21,5) = "break"
├── @ CallNode (location: (23,0)-(23,22))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,16))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -135,41 +137,41 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
│ │ │ @ BlockNode (location: (23,4)-(23,16))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (23,6)-(23,14))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ BreakNode (location: (23,6)-(23,14))
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14))
│ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ └── flags: ∅
│ │ │ │ └── keyword_loc: (23,6)-(23,11) = "break"
│ │ │ ├── opening_loc: (23,4)-(23,5) = "{"
│ │ │ └── closing_loc: (23,15)-(23,16) = "}"
│ │ └── flags: ∅
│ │ └── block:
│ │ @ BlockNode (location: (23,4)-(23,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (23,6)-(23,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ BreakNode (location: (23,6)-(23,14))
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14))
│ │ │ │ └── flags: decimal
│ │ │ └── keyword_loc: (23,6)-(23,11) = "break"
│ │ ├── opening_loc: (23,4)-(23,5) = "{"
│ │ └── closing_loc: (23,15)-(23,16) = "}"
│ ├── call_operator_loc: ∅
│ ├── name: :==
│ ├── message_loc: (23,17)-(23,19) = "=="
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,20)-(23,22))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (23,20)-(23,22))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (23,20)-(23,22))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (25,0)-(25,23))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (25,0)-(25,17))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -177,45 +179,43 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (25,4)-(25,17))
│ │ ├── locals: [:a]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (25,6)-(25,9))
│ │ │ ├── parameters:
│ │ │ │ @ ParametersNode (location: (25,7)-(25,8))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (25,6)-(25,7) = "|"
│ │ │ └── closing_loc: (25,8)-(25,9) = "|"
│ │ ├── body:
│ │ │ @ StatementsNode (location: (25,10)-(25,15))
│ │ │ └── body: (length: 1)
│ │ │ └── @ BreakNode (location: (25,10)-(25,15))
│ │ │ ├── arguments: ∅
│ │ │ └── keyword_loc: (25,10)-(25,15) = "break"
│ │ ├── opening_loc: (25,4)-(25,5) = "{"
│ │ └── closing_loc: (25,16)-(25,17) = "}"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (25,4)-(25,17))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (25,6)-(25,9))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (25,7)-(25,8))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (25,6)-(25,7) = "|"
│ │ └── closing_loc: (25,8)-(25,9) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (25,10)-(25,15))
│ │ └── body: (length: 1)
│ │ └── @ BreakNode (location: (25,10)-(25,15))
│ │ ├── arguments: ∅
│ │ └── keyword_loc: (25,10)-(25,15) = "break"
│ ├── opening_loc: (25,4)-(25,5) = "{"
│ └── closing_loc: (25,16)-(25,17) = "}"
├── call_operator_loc: ∅
├── name: :==
├── message_loc: (25,18)-(25,20) = "=="
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (25,21)-(25,23))
│ ├── arguments: (length: 1)
│ └── @ IntegerNode (location: (25,21)-(25,23))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ IntegerNode (location: (25,21)-(25,23))
└── flags: decimal
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -35,6 +35,7 @@
│ │ │ @ StatementsNode (location: (5,22)-(5,30))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (5,22)-(5,30))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :puts
@ -42,16 +43,15 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (5,27)-(5,30))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30))
│ │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":"
│ │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "hi"
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30))
│ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":"
│ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "hi"
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── @ WhenNode (location: (5,32)-(5,53))
│ │ ├── keyword_loc: (5,32)-(5,36) = "when"
│ │ ├── conditions: (length: 1)
@ -60,6 +60,7 @@
│ │ @ StatementsNode (location: (5,44)-(5,53))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,44)-(5,53))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :puts
@ -67,16 +68,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,49)-(5,53))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (5,49)-(5,53))
│ │ │ │ ├── opening_loc: (5,49)-(5,50) = ":"
│ │ │ │ ├── value_loc: (5,50)-(5,53) = "bye"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "bye"
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ SymbolNode (location: (5,49)-(5,53))
│ │ │ ├── opening_loc: (5,49)-(5,50) = ":"
│ │ │ ├── value_loc: (5,50)-(5,53) = "bye"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "bye"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (5,0)-(5,4) = "case"
│ └── end_keyword_loc: (5,55)-(5,58) = "end"
@ -90,6 +90,7 @@
│ │ │ ├── operator_loc: (7,11)-(7,12) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (7,12)-(7,15))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -97,8 +98,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (7,0)-(7,4) = "case"
@ -137,6 +137,7 @@
├── @ CaseNode (location: (15,0)-(15,36))
│ ├── predicate:
│ │ @ CallNode (location: (15,5)-(15,9))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :this
@ -144,8 +145,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (15,11)-(15,31))
│ │ ├── keyword_loc: (15,11)-(15,15) = "when"
@ -165,8 +165,10 @@
│ │ ├── keyword_loc: (18,0)-(18,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (18,5)-(18,15))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (18,5)-(18,8))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@ -174,29 +176,27 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :==
│ │ │ ├── message_loc: (18,9)-(18,11) = "=="
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (18,12)-(18,15))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (18,12)-(18,15))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :bar
│ │ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: variable_call
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ CallNode (location: (18,12)-(18,15))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (18,12)-(18,15) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent: ∅
│ ├── case_keyword_loc: (17,0)-(17,4) = "case"
@ -208,6 +208,7 @@
│ │ ├── keyword_loc: (22,0)-(22,4) = "when"
│ │ ├── conditions: (length: 1)
│ │ │ └── @ CallNode (location: (22,5)-(22,6))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@ -215,8 +216,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── statements: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (23,0)-(25,3))
@ -228,6 +228,7 @@
├── @ CaseNode (location: (27,0)-(30,6))
│ ├── predicate:
│ │ @ CallNode (location: (27,5)-(27,9))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :type
@ -235,8 +236,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── conditions: (length: 1)
│ │ └── @ WhenNode (location: (28,3)-(28,10))
│ │ ├── keyword_loc: (28,3)-(28,7) = "when"

Просмотреть файл

@ -108,8 +108,10 @@
│ ├── operator_loc: (11,6)-(11,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (11,9)-(11,16))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (11,13)-(11,16))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -117,16 +119,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (11,9)-(11,12) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (12,0)-(12,3) = "end"
├── @ ClassNode (location: (14,0)-(14,40))
@ -210,8 +210,10 @@
│ ├── operator_loc: (18,6)-(18,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (18,9)-(18,16))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (18,9)-(18,12))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -219,16 +221,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: (18,12)-(18,13) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (18,13)-(18,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (19,0)-(19,3) = "end"
├── @ SingletonClassNode (location: (21,0)-(21,20))
@ -237,8 +237,10 @@
│ ├── operator_loc: (21,6)-(21,8) = "<<"
│ ├── expression:
│ │ @ CallNode (location: (21,9)-(21,16))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (21,9)-(21,12))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -246,16 +248,14 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: (21,12)-(21,13) = "."
│ │ ├── name: :bar
│ │ ├── message_loc: (21,13)-(21,16) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── body: ∅
│ └── end_keyword_loc: (21,17)-(21,20) = "end"
├── @ SingletonClassNode (location: (23,0)-(24,3))
@ -284,6 +284,7 @@
│ │ @ StatementsNode (location: (29,0)-(29,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (29,0)-(29,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ │ └── flags: decimal
@ -293,13 +294,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (29,4)-(29,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (29,4)-(29,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (29,4)-(29,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── end_keyword_loc: (30,0)-(30,3) = "end"
├── @ SingletonClassNode (location: (32,0)-(32,23))
│ ├── locals: []
@ -311,6 +311,7 @@
│ │ @ StatementsNode (location: (32,14)-(32,19))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (32,14)-(32,19))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (32,14)-(32,15))
│ │ │ └── flags: decimal
@ -320,13 +321,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (32,18)-(32,19))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (32,18)-(32,19))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (32,18)-(32,19))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── end_keyword_loc: (32,20)-(32,23) = "end"
└── @ ClassNode (location: (34,0)-(35,3))
├── locals: []
@ -337,6 +337,7 @@
├── inheritance_operator_loc: (34,8)-(34,9) = "<"
├── superclass:
│ @ CallNode (location: (34,10)-(34,14))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ ConstantReadNode (location: (34,10)-(34,11))
│ │ └── name: :B
@ -346,13 +347,12 @@
│ ├── opening_loc: (34,11)-(34,12) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (34,12)-(34,13))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (34,12)-(34,13))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (34,12)-(34,13))
│ │ └── flags: decimal
│ ├── closing_loc: (34,13)-(34,14) = "]"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── body: ∅
├── end_keyword_loc: (35,0)-(35,3) = "end"
└── name: :A

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(41,10))
└── body: (length: 21)
├── @ CallNode (location: (1,0)-(1,5))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -11,14 +12,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (3,0)-(3,9))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -26,30 +27,30 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,4)-(3,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (3,4)-(3,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (3,4)-(3,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (3,8)-(3,9))
│ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (3,4)-(3,9))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
│ │ ├── message_loc: (3,4)-(3,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,8)-(3,9))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ IfNode (location: (5,0)-(5,14))
│ ├── if_keyword_loc: (5,6)-(5,8) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (5,9)-(5,14))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -57,18 +58,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,13)-(5,14))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (5,13)-(5,14))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,13)-(5,14))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (5,0)-(5,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (5,0)-(5,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -76,19 +77,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,4)-(5,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (5,4)-(5,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,4)-(5,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
├── @ UnlessNode (location: (7,0)-(7,18))
│ ├── keyword_loc: (7,6)-(7,12) = "unless"
│ ├── predicate:
│ │ @ CallNode (location: (7,13)-(7,18))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -96,18 +97,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,17)-(7,18))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (7,17)-(7,18))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (7,17)-(7,18))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (7,0)-(7,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (7,0)-(7,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -115,20 +116,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (7,4)-(7,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (7,4)-(7,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: ∅
├── @ WhileNode (location: (9,0)-(9,17))
│ ├── flags: ∅
│ ├── keyword_loc: (9,6)-(9,11) = "while"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (9,12)-(9,17))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -136,37 +138,37 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,16)-(9,17))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (9,16)-(9,17))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (9,16)-(9,17))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (9,0)-(9,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (9,0)-(9,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
│ │ ├── message_loc: (9,0)-(9,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (9,4)-(9,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ └── flags: ∅
│ │ └── block: ∅
│ └── statements:
│ @ StatementsNode (location: (9,0)-(9,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (9,0)-(9,5))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
│ ├── message_loc: (9,0)-(9,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,4)-(9,5))
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (9,4)-(9,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ └── block: ∅
├── @ UntilNode (location: (11,0)-(11,17))
│ ├── flags: ∅
│ ├── keyword_loc: (11,6)-(11,11) = "until"
│ ├── closing_loc: ∅
│ ├── predicate:
│ │ @ CallNode (location: (11,12)-(11,17))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -174,35 +176,34 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,16)-(11,17))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (11,16)-(11,17))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (11,16)-(11,17))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (11,0)-(11,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (11,0)-(11,5))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
│ │ ├── message_loc: (11,0)-(11,3) = "foo"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ └── flags: ∅
│ │ └── block: ∅
│ └── statements:
│ @ StatementsNode (location: (11,0)-(11,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (11,0)-(11,5))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
│ ├── message_loc: (11,0)-(11,3) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ └── block: ∅
├── @ RescueModifierNode (location: (13,0)-(13,18))
│ ├── expression:
│ │ @ CallNode (location: (13,0)-(13,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -210,16 +211,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (13,4)-(13,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── keyword_loc: (13,6)-(13,12) = "rescue"
│ └── rescue_expression:
│ @ CallNode (location: (13,13)-(13,18))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :bar
@ -227,16 +228,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,17)-(13,18))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (13,17)-(13,18))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (13,17)-(13,18))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (15,0)-(15,10))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (15,0)-(15,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -244,37 +246,36 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (15,3)-(15,10) = "[bar 1]"
│ ├── opening_loc: (15,3)-(15,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,4)-(15,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (15,4)-(15,9))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (15,4)-(15,7) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (15,8)-(15,9))
│ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (15,8)-(15,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (15,4)-(15,9))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
│ │ ├── message_loc: (15,4)-(15,7) = "bar"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (15,8)-(15,9))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (15,8)-(15,9))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: (15,9)-(15,10) = "]"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ AndNode (location: (17,0)-(17,15))
│ ├── left:
│ │ @ CallNode (location: (17,0)-(17,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -282,15 +283,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,4)-(17,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (17,10)-(17,15))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -298,17 +299,17 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,14)-(17,15))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (17,14)-(17,15))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (17,6)-(17,9) = "and"
├── @ OrNode (location: (19,0)-(19,14))
│ ├── left:
│ │ @ CallNode (location: (19,0)-(19,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -316,15 +317,15 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,4)-(19,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (19,9)-(19,14))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -332,17 +333,18 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,13)-(19,14))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (19,13)-(19,14))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (19,13)-(19,14))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (19,6)-(19,8) = "or"
├── @ CallNode (location: (21,0)-(21,9))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (21,4)-(21,9))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -350,21 +352,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (21,8)-(21,9))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (21,8)-(21,9))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (21,8)-(21,9))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (21,0)-(21,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ LocalVariableWriteNode (location: (23,0)-(23,17))
│ ├── name: :foo
│ ├── depth: 0
@ -376,6 +376,7 @@
│ │ ├── name_loc: (23,6)-(23,9) = "bar"
│ │ ├── value:
│ │ │ @ CallNode (location: (23,12)-(23,17))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :baz
@ -383,13 +384,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (23,16)-(23,17))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── operator_loc: (23,10)-(23,11) = "="
│ └── operator_loc: (23,4)-(23,5) = "="
├── @ DefNode (location: (25,0)-(25,15))
@ -401,6 +401,7 @@
│ │ @ StatementsNode (location: (25,10)-(25,15))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (25,10)-(25,15))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -408,13 +409,12 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,14)-(25,15))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (25,14)-(25,15))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (25,14)-(25,15))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (25,0)-(25,3) = "def"
@ -424,6 +424,7 @@
│ ├── equal_loc: (25,8)-(25,9) = "="
│ └── end_keyword_loc: ∅
├── @ CallNode (location: (27,0)-(27,7))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (27,0)-(27,1))
│ │ └── flags: decimal
@ -433,16 +434,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,6)-(27,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (27,6)-(27,7))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (27,6)-(27,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (29,0)-(29,11))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (29,0)-(29,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ │ └── flags: decimal
@ -452,26 +454,27 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: (29,5)-(29,6) = "."
│ ├── name: :bar
│ ├── message_loc: (29,6)-(29,9) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,10)-(29,11))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (29,10)-(29,11))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (29,10)-(29,11))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (31,0)-(31,14))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (31,0)-(31,8))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (31,0)-(31,5))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (31,0)-(31,1))
│ │ │ │ └── flags: decimal
@ -481,37 +484,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :[]
│ │ ├── message_loc: (31,5)-(31,8) = "[2]"
│ │ ├── opening_loc: (31,5)-(31,6) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (31,6)-(31,7))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: (31,7)-(31,8) = "]"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: (31,8)-(31,9) = "."
│ ├── name: :bar
│ ├── message_loc: (31,9)-(31,12) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,13)-(31,14))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (31,13)-(31,14))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (31,13)-(31,14))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (33,0)-(33,14))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (33,0)-(33,8))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (33,0)-(33,1))
│ │ │ └── flags: decimal
@ -521,29 +523,29 @@
│ │ ├── opening_loc: (33,5)-(33,6) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (33,6)-(33,7))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (33,6)-(33,7))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: (33,7)-(33,8) = ")"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: (33,8)-(33,9) = "."
│ ├── name: :bar
│ ├── message_loc: (33,9)-(33,12) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,13)-(33,14))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (33,13)-(33,14))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (33,13)-(33,14))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (35,0)-(35,15))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (35,0)-(35,9))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (35,0)-(35,1))
│ │ │ └── flags: decimal
@ -553,31 +555,31 @@
│ │ ├── opening_loc: (35,5)-(35,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (35,8)-(35,9) = ")"
│ │ ├── block:
│ │ │ @ BlockArgumentNode (location: (35,6)-(35,8))
│ │ │ ├── expression:
│ │ │ │ @ IntegerNode (location: (35,7)-(35,8))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: (35,6)-(35,7) = "&"
│ │ └── flags: ∅
│ │ └── block:
│ │ @ BlockArgumentNode (location: (35,6)-(35,8))
│ │ ├── expression:
│ │ │ @ IntegerNode (location: (35,7)-(35,8))
│ │ │ └── flags: decimal
│ │ └── operator_loc: (35,6)-(35,7) = "&"
│ ├── call_operator_loc: (35,9)-(35,10) = "."
│ ├── name: :bar
│ ├── message_loc: (35,10)-(35,13) = "bar"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,14)-(35,15))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (35,14)-(35,15))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (35,14)-(35,15))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ AndNode (location: (37,0)-(37,17))
│ ├── left:
│ │ @ CallNode (location: (37,0)-(37,6))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (37,1)-(37,6))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -585,25 +587,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,5)-(37,6))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (37,0)-(37,1) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (37,11)-(37,17))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (37,12)-(37,17))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -611,27 +613,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (37,16)-(37,17))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (37,11)-(37,12) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (37,7)-(37,10) = "and"
├── @ OrNode (location: (39,0)-(39,16))
│ ├── left:
│ │ @ CallNode (location: (39,0)-(39,6))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (39,1)-(39,6))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -639,25 +641,25 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,5)-(39,6))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (39,0)-(39,1) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (39,10)-(39,16))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (39,11)-(39,16))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -665,27 +667,28 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (39,15)-(39,16))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (39,10)-(39,11) = "!"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (39,7)-(39,9) = "or"
└── @ CallNode (location: (41,0)-(41,10))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (41,4)-(41,10))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (41,5)-(41,10))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -693,26 +696,23 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (41,9)-(41,10))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (41,9)-(41,10))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (41,9)-(41,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (41,4)-(41,5) = "!"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── call_operator_loc: ∅
├── name: :!
├── message_loc: (41,0)-(41,3) = "not"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(24,5))
└── body: (length: 9)
├── @ CallNode (location: (1,0)-(1,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -11,9 +12,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ CallNode (location: (3,0)-(3,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :b
@ -21,9 +22,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ CallNode (location: (5,0)-(5,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@ -31,9 +32,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ CallNode (location: (6,0)-(6,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :d
@ -41,11 +42,12 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ CallNode (location: (8,0)-(10,4))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (8,0)-(8,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :e
@ -53,19 +55,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (10,2)-(10,3) = "."
│ ├── name: :f
│ ├── message_loc: (10,3)-(10,4) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (12,0)-(14,2))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (12,0)-(12,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
@ -73,19 +75,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (14,0)-(14,1) = "."
│ ├── name: :h
│ ├── message_loc: (14,1)-(14,2) = "h"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (16,0)-(17,2))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (16,0)-(16,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :i
@ -93,19 +95,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (17,0)-(17,1) = "."
│ ├── name: :j
│ ├── message_loc: (17,1)-(17,2) = "j"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (19,0)-(20,4))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (19,0)-(19,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :k
@ -113,19 +115,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (20,2)-(20,3) = "."
│ ├── name: :l
│ ├── message_loc: (20,3)-(20,4) = "l"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (22,0)-(24,5))
├── flags: safe_navigation
├── receiver:
│ @ CallNode (location: (22,0)-(22,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :m
@ -133,13 +135,11 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── call_operator_loc: (24,2)-(24,4) = "&."
├── name: :n
├── message_loc: (24,4)-(24,5) = "n"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: safe_navigation
└── block: ∅

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -10,6 +10,7 @@
│ ├── closing_loc: (3,0)-(4,0) = "EOF\n"
│ └── unescaped: " a\n"
├── @ CallNode (location: (5,0)-(5,20))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (5,0)-(5,8))
│ │ ├── flags: ∅
@ -23,17 +24,16 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,11)-(5,20))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (5,11)-(5,20))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND"
│ │ │ ├── content_loc: (8,0)-(9,0) = " b\n"
│ │ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n"
│ │ │ └── unescaped: " b\n"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ StringNode (location: (5,11)-(5,20))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (5,11)-(5,20) = "<<-SECOND"
│ │ ├── content_loc: (8,0)-(9,0) = " b\n"
│ │ ├── closing_loc: (9,0)-(10,0) = "SECOND\n"
│ │ └── unescaped: " b\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ InterpolatedXStringNode (location: (11,0)-(11,8))
│ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`"
│ ├── parts: (length: 3)
@ -49,6 +49,7 @@
│ │ │ │ @ StatementsNode (location: (13,2)-(13,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (13,2)-(13,3))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -56,8 +57,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (13,3)-(13,4) = "}"
│ │ └── @ StringNode (location: (13,4)-(14,0))
│ │ ├── flags: ∅
@ -93,6 +93,7 @@
│ │ │ │ @ StatementsNode (location: (27,2)-(27,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (27,2)-(27,3))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -100,8 +101,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (27,3)-(27,4) = "}"
│ │ └── @ StringNode (location: (27,4)-(28,0))
│ │ ├── flags: ∅
@ -125,6 +125,7 @@
│ │ │ │ @ StatementsNode (location: (32,2)-(32,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (32,2)-(32,3))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -132,8 +133,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (32,3)-(32,4) = "}"
│ │ └── @ StringNode (location: (32,4)-(33,0))
│ │ ├── flags: ∅
@ -167,6 +167,7 @@
│ ├── closing_loc: (47,0)-(48,0) = "EOF\n"
│ └── unescaped: " a \#{1}\n"
├── @ CallNode (location: (49,0)-(49,11))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (49,0)-(49,4))
│ │ ├── flags: ∅
@ -180,36 +181,36 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (49,7)-(49,11))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11))
│ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B"
│ │ │ ├── parts: (length: 3)
│ │ │ │ ├── @ StringNode (location: (52,0)-(53,2))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n "
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: " b\n "
│ │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3))
│ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{"
│ │ │ │ │ ├── statements:
│ │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}"
│ │ │ │ └── @ StringNode (location: (54,3)-(55,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── content_loc: (54,3)-(55,0) = "\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "\n"
│ │ │ └── closing_loc: (55,0)-(56,0) = "B\n"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ InterpolatedStringNode (location: (49,7)-(49,11))
│ │ ├── opening_loc: (49,7)-(49,11) = "<<-B"
│ │ ├── parts: (length: 3)
│ │ │ ├── @ StringNode (location: (52,0)-(53,2))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n "
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: " b\n "
│ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3))
│ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{"
│ │ │ │ ├── statements:
│ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── closing_loc: (54,2)-(54,3) = "}"
│ │ │ └── @ StringNode (location: (54,3)-(55,0))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── content_loc: (54,3)-(55,0) = "\n"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "\n"
│ │ └── closing_loc: (55,0)-(56,0) = "B\n"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (57,0)-(57,11))
├── flags: ∅
├── receiver:
│ @ StringNode (location: (57,0)-(57,4))
│ ├── flags: ∅
@ -223,32 +224,31 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (57,7)-(57,11))
│ ├── arguments: (length: 1)
│ └── @ InterpolatedStringNode (location: (57,7)-(57,11))
│ ├── opening_loc: (57,7)-(57,11) = "<<-B"
│ ├── parts: (length: 3)
│ │ ├── @ StringNode (location: (60,0)-(61,2))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: ∅
│ │ │ ├── content_loc: (60,0)-(61,2) = " b\n "
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: " b\n "
│ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4))
│ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{"
│ │ │ ├── statements:
│ │ │ │ @ StatementsNode (location: (62,2)-(62,3))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3))
│ │ │ │ └── flags: decimal
│ │ │ └── closing_loc: (62,3)-(62,4) = "}"
│ │ └── @ StringNode (location: (62,4)-(63,0))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── content_loc: (62,4)-(63,0) = "\n"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "\n"
│ └── closing_loc: (63,0)-(64,0) = "B\n"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ InterpolatedStringNode (location: (57,7)-(57,11))
├── opening_loc: (57,7)-(57,11) = "<<-B"
├── parts: (length: 3)
│ ├── @ StringNode (location: (60,0)-(61,2))
│ │ ├── flags: ∅
│ │ ├── opening_loc: ∅
│ │ ├── content_loc: (60,0)-(61,2) = " b\n "
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " b\n "
│ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4))
│ │ ├── opening_loc: (61,2)-(61,4) = "\#{"
│ │ ├── statements:
│ │ │ @ StatementsNode (location: (62,2)-(62,3))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (62,2)-(62,3))
│ │ │ └── flags: decimal
│ │ └── closing_loc: (62,3)-(62,4) = "}"
│ └── @ StringNode (location: (62,4)-(63,0))
│ ├── flags: ∅
│ ├── opening_loc: ∅
│ ├── content_loc: (62,4)-(63,0) = "\n"
│ ├── closing_loc: ∅
│ └── unescaped: "\n"
└── closing_loc: (63,0)-(64,0) = "B\n"
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -41,6 +41,7 @@
│ │ @ AndNode (location: (5,9)-(5,20))
│ │ ├── left:
│ │ │ @ CallNode (location: (5,9)-(5,12))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -48,10 +49,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (5,17)-(5,20))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -59,8 +60,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: (5,13)-(5,16) = "and"
│ ├── rparen_loc: (5,20)-(5,21) = ")"
│ └── keyword_loc: (5,0)-(5,8) = "defined?"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(17,20))
└── body: (length: 5)
├── @ CallNode (location: (1,0)-(2,12))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :puts
@ -11,28 +12,28 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,5)-(2,12))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── parts: (length: 2)
│ │ │ │ ├── @ StringNode (location: (1,5)-(1,9))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
│ │ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi"
│ │ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ │ │ │ └── unescaped: "hi"
│ │ │ │ └── @ StringNode (location: (2,5)-(2,12))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (2,5)-(2,6) = "\""
│ │ │ │ ├── content_loc: (2,6)-(2,11) = "there"
│ │ │ │ ├── closing_loc: (2,11)-(2,12) = "\""
│ │ │ │ └── unescaped: "there"
│ │ │ └── closing_loc: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12))
│ │ ├── opening_loc: ∅
│ │ ├── parts: (length: 2)
│ │ │ ├── @ StringNode (location: (1,5)-(1,9))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (1,5)-(1,6) = "\""
│ │ │ │ ├── content_loc: (1,6)-(1,8) = "hi"
│ │ │ │ ├── closing_loc: (1,8)-(1,9) = "\""
│ │ │ │ └── unescaped: "hi"
│ │ │ └── @ StringNode (location: (2,5)-(2,12))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (2,5)-(2,6) = "\""
│ │ │ ├── content_loc: (2,6)-(2,11) = "there"
│ │ │ ├── closing_loc: (2,11)-(2,12) = "\""
│ │ │ └── unescaped: "there"
│ │ └── closing_loc: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ ArrayNode (location: (4,0)-(5,2))
│ ├── flags: ∅
│ ├── elements: (length: 1)
│ │ └── @ SymbolNode (location: (4,3)-(5,1))
│ │ ├── opening_loc: ∅
@ -40,8 +41,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "a\nb"
│ ├── opening_loc: (4,0)-(4,3) = "%I{"
│ ├── closing_loc: (5,1)-(5,2) = "}"
│ └── flags: ∅
│ └── closing_loc: (5,1)-(5,2) = "}"
├── @ StringNode (location: (7,0)-(7,4))
│ ├── flags: ∅
│ ├── opening_loc: (7,0)-(7,4) = "<<-E"
@ -66,6 +66,7 @@
├── name_loc: (17,0)-(17,1) = "a"
├── value:
│ @ CallNode (location: (17,4)-(17,20))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -73,35 +74,34 @@
│ ├── opening_loc: (17,7)-(17,8) = "("
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,8)-(17,19))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (17,8)-(17,19))
│ │ │ ├── receiver:
│ │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14))
│ │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF"
│ │ │ │ ├── parts: (length: 2)
│ │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0))
│ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n"
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ └── unescaped: "\n"
│ │ │ │ │ └── @ StringNode (location: (19,0)-(20,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "baz\r\n"
│ │ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n"
│ │ │ ├── call_operator_loc: (17,14)-(17,15) = "."
│ │ │ ├── name: :chop
│ │ │ ├── message_loc: (17,15)-(17,19) = "chop"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (17,8)-(17,19))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14))
│ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF"
│ │ │ ├── parts: (length: 2)
│ │ │ │ ├── @ StringNode (location: (18,0)-(19,0))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "\n"
│ │ │ │ └── @ StringNode (location: (19,0)-(20,0))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "baz\r\n"
│ │ │ └── closing_loc: (20,0)-(21,0) = " EOF\r\n"
│ │ ├── call_operator_loc: (17,14)-(17,15) = "."
│ │ ├── name: :chop
│ │ ├── message_loc: (17,15)-(17,19) = "chop"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: (17,19)-(17,20) = ")"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── operator_loc: (17,2)-(17,3) = "="

Просмотреть файл

@ -30,6 +30,7 @@
│ │ @ StatementsNode (location: (3,10)-(3,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (3,10)-(3,14))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :A
@ -37,17 +38,16 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (3,12)-(3,14))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ StringNode (location: (3,12)-(3,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (3,12)-(3,13) = "\""
│ │ │ │ ├── content_loc: (3,13)-(3,13) = ""
│ │ │ │ ├── closing_loc: (3,13)-(3,14) = "\""
│ │ │ │ └── unescaped: ""
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (3,12)-(3,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (3,12)-(3,13) = "\""
│ │ │ ├── content_loc: (3,13)-(3,13) = ""
│ │ │ ├── closing_loc: (3,13)-(3,14) = "\""
│ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (3,0)-(3,3) = "def"
@ -65,8 +65,10 @@
│ @ StatementsNode (location: (5,13)-(5,22))
│ └── body: (length: 1)
│ └── @ CallNode (location: (5,13)-(5,22))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,13)-(5,18))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (5,13)-(5,14))
│ │ │ └── flags: decimal
@ -76,26 +78,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (5,17)-(5,18))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (5,17)-(5,18))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,17)-(5,18))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (5,19)-(5,20) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,21)-(5,22))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,21)-(5,22))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (5,21)-(5,22))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── locals: []
├── locals_body_index: 0
├── def_keyword_loc: (5,0)-(5,3) = "def"

Просмотреть файл

@ -7,14 +7,14 @@
│ ├── if_keyword_loc: (1,0)-(1,2) = "if"
│ ├── predicate:
│ │ @ FlipFlopNode (location: (1,3)-(1,7))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,3)-(1,4))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (1,4)-(1,6) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (1,4)-(1,6) = ".."
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@ -23,12 +23,12 @@
│ ├── if_keyword_loc: (2,0)-(2,2) = "if"
│ ├── predicate:
│ │ @ FlipFlopNode (location: (2,3)-(2,6))
│ │ ├── flags: ∅
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (2,5)-(2,6))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (2,3)-(2,5) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (2,3)-(2,5) = ".."
│ ├── then_keyword_loc: ∅
│ ├── statements: ∅
│ ├── consequent: ∅
@ -37,12 +37,12 @@
├── if_keyword_loc: (3,0)-(3,2) = "if"
├── predicate:
│ @ FlipFlopNode (location: (3,3)-(3,6))
│ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ └── flags: decimal
│ ├── right: ∅
│ ├── operator_loc: (3,4)-(3,6) = ".."
│ └── flags: ∅
│ └── operator_loc: (3,4)-(3,6) = ".."
├── then_keyword_loc: ∅
├── statements: ∅
├── consequent: ∅

Просмотреть файл

@ -10,14 +10,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (1,9)-(1,14))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (1,10)-(1,12) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (1,10)-(1,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (2,0)-(2,1))
│ │ └── body: (length: 1)
@ -35,14 +35,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (5,9)-(5,14))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (5,9)-(5,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (5,12)-(5,14))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (5,10)-(5,12) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (5,10)-(5,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (5,16)-(5,17))
│ │ └── body: (length: 1)
@ -69,14 +69,14 @@
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (7,11)-(7,16))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (7,11)-(7,12))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (7,14)-(7,16))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (7,12)-(7,14) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (7,12)-(7,14) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (8,0)-(8,1))
│ │ └── body: (length: 1)
@ -106,14 +106,14 @@
│ │ └── rparen_loc: ∅
│ ├── collection:
│ │ @ RangeNode (location: (11,13)-(11,18))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (11,13)-(11,14))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (11,16)-(11,18))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (11,14)-(11,16) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (11,14)-(11,16) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (12,0)-(12,1))
│ │ └── body: (length: 1)
@ -131,14 +131,14 @@
│ │ └── depth: 0
│ ├── collection:
│ │ @ RangeNode (location: (15,9)-(15,14))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (15,9)-(15,10))
│ │ │ └── flags: decimal
│ │ ├── right:
│ │ │ @ IntegerNode (location: (15,12)-(15,14))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (15,10)-(15,12) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (15,10)-(15,12) = ".."
│ ├── statements:
│ │ @ StatementsNode (location: (16,0)-(16,1))
│ │ └── body: (length: 1)
@ -156,14 +156,14 @@
│ └── depth: 0
├── collection:
│ @ RangeNode (location: (19,9)-(19,14))
│ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (19,9)-(19,10))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (19,12)-(19,14))
│ │ └── flags: decimal
│ ├── operator_loc: (19,10)-(19,12) = ".."
│ └── flags: ∅
│ └── operator_loc: (19,10)-(19,12) = ".."
├── statements:
│ @ StatementsNode (location: (19,16)-(19,17))
│ └── body: (length: 1)

Просмотреть файл

@ -17,6 +17,7 @@
│ │ ├── @ AssocNode (location: (6,2)-(6,8))
│ │ │ ├── key:
│ │ │ │ @ CallNode (location: (6,2)-(6,3))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@ -24,10 +25,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (6,7)-(6,8))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -35,12 +36,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (6,4)-(6,6) = "=>"
│ │ └── @ AssocNode (location: (6,10)-(6,16))
│ │ ├── key:
│ │ │ @ CallNode (location: (6,10)-(6,11))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -48,10 +49,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── value:
│ │ │ @ CallNode (location: (6,15)-(6,16))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@ -59,8 +60,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: (6,12)-(6,14) = "=>"
│ └── closing_loc: (6,17)-(6,18) = "}"
├── @ HashNode (location: (8,0)-(8,15))
@ -69,6 +69,7 @@
│ │ ├── @ AssocNode (location: (8,2)-(8,8))
│ │ │ ├── key:
│ │ │ │ @ CallNode (location: (8,2)-(8,3))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@ -76,10 +77,10 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (8,7)-(8,8))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -87,12 +88,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (8,4)-(8,6) = "=>"
│ │ └── @ AssocSplatNode (location: (8,10)-(8,13))
│ │ ├── value:
│ │ │ @ CallNode (location: (8,12)-(8,13))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
@ -100,8 +101,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: (8,10)-(8,12) = "**"
│ └── closing_loc: (8,14)-(8,15) = "}"
├── @ HashNode (location: (10,0)-(16,5))
@ -116,6 +116,7 @@
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (11,9)-(11,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -123,8 +124,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ └── @ AssocNode (location: (12,6)-(12,10))
│ │ ├── key:
@ -135,6 +135,7 @@
│ │ │ └── unescaped: "c"
│ │ ├── value:
│ │ │ @ CallNode (location: (12,9)-(12,10))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
@ -142,8 +143,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (16,4)-(16,5) = "}"
├── @ HashNode (location: (18,0)-(18,25))
@ -158,6 +158,7 @@
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,5)-(18,6))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -165,8 +166,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocNode (location: (18,8)-(18,12))
│ │ │ ├── key:
@ -177,6 +177,7 @@
│ │ │ │ └── unescaped: "c"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,11)-(18,12))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
@ -184,12 +185,12 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocSplatNode (location: (18,14)-(18,17))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (18,16)-(18,17))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :e
@ -197,8 +198,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (18,14)-(18,16) = "**"
│ │ └── @ AssocNode (location: (18,19)-(18,23))
│ │ ├── key:
@ -209,6 +209,7 @@
│ │ │ └── unescaped: "f"
│ │ ├── value:
│ │ │ @ CallNode (location: (18,22)-(18,23))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :g
@ -216,8 +217,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (18,24)-(18,25) = "}"
├── @ HashNode (location: (20,0)-(20,12))
@ -232,8 +232,10 @@
│ │ │ └── unescaped: "a"
│ │ ├── value:
│ │ │ @ CallNode (location: (20,7)-(20,10))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (20,8)-(20,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b?
@ -241,16 +243,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :!
│ │ │ ├── message_loc: (20,7)-(20,8) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── operator_loc: ∅
│ └── closing_loc: (20,11)-(20,12) = "}"
├── @ LocalVariableWriteNode (location: (22,0)-(22,5))
@ -262,6 +262,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (22,2)-(22,3) = "="
└── @ CallNode (location: (23,0)-(26,3))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@ -269,88 +270,87 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (23,4)-(26,3))
│ ├── locals: [:b]
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (24,2)-(25,20))
│ │ └── body: (length: 2)
│ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7))
│ │ │ ├── name: :b
│ │ │ ├── depth: 0
│ │ │ ├── name_loc: (24,2)-(24,3) = "b"
│ │ │ ├── value:
│ │ │ │ @ IntegerNode (location: (24,6)-(24,7))
│ │ │ │ └── flags: decimal
│ │ │ └── operator_loc: (24,4)-(24,5) = "="
│ │ └── @ HashNode (location: (25,2)-(25,20))
│ │ ├── opening_loc: (25,2)-(25,3) = "{"
│ │ ├── elements: (length: 4)
│ │ │ ├── @ AssocNode (location: (25,4)-(25,6))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
│ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ │ └── unescaped: "a"
│ │ │ │ ├── value:
│ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ │ └── value:
│ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── name: :a
│ │ │ │ │ └── depth: 1
│ │ │ │ └── operator_loc: ∅
│ │ │ ├── @ AssocNode (location: (25,8)-(25,10))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
│ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
│ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10))
│ │ │ │ │ └── value:
│ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
│ │ │ │ └── operator_loc: ∅
│ │ │ ├── @ AssocNode (location: (25,12)-(25,14))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
│ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
│ │ │ │ │ └── unescaped: "c"
│ │ │ │ ├── value:
│ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14))
│ │ │ │ │ └── value:
│ │ │ │ │ @ CallNode (location: (25,12)-(25,14))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :c
│ │ │ │ │ ├── message_loc: (25,12)-(25,13) = "c"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: ∅
│ │ │ │ └── operator_loc: ∅
│ │ │ └── @ AssocNode (location: (25,16)-(25,18))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,16)-(25,18))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,16)-(25,17) = "D"
│ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":"
│ │ │ │ └── unescaped: "D"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (25,16)-(25,18))
│ │ │ │ └── value:
│ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18))
│ │ │ │ └── name: :D
│ │ │ └── operator_loc: ∅
│ │ └── closing_loc: (25,19)-(25,20) = "}"
│ ├── opening_loc: (23,4)-(23,6) = "do"
│ └── closing_loc: (26,0)-(26,3) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (23,4)-(26,3))
├── locals: [:b]
├── locals_body_index: 0
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (24,2)-(25,20))
│ └── body: (length: 2)
│ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7))
│ │ ├── name: :b
│ │ ├── depth: 0
│ │ ├── name_loc: (24,2)-(24,3) = "b"
│ │ ├── value:
│ │ │ @ IntegerNode (location: (24,6)-(24,7))
│ │ │ └── flags: decimal
│ │ └── operator_loc: (24,4)-(24,5) = "="
│ └── @ HashNode (location: (25,2)-(25,20))
│ ├── opening_loc: (25,2)-(25,3) = "{"
│ ├── elements: (length: 4)
│ │ ├── @ AssocNode (location: (25,4)-(25,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,4)-(25,5) = "a"
│ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ └── unescaped: "a"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ └── value:
│ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 1
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocNode (location: (25,8)-(25,10))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,8)-(25,10))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,8)-(25,9) = "b"
│ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (25,8)-(25,10))
│ │ │ │ └── value:
│ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ └── operator_loc: ∅
│ │ ├── @ AssocNode (location: (25,12)-(25,14))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,12)-(25,14))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,12)-(25,13) = "c"
│ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":"
│ │ │ │ └── unescaped: "c"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (25,12)-(25,14))
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (25,12)-(25,14))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :c
│ │ │ │ ├── message_loc: (25,12)-(25,13) = "c"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ └── @ AssocNode (location: (25,16)-(25,18))
│ │ ├── key:
│ │ │ @ SymbolNode (location: (25,16)-(25,18))
│ │ │ ├── opening_loc: ∅
│ │ │ ├── value_loc: (25,16)-(25,17) = "D"
│ │ │ ├── closing_loc: (25,17)-(25,18) = ":"
│ │ │ └── unescaped: "D"
│ │ ├── value:
│ │ │ @ ImplicitNode (location: (25,16)-(25,18))
│ │ │ └── value:
│ │ │ @ ConstantReadNode (location: (25,16)-(25,18))
│ │ │ └── name: :D
│ │ └── operator_loc: ∅
│ └── closing_loc: (25,19)-(25,20) = "}"
├── opening_loc: (23,4)-(23,6) = "do"
└── closing_loc: (26,0)-(26,3) = "end"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
├── flags: ∅
├── receiver:
│ @ StringNode (location: (1,0)-(1,9))
│ ├── flags: ∅
@ -17,5 +18,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -1,11 +0,0 @@
@ ProgramNode (location: (1,0)-(1,9))
├── locals: []
└── statements:
@ StatementsNode (location: (1,0)-(1,9))
└── body: (length: 1)
└── @ StringNode (location: (1,0)-(1,9))
├── flags: ∅
├── opening_loc: (1,0)-(1,9) = "<<-TARGET"
├── content_loc: (2,0)-(3,0) = " data\r\n"
├── closing_loc: (3,0)-(4,0) = "TARGET\r\n"
└── unescaped: " data\r\n"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(5,25))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,25))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ StringNode (location: (1,0)-(1,9))
│ │ ├── flags: ∅
@ -17,24 +18,24 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,15)-(1,25))
│ │ ├── arguments: (length: 2)
│ │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21))
│ │ │ │ ├── opening_loc: (1,15)-(1,16) = "/"
│ │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{"
│ │ │ │ ├── closing_loc: (1,20)-(1,21) = "/"
│ │ │ │ ├── unescaped: "^\\s{"
│ │ │ │ └── flags: ∅
│ │ │ └── @ StringNode (location: (1,23)-(1,25))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,23)-(1,24) = "'"
│ │ │ ├── content_loc: (1,24)-(1,24) = ""
│ │ │ ├── closing_loc: (1,24)-(1,25) = "'"
│ │ │ └── unescaped: ""
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 2)
│ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,15)-(1,16) = "/"
│ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{"
│ │ │ ├── closing_loc: (1,20)-(1,21) = "/"
│ │ │ └── unescaped: "^\\s{"
│ │ └── @ StringNode (location: (1,23)-(1,25))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,23)-(1,24) = "'"
│ │ ├── content_loc: (1,24)-(1,24) = ""
│ │ ├── closing_loc: (1,24)-(1,25) = "'"
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (5,0)-(5,25))
├── flags: ∅
├── receiver:
│ @ StringNode (location: (5,0)-(5,9))
│ ├── flags: ∅
@ -48,20 +49,19 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (5,15)-(5,25))
│ ├── arguments: (length: 2)
│ ├── @ RegularExpressionNode (location: (5,15)-(5,21))
│ │ ├── opening_loc: (5,15)-(5,16) = "/"
│ │ ├── content_loc: (5,16)-(5,20) = "^\\s{"
│ │ ├── closing_loc: (5,20)-(5,21) = "/"
│ │ ├── unescaped: "^\\s{"
│ │ └── flags: ∅
│ └── @ StringNode (location: (5,23)-(5,25))
│ ├── flags: ∅
│ ├── opening_loc: (5,23)-(5,24) = "'"
│ ├── content_loc: (5,24)-(5,24) = ""
│ ├── closing_loc: (5,24)-(5,25) = "'"
│ └── unescaped: ""
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 2)
├── @ RegularExpressionNode (location: (5,15)-(5,21))
│ ├── flags: ∅
│ ├── opening_loc: (5,15)-(5,16) = "/"
│ ├── content_loc: (5,16)-(5,20) = "^\\s{"
│ ├── closing_loc: (5,20)-(5,21) = "/"
│ └── unescaped: "^\\s{"
└── @ StringNode (location: (5,23)-(5,25))
├── flags: ∅
├── opening_loc: (5,23)-(5,24) = "'"
├── content_loc: (5,24)-(5,24) = ""
├── closing_loc: (5,24)-(5,25) = "'"
└── unescaped: ""
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -130,6 +130,7 @@
│ ├── if_keyword_loc: (16,0)-(16,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (16,3)-(16,12))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :exit_loop
@ -137,8 +138,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── then_keyword_loc: (16,13)-(16,17) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (16,18)-(16,26))
@ -146,10 +146,10 @@
│ │ └── @ BreakNode (location: (16,18)-(16,26))
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (16,24)-(16,26))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (16,24)-(16,26))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (16,24)-(16,26))
│ │ │ └── flags: decimal
│ │ └── keyword_loc: (16,18)-(16,23) = "break"
│ ├── consequent: ∅
│ └── end_keyword_loc: (16,27)-(16,30) = "end"
@ -157,6 +157,7 @@
│ ├── if_keyword_loc: (18,0)-(18,2) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (18,3)-(18,6))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -164,13 +165,13 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── then_keyword_loc: (19,0)-(19,4) = "then"
│ ├── statements:
│ │ @ StatementsNode (location: (19,5)-(19,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (19,5)-(19,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -178,14 +179,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (20,0)-(20,3) = "end"
├── @ IfNode (location: (22,0)-(22,11))
│ ├── if_keyword_loc: (22,7)-(22,9) = "if"
│ ├── predicate:
│ │ @ CallNode (location: (22,10)-(22,11))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
@ -193,8 +194,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── then_keyword_loc: ∅
│ ├── statements:
│ │ @ StatementsNode (location: (22,0)-(22,6))
@ -203,6 +203,7 @@
│ │ ├── if_keyword_loc: (22,2)-(22,4) = "if"
│ │ ├── predicate:
│ │ │ @ CallNode (location: (22,5)-(22,6))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -210,13 +211,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── then_keyword_loc: ∅
│ │ ├── statements:
│ │ │ @ StatementsNode (location: (22,0)-(22,1))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (22,0)-(22,1))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@ -224,8 +225,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── consequent: ∅
│ │ └── end_keyword_loc: ∅
│ ├── consequent: ∅
@ -239,6 +239,7 @@
│ │ @ StatementsNode (location: (25,2)-(25,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (25,2)-(25,6))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -246,34 +247,33 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (25,4)-(25,6))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6))
│ │ │ │ └── elements: (length: 1)
│ │ │ │ └── @ AssocNode (location: (25,4)-(25,6))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
│ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
│ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ │ └── value:
│ │ │ │ │ @ CallNode (location: (25,4)-(25,6))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :b
│ │ │ │ │ ├── message_loc: (25,4)-(25,5) = "b"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: ∅
│ │ │ │ └── operator_loc: ∅
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6))
│ │ │ └── elements: (length: 1)
│ │ │ └── @ AssocNode (location: (25,4)-(25,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (25,4)-(25,6))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (25,4)-(25,5) = "b"
│ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (25,4)-(25,6))
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (25,4)-(25,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
│ │ │ │ ├── message_loc: (25,4)-(25,5) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── consequent:
│ │ @ ElseNode (location: (26,0)-(27,3))
│ │ ├── else_keyword_loc: (26,0)-(26,4) = "else"
@ -286,6 +286,7 @@
│ │ @ MatchPredicateNode (location: (29,3)-(29,12))
│ │ ├── value:
│ │ │ @ CallNode (location: (29,3)-(29,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :type
@ -293,8 +294,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── pattern:
│ │ │ @ IntegerNode (location: (29,11)-(29,12))
│ │ │ └── flags: decimal
@ -308,6 +308,7 @@
│ │ │ @ MatchPredicateNode (location: (30,6)-(30,15))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (30,6)-(30,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :type
@ -315,8 +316,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── pattern:
│ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15))
│ │ │ │ └── name: :B
@ -336,6 +336,7 @@
│ @ StatementsNode (location: (34,2)-(35,5))
│ └── body: (length: 1)
│ └── @ CallNode (location: (34,2)-(35,5))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :lambda
@ -343,30 +344,29 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (34,9)-(35,5))
│ │ ├── locals: [:_]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (34,12)-(34,15))
│ │ │ ├── parameters:
│ │ │ │ @ ParametersNode (location: (34,13)-(34,14))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14))
│ │ │ │ │ └── name: :_
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (34,12)-(34,13) = "|"
│ │ │ └── closing_loc: (34,14)-(34,15) = "|"
│ │ ├── body: ∅
│ │ ├── opening_loc: (34,9)-(34,11) = "do"
│ │ └── closing_loc: (35,2)-(35,5) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (34,9)-(35,5))
│ ├── locals: [:_]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (34,12)-(34,15))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (34,13)-(34,14))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14))
│ │ │ │ └── name: :_
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (34,12)-(34,13) = "|"
│ │ └── closing_loc: (34,14)-(34,15) = "|"
│ ├── body: ∅
│ ├── opening_loc: (34,9)-(34,11) = "do"
│ └── closing_loc: (35,2)-(35,5) = "end"
├── consequent:
│ @ IfNode (location: (36,0)-(42,3))
│ ├── if_keyword_loc: (36,0)-(36,5) = "elsif"
@ -378,6 +378,7 @@
│ │ @ StatementsNode (location: (37,2)-(38,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (37,2)-(38,5))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :lambda
@ -385,30 +386,29 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block:
│ │ │ @ BlockNode (location: (37,9)-(38,5))
│ │ │ ├── locals: [:_]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── parameters:
│ │ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
│ │ │ │ ├── parameters:
│ │ │ │ │ @ ParametersNode (location: (37,13)-(37,14))
│ │ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14))
│ │ │ │ │ │ └── name: :_
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
│ │ │ │ │ ├── posts: (length: 0)
│ │ │ │ │ ├── keywords: (length: 0)
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
│ │ │ │ ├── opening_loc: (37,12)-(37,13) = "|"
│ │ │ │ └── closing_loc: (37,14)-(37,15) = "|"
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (37,9)-(37,11) = "do"
│ │ │ └── closing_loc: (38,2)-(38,5) = "end"
│ │ └── flags: ∅
│ │ └── block:
│ │ @ BlockNode (location: (37,9)-(38,5))
│ │ ├── locals: [:_]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (37,12)-(37,15))
│ │ │ ├── parameters:
│ │ │ │ @ ParametersNode (location: (37,13)-(37,14))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14))
│ │ │ │ │ └── name: :_
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (37,12)-(37,13) = "|"
│ │ │ └── closing_loc: (37,14)-(37,15) = "|"
│ │ ├── body: ∅
│ │ ├── opening_loc: (37,9)-(37,11) = "do"
│ │ └── closing_loc: (38,2)-(38,5) = "end"
│ ├── consequent:
│ │ @ ElseNode (location: (39,0)-(42,3))
│ │ ├── else_keyword_loc: (39,0)-(39,4) = "else"
@ -416,6 +416,7 @@
│ │ │ @ StatementsNode (location: (40,2)-(41,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (40,2)-(41,5))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :lambda
@ -423,30 +424,29 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block:
│ │ │ │ @ BlockNode (location: (40,9)-(41,5))
│ │ │ │ ├── locals: [:_]
│ │ │ │ ├── locals_body_index: 1
│ │ │ │ ├── parameters:
│ │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
│ │ │ │ │ ├── parameters:
│ │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14))
│ │ │ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14))
│ │ │ │ │ │ │ └── name: :_
│ │ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ │ ├── rest: ∅
│ │ │ │ │ │ ├── posts: (length: 0)
│ │ │ │ │ │ ├── keywords: (length: 0)
│ │ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ │ └── block: ∅
│ │ │ │ │ ├── locals: (length: 0)
│ │ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|"
│ │ │ │ │ └── closing_loc: (40,14)-(40,15) = "|"
│ │ │ │ ├── body: ∅
│ │ │ │ ├── opening_loc: (40,9)-(40,11) = "do"
│ │ │ │ └── closing_loc: (41,2)-(41,5) = "end"
│ │ │ └── flags: ∅
│ │ │ └── block:
│ │ │ @ BlockNode (location: (40,9)-(41,5))
│ │ │ ├── locals: [:_]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── parameters:
│ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15))
│ │ │ │ ├── parameters:
│ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14))
│ │ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14))
│ │ │ │ │ │ └── name: :_
│ │ │ │ │ ├── optionals: (length: 0)
│ │ │ │ │ ├── rest: ∅
│ │ │ │ │ ├── posts: (length: 0)
│ │ │ │ │ ├── keywords: (length: 0)
│ │ │ │ │ ├── keyword_rest: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── locals: (length: 0)
│ │ │ │ ├── opening_loc: (40,12)-(40,13) = "|"
│ │ │ │ └── closing_loc: (40,14)-(40,15) = "|"
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (40,9)-(40,11) = "do"
│ │ │ └── closing_loc: (41,2)-(41,5) = "end"
│ │ └── end_keyword_loc: (42,0)-(42,3) = "end"
│ └── end_keyword_loc: (42,0)-(42,3) = "end"
└── end_keyword_loc: (42,0)-(42,3) = "end"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(63,7))
└── body: (length: 32)
├── @ CallNode (location: (1,0)-(1,2))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@ -13,9 +14,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (3,0)-(3,2))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (3,1)-(3,2))
│ │ └── flags: decimal
@ -25,9 +26,9 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (5,0)-(5,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
@ -37,14 +38,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,5)-(5,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (7,0)-(7,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (7,0)-(7,1))
│ │ └── flags: decimal
@ -54,14 +55,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(7,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (7,5)-(7,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (7,5)-(7,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (9,0)-(9,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (9,0)-(9,1))
│ │ └── flags: decimal
@ -71,14 +72,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (9,4)-(9,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (9,4)-(9,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (9,4)-(9,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (11,0)-(11,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (11,0)-(11,1))
│ │ └── flags: decimal
@ -88,14 +89,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (11,4)-(11,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (11,4)-(11,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (13,0)-(13,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
@ -105,14 +106,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (13,4)-(13,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (13,4)-(13,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (15,0)-(15,4))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (15,0)-(15,1))
│ │ └── flags: decimal
@ -122,14 +123,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (15,3)-(15,4))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (15,3)-(15,4))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (15,3)-(15,4))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (17,0)-(17,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (17,0)-(17,1))
│ │ └── flags: decimal
@ -139,14 +140,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (17,4)-(17,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (17,4)-(17,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (17,4)-(17,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (19,0)-(19,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (19,0)-(19,1))
│ │ └── flags: decimal
@ -156,14 +157,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (19,4)-(19,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (19,4)-(19,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (19,4)-(19,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (21,0)-(21,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (21,0)-(21,1))
│ │ └── flags: decimal
@ -173,16 +174,17 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (21,4)-(21,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (21,4)-(21,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (21,4)-(21,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (23,0)-(23,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (23,0)-(23,3))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (23,0)-(23,1))
│ │ │ └── flags: decimal
@ -192,27 +194,26 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (23,2)-(23,3))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (23,2)-(23,3))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (23,2)-(23,3))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :/
│ ├── message_loc: (23,3)-(23,4) = "/"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (23,4)-(23,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (23,4)-(23,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (23,4)-(23,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (25,0)-(25,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (25,0)-(25,1))
│ │ └── flags: decimal
@ -222,14 +223,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,4)-(25,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (25,4)-(25,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (25,4)-(25,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (27,0)-(27,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (27,0)-(27,1))
│ │ └── flags: decimal
@ -239,14 +240,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (27,5)-(27,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (27,5)-(27,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (27,5)-(27,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (29,0)-(29,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (29,0)-(29,1))
│ │ └── flags: decimal
@ -256,14 +257,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (29,5)-(29,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (29,5)-(29,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (29,5)-(29,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (31,0)-(31,7))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (31,0)-(31,1))
│ │ └── flags: decimal
@ -273,14 +274,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (31,6)-(31,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (31,6)-(31,7))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (31,6)-(31,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (33,0)-(33,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (33,0)-(33,1))
│ │ └── flags: decimal
@ -290,14 +291,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (33,5)-(33,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (33,5)-(33,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (33,5)-(33,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (35,0)-(35,7))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (35,0)-(35,1))
│ │ └── flags: decimal
@ -307,14 +308,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (35,6)-(35,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (35,6)-(35,7))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (35,6)-(35,7))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (37,0)-(37,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (37,0)-(37,1))
│ │ └── flags: decimal
@ -324,14 +325,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,5)-(37,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (37,5)-(37,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (37,5)-(37,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (39,0)-(39,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (39,0)-(39,1))
│ │ └── flags: decimal
@ -341,14 +342,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (39,4)-(39,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (39,4)-(39,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (39,4)-(39,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (41,0)-(41,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (41,0)-(41,1))
│ │ └── flags: decimal
@ -358,14 +359,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (41,5)-(41,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (41,5)-(41,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (41,5)-(41,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (43,0)-(43,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (43,0)-(43,1))
│ │ └── flags: decimal
@ -375,14 +376,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (43,5)-(43,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (43,5)-(43,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (43,5)-(43,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (45,0)-(45,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (45,0)-(45,1))
│ │ └── flags: decimal
@ -392,14 +393,14 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (45,4)-(45,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (45,4)-(45,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (45,4)-(45,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (47,0)-(47,5))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (47,0)-(47,1))
│ │ └── flags: decimal
@ -409,13 +410,12 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (47,4)-(47,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (47,4)-(47,5))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (47,4)-(47,5))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ AndNode (location: (49,0)-(49,6))
│ ├── left:
│ │ @ IntegerNode (location: (49,0)-(49,1))
@ -433,6 +433,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (51,2)-(51,5) = "and"
├── @ CallNode (location: (53,0)-(53,10))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (53,0)-(53,1))
│ │ └── flags: decimal
@ -442,31 +443,32 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (53,4)-(53,10))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (53,4)-(53,10))
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (53,4)-(53,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :**
│ │ │ ├── message_loc: (53,6)-(53,8) = "**"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (53,9)-(53,10))
│ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (53,9)-(53,10))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (53,4)-(53,10))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (53,4)-(53,5))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :**
│ │ ├── message_loc: (53,6)-(53,8) = "**"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (53,9)-(53,10))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (53,9)-(53,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (55,0)-(55,9))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (55,0)-(55,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (55,0)-(55,1))
│ │ │ └── flags: decimal
@ -476,26 +478,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (55,4)-(55,5))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (55,4)-(55,5))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (55,4)-(55,5))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :+
│ ├── message_loc: (55,6)-(55,7) = "+"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (55,8)-(55,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (55,8)-(55,9))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (55,8)-(55,9))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ OrNode (location: (57,0)-(57,6))
│ ├── left:
│ │ @ IntegerNode (location: (57,0)-(57,1))
@ -513,6 +513,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (59,2)-(59,4) = "||"
├── @ CallNode (location: (61,0)-(61,9))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (61,0)-(61,1))
│ │ └── flags: decimal
@ -522,33 +523,33 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (61,4)-(61,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (61,4)-(61,9))
│ │ │ ├── receiver:
│ │ │ │ @ IntegerNode (location: (61,4)-(61,5))
│ │ │ │ └── flags: decimal
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :*
│ │ │ ├── message_loc: (61,6)-(61,7) = "*"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (61,8)-(61,9))
│ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (61,8)-(61,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (61,4)-(61,9))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ IntegerNode (location: (61,4)-(61,5))
│ │ │ └── flags: decimal
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :*
│ │ ├── message_loc: (61,6)-(61,7) = "*"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (61,8)-(61,9))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (61,8)-(61,9))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ ParenthesesNode (location: (63,0)-(63,7))
├── body:
│ @ StatementsNode (location: (63,1)-(63,6))
│ └── body: (length: 1)
│ └── @ CallNode (location: (63,1)-(63,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ IntegerNode (location: (63,1)-(63,2))
│ │ └── flags: decimal
@ -558,12 +559,11 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (63,5)-(63,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (63,5)-(63,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (63,5)-(63,6))
│ │ └── flags: decimal
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── opening_loc: (63,0)-(63,1) = "("
└── closing_loc: (63,6)-(63,7) = ")"

Просмотреть файл

@ -33,6 +33,7 @@
│ ├── equal_loc: ∅
│ └── end_keyword_loc: (5,0)-(5,3) = "end"
├── @ CallNode (location: (7,0)-(10,3))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :private
@ -40,44 +41,43 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,8)-(10,3))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ DefNode (location: (7,8)-(10,3))
│ │ │ ├── name: :foo
│ │ │ ├── name_loc: (7,12)-(7,15) = "foo"
│ │ │ ├── receiver: ∅
│ │ │ ├── parameters: ∅
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (8,2)-(9,5))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (8,2)-(9,5))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (8,6)-(9,5))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
│ │ │ │ │ └── closing_loc: (9,2)-(9,5) = "end"
│ │ │ │ └── flags: ∅
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
│ │ │ ├── operator_loc: ∅
│ │ │ ├── lparen_loc: ∅
│ │ │ ├── rparen_loc: ∅
│ │ │ ├── equal_loc: ∅
│ │ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ DefNode (location: (7,8)-(10,3))
│ │ ├── name: :foo
│ │ ├── name_loc: (7,12)-(7,15) = "foo"
│ │ ├── receiver: ∅
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (8,2)-(9,5))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (8,2)-(9,5))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (8,2)-(8,5) = "bar"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block:
│ │ │ @ BlockNode (location: (8,6)-(9,5))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (8,6)-(8,8) = "do"
│ │ │ └── closing_loc: (9,2)-(9,5) = "end"
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── def_keyword_loc: (7,8)-(7,11) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: ∅
│ │ ├── rparen_loc: ∅
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (10,0)-(10,3) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ DefNode (location: (12,0)-(13,3))
│ ├── name: :m
│ ├── name_loc: (12,4)-(12,5) = "m"

Просмотреть файл

@ -60,6 +60,7 @@
│ │ │ │ │ │ @ StatementsNode (location: (5,10)-(5,11))
│ │ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11))
│ │ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :a
@ -67,8 +68,7 @@
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ └── flags: variable_call
│ │ │ │ │ │ └── block: ∅
│ │ │ │ │ └── closing_loc: (5,11)-(5,12) = "}"
│ │ │ │ └── closing_loc: (5,12)-(5,13) = "\""
│ │ │ ├── keyword_rest: ∅
@ -97,8 +97,10 @@
│ │ │ │ ├── name_loc: (7,3)-(7,5) = "a:"
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (7,6)-(7,11))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ CallNode (location: (7,6)-(7,7))
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :b
@ -106,21 +108,19 @@
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: variable_call
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :*
│ │ │ │ ├── message_loc: (7,8)-(7,9) = "*"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (7,10)-(7,11))
│ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11))
│ │ │ │ │ │ └── flags: decimal
│ │ │ │ │ └── flags: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
@ -145,6 +145,7 @@
│ │ │ │ ├── operator_loc: (9,7)-(9,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (9,9)-(9,12))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@ -152,8 +153,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
@ -183,6 +183,7 @@
│ │ │ ├── name_loc: (11,3)-(11,7) = "foo:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (11,8)-(11,11))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -190,8 +191,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -116,6 +116,7 @@
│ │ @ ParenthesesNode (location: (10,4)-(10,7))
│ │ ├── body:
│ │ │ @ CallNode (location: (10,5)-(10,6))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -123,8 +124,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── opening_loc: (10,4)-(10,5) = "("
│ │ └── closing_loc: (10,6)-(10,7) = ")"
│ ├── parameters: ∅
@ -144,6 +144,7 @@
│ │ @ ParenthesesNode (location: (13,4)-(13,7))
│ │ ├── body:
│ │ │ @ CallNode (location: (13,5)-(13,6))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
@ -151,8 +152,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── opening_loc: (13,4)-(13,5) = "("
│ │ └── closing_loc: (13,6)-(13,7) = ")"
│ ├── parameters: ∅
@ -224,6 +224,7 @@
│ ├── name_loc: (25,6)-(25,7) = "b"
│ ├── receiver:
│ │ @ CallNode (location: (25,4)-(25,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -231,8 +232,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []
@ -812,13 +812,13 @@
│ │ │ │ ├── keyword_loc: (99,0)-(99,6) = "return"
│ │ │ │ └── arguments:
│ │ │ │ @ ArgumentsNode (location: (99,7)-(99,10))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10))
│ │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":"
│ │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "hi"
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10))
│ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":"
│ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "hi"
│ │ │ ├── consequent: ∅
│ │ │ └── end_keyword_loc: ∅
│ │ └── @ SymbolNode (location: (100,0)-(100,4))
@ -937,6 +937,7 @@
│ │ @ StatementsNode (location: (110,10)-(110,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (110,10)-(110,14))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -944,14 +945,13 @@
│ │ ├── opening_loc: (110,11)-(110,12) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (110,12)-(110,13))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ SplatNode (location: (110,12)-(110,13))
│ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*"
│ │ │ │ └── expression: ∅
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ SplatNode (location: (110,12)-(110,13))
│ │ │ ├── operator_loc: (110,12)-(110,13) = "*"
│ │ │ └── expression: ∅
│ │ ├── closing_loc: (110,13)-(110,14) = ")"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (110,0)-(110,3) = "def"
@ -978,6 +978,7 @@
│ │ @ StatementsNode (location: (112,12)-(112,18))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (112,12)-(112,18))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -985,12 +986,11 @@
│ │ ├── opening_loc: (112,13)-(112,14) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (112,14)-(112,17))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17))
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17))
│ │ ├── closing_loc: (112,17)-(112,18) = ")"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (112,0)-(112,3) = "def"
@ -1017,6 +1017,7 @@
│ │ @ StatementsNode (location: (114,12)-(114,24))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (114,12)-(114,24))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :b
@ -1024,16 +1025,15 @@
│ │ ├── opening_loc: (114,13)-(114,14) = "("
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (114,14)-(114,23))
│ │ │ ├── arguments: (length: 3)
│ │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23))
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 3)
│ │ │ ├── @ IntegerNode (location: (114,14)-(114,15))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (114,17)-(114,18))
│ │ │ │ └── flags: decimal
│ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23))
│ │ ├── closing_loc: (114,23)-(114,24) = ")"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (114,0)-(114,3) = "def"
@ -1054,6 +1054,7 @@
│ │ │ ├── name_loc: (116,5)-(116,6) = "c"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (116,9)-(116,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -1061,8 +1062,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (116,7)-(116,8) = "="
│ │ ├── opening_loc: (116,4)-(116,5) = "("
│ │ └── closing_loc: (116,10)-(116,11) = ")"
@ -1156,6 +1156,7 @@
│ │ │ ├── name_loc: (128,5)-(128,6) = "a"
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (128,9)-(128,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -1163,8 +1164,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (128,7)-(128,8) = "="
│ │ ├── opening_loc: (128,4)-(128,5) = "("
│ │ └── closing_loc: (128,10)-(128,11) = ")"
@ -1248,6 +1248,7 @@
│ │ │ │ @ StatementsNode (location: (136,18)-(136,24))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (136,18)-(136,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
@ -1255,12 +1256,11 @@
│ │ │ │ ├── opening_loc: (136,19)-(136,20) = "("
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (136,20)-(136,23))
│ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23))
│ │ │ │ │ └── flags: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── arguments: (length: 1)
│ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23))
│ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: ∅
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (136,24)-(136,25) = "}"
│ │ └── closing_loc: (136,25)-(136,26) = "\""
│ ├── locals: [:"..."]
@ -1280,6 +1280,7 @@
│ │ @ StatementsNode (location: (139,2)-(139,30))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (139,2)-(139,30))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ HashNode (location: (139,2)-(139,4))
│ │ │ ├── opening_loc: (139,2)-(139,3) = "{"
@ -1291,52 +1292,51 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (139,11)-(139,30))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30))
│ │ │ │ └── elements: (length: 3)
│ │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16))
│ │ │ │ │ ├── value:
│ │ │ │ │ │ @ CallNode (location: (139,13)-(139,16))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :bar
│ │ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ └── flags: variable_call
│ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**"
│ │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23))
│ │ │ │ │ ├── value:
│ │ │ │ │ │ @ CallNode (location: (139,20)-(139,23))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :baz
│ │ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ └── flags: variable_call
│ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**"
│ │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30))
│ │ │ │ ├── value:
│ │ │ │ │ @ CallNode (location: (139,27)-(139,30))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :qux
│ │ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: variable_call
│ │ │ │ └── operator_loc: (139,25)-(139,27) = "**"
│ │ │ └── flags: contains_keyword_splat
│ │ │ ├── flags: contains_keyword_splat
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ KeywordHashNode (location: (139,11)-(139,30))
│ │ │ └── elements: (length: 3)
│ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16))
│ │ │ │ ├── value:
│ │ │ │ │ @ CallNode (location: (139,13)-(139,16))
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :bar
│ │ │ │ │ ├── message_loc: (139,13)-(139,16) = "bar"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ └── operator_loc: (139,11)-(139,13) = "**"
│ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23))
│ │ │ │ ├── value:
│ │ │ │ │ @ CallNode (location: (139,20)-(139,23))
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :baz
│ │ │ │ │ ├── message_loc: (139,20)-(139,23) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ └── operator_loc: (139,18)-(139,20) = "**"
│ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30))
│ │ │ ├── value:
│ │ │ │ @ CallNode (location: (139,27)-(139,30))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :qux
│ │ │ │ ├── message_loc: (139,27)-(139,30) = "qux"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (139,25)-(139,27) = "**"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── def_keyword_loc: (138,0)-(138,3) = "def"
@ -1365,14 +1365,14 @@
│ │ │ │ @ StatementsNode (location: (142,12)-(142,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (142,12)-(142,18))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (142,12)-(142,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (142,16)-(142,18))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── operator_loc: (142,13)-(142,16) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (142,13)-(142,16) = "..."
│ │ │ ├── opening_loc: (142,11)-(142,12) = "("
│ │ │ └── closing_loc: (142,18)-(142,19) = ")"
│ │ ├── keyword_rest: ∅
@ -1406,12 +1406,12 @@
│ │ │ │ @ StatementsNode (location: (145,12)-(145,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (145,12)-(145,17))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (145,15)-(145,17))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── operator_loc: (145,12)-(145,15) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (145,12)-(145,15) = "..."
│ │ │ ├── opening_loc: (145,11)-(145,12) = "("
│ │ │ └── closing_loc: (145,17)-(145,18) = ")"
│ │ ├── keyword_rest: ∅
@ -1445,12 +1445,12 @@
│ │ │ │ @ StatementsNode (location: (148,12)-(148,16))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (148,12)-(148,16))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (148,12)-(148,13))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
│ │ │ │ ├── operator_loc: (148,13)-(148,16) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (148,13)-(148,16) = "..."
│ │ │ ├── opening_loc: (148,11)-(148,12) = "("
│ │ │ └── closing_loc: (148,16)-(148,17) = ")"
│ │ ├── keyword_rest: ∅
@ -1482,14 +1482,14 @@
│ │ │ │ @ StatementsNode (location: (151,13)-(151,19))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (151,13)-(151,19))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (151,13)-(151,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (151,17)-(151,19))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── operator_loc: (151,14)-(151,17) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (151,14)-(151,17) = "..."
│ │ │ ├── opening_loc: (151,12)-(151,13) = "("
│ │ │ └── closing_loc: (151,19)-(151,20) = ")"
│ │ ├── rest: ∅
@ -1524,12 +1524,12 @@
│ │ │ │ @ StatementsNode (location: (154,13)-(154,18))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (154,13)-(154,18))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left: ∅
│ │ │ │ ├── right:
│ │ │ │ │ @ IntegerNode (location: (154,16)-(154,18))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── operator_loc: (154,13)-(154,16) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (154,13)-(154,16) = "..."
│ │ │ ├── opening_loc: (154,12)-(154,13) = "("
│ │ │ └── closing_loc: (154,18)-(154,19) = ")"
│ │ ├── rest: ∅
@ -1564,12 +1564,12 @@
│ │ │ │ @ StatementsNode (location: (157,13)-(157,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ RangeNode (location: (157,13)-(157,17))
│ │ │ │ ├── flags: exclude_end
│ │ │ │ ├── left:
│ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── right: ∅
│ │ │ │ ├── operator_loc: (157,14)-(157,17) = "..."
│ │ │ │ └── flags: exclude_end
│ │ │ │ └── operator_loc: (157,14)-(157,17) = "..."
│ │ │ ├── opening_loc: (157,12)-(157,13) = "("
│ │ │ └── closing_loc: (157,17)-(157,18) = ")"
│ │ ├── rest: ∅
@ -1605,8 +1605,10 @@
│ │ @ StatementsNode (location: (161,2)-(161,14))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (161,2)-(161,14))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (161,2)-(161,6))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :item
@ -1614,36 +1616,34 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :>>
│ │ ├── message_loc: (161,7)-(161,9) = ">>"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (161,10)-(161,14))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ CallNode (location: (161,10)-(161,14))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
│ │ │ │ ├── message_loc: (161,10)-(161,11) = "a"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block:
│ │ │ │ │ @ BlockNode (location: (161,12)-(161,14))
│ │ │ │ │ ├── locals: []
│ │ │ │ │ ├── locals_body_index: 0
│ │ │ │ │ ├── parameters: ∅
│ │ │ │ │ ├── body: ∅
│ │ │ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
│ │ │ │ │ └── closing_loc: (161,13)-(161,14) = "}"
│ │ │ │ └── flags: ∅
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (161,10)-(161,14))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :a
│ │ │ ├── message_loc: (161,10)-(161,11) = "a"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block:
│ │ │ @ BlockNode (location: (161,12)-(161,14))
│ │ │ ├── locals: []
│ │ │ ├── locals_body_index: 0
│ │ │ ├── parameters: ∅
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (161,12)-(161,13) = "{"
│ │ │ └── closing_loc: (161,13)-(161,14) = "}"
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (160,0)-(160,3) = "def"
@ -1728,13 +1728,13 @@
│ │ @ StatementsNode (location: (170,10)-(170,13))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (170,10)-(170,13))
│ │ ├── flags: contains_splat
│ │ ├── elements: (length: 1)
│ │ │ └── @ SplatNode (location: (170,11)-(170,12))
│ │ │ ├── operator_loc: (170,11)-(170,12) = "*"
│ │ │ └── expression: ∅
│ │ ├── opening_loc: (170,10)-(170,11) = "["
│ │ ├── closing_loc: (170,12)-(170,13) = "]"
│ │ └── flags: contains_splat
│ │ └── closing_loc: (170,12)-(170,13) = "]"
│ ├── locals: [:*]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (170,0)-(170,3) = "def"
@ -1759,8 +1759,10 @@
│ │ │ ├── name_loc: (172,6)-(172,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (172,8)-(172,10))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (172,9)-(172,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@ -1768,16 +1770,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :-@
│ │ │ ├── message_loc: (172,8)-(172,9) = "-"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@ -1805,8 +1805,10 @@
│ │ │ ├── name_loc: (174,6)-(174,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (174,8)-(174,10))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (174,9)-(174,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@ -1814,16 +1816,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :+@
│ │ │ ├── message_loc: (174,8)-(174,9) = "+"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@ -1851,8 +1851,10 @@
│ │ │ ├── name_loc: (176,6)-(176,8) = "x:"
│ │ │ └── value:
│ │ │ @ CallNode (location: (176,8)-(176,10))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ CallNode (location: (176,9)-(176,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :a
@ -1860,16 +1862,14 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :!
│ │ │ ├── message_loc: (176,8)-(176,9) = "!"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── body: ∅
@ -1931,6 +1931,7 @@
│ │ @ StatementsNode (location: (181,2)-(181,7))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (181,2)-(181,7))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -1938,11 +1939,10 @@
│ │ ├── opening_loc: (181,5)-(181,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (181,7)-(181,8) = ")"
│ │ ├── block:
│ │ │ @ BlockArgumentNode (location: (181,6)-(181,7))
│ │ │ ├── expression: ∅
│ │ │ └── operator_loc: (181,6)-(181,7) = "&"
│ │ └── flags: ∅
│ │ └── block:
│ │ @ BlockArgumentNode (location: (181,6)-(181,7))
│ │ ├── expression: ∅
│ │ └── operator_loc: (181,6)-(181,7) = "&"
│ ├── locals: [:"..."]
│ ├── locals_body_index: 1
│ ├── def_keyword_loc: (180,0)-(180,3) = "def"

Просмотреть файл

@ -37,6 +37,7 @@
│ │ │ │ @ StatementsNode (location: (3,9)-(3,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (3,9)-(3,12))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@ -44,8 +45,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (3,12)-(3,13) = "}"
│ │ └── @ StringNode (location: (3,13)-(3,17))
│ │ ├── flags: ∅
@ -61,6 +61,7 @@
│ │ @ ConstantPathNode (location: (5,7)-(5,11))
│ │ ├── parent:
│ │ │ @ CallNode (location: (5,7)-(5,8))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :m
@ -68,8 +69,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (5,10)-(5,11))
│ │ │ └── name: :M
@ -130,6 +130,7 @@
│ │ @ ConstantPathNode (location: (14,7)-(14,13))
│ │ ├── parent:
│ │ │ @ CallNode (location: (14,7)-(14,10))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8))
│ │ │ │ └── name: :A
@ -139,8 +140,7 @@
│ │ │ ├── opening_loc: (14,8)-(14,9) = "["
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (14,9)-(14,10) = "]"
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── child:
│ │ │ @ ConstantReadNode (location: (14,12)-(14,13))
│ │ │ └── name: :B
@ -155,6 +155,7 @@
│ @ ConstantPathNode (location: (17,7)-(17,14))
│ ├── parent:
│ │ @ CallNode (location: (17,7)-(17,11))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ ConstantReadNode (location: (17,7)-(17,8))
│ │ │ └── name: :A
@ -164,13 +165,12 @@
│ │ ├── opening_loc: (17,8)-(17,9) = "["
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (17,9)-(17,10))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (17,9)-(17,10))
│ │ │ │ └── flags: decimal
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (17,9)-(17,10))
│ │ │ └── flags: decimal
│ │ ├── closing_loc: (17,10)-(17,11) = "]"
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── child:
│ │ @ ConstantReadNode (location: (17,13)-(17,14))
│ │ └── name: :B

Просмотреть файл

@ -100,8 +100,8 @@
│ ├── closing_loc: (37,3)-(38,0) = "\n"
│ └── unescaped: "foo"
└── @ RegularExpressionNode (location: (39,0)-(41,0))
├── flags: ∅
├── opening_loc: (39,0)-(40,0) = "%r\n"
├── content_loc: (40,0)-(40,3) = "foo"
├── closing_loc: (40,3)-(41,0) = "\n"
├── unescaped: "foo"
└── flags: ∅
└── unescaped: "foo"

Просмотреть файл

@ -9,97 +9,97 @@
├── @ NextNode (location: (3,0)-(3,18))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (3,5)-(3,18))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ ParenthesesNode (location: (3,5)-(3,8))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (3,6)-(3,7))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── opening_loc: (3,5)-(3,6) = "("
│ │ │ │ └── closing_loc: (3,7)-(3,8) = ")"
│ │ │ ├── @ ParenthesesNode (location: (3,10)-(3,13))
│ │ │ │ ├── body:
│ │ │ │ │ @ StatementsNode (location: (3,11)-(3,12))
│ │ │ │ │ └── body: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── opening_loc: (3,10)-(3,11) = "("
│ │ │ │ └── closing_loc: (3,12)-(3,13) = ")"
│ │ │ └── @ ParenthesesNode (location: (3,15)-(3,18))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,16)-(3,17))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,15)-(3,16) = "("
│ │ │ └── closing_loc: (3,17)-(3,18) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ ParenthesesNode (location: (3,5)-(3,8))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,6)-(3,7))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,6)-(3,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,5)-(3,6) = "("
│ │ │ └── closing_loc: (3,7)-(3,8) = ")"
│ │ ├── @ ParenthesesNode (location: (3,10)-(3,13))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (3,11)-(3,12))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (3,10)-(3,11) = "("
│ │ │ └── closing_loc: (3,12)-(3,13) = ")"
│ │ └── @ ParenthesesNode (location: (3,15)-(3,18))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,16)-(3,17))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (3,16)-(3,17))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,15)-(3,16) = "("
│ │ └── closing_loc: (3,17)-(3,18) = ")"
│ └── keyword_loc: (3,0)-(3,4) = "next"
├── @ NextNode (location: (5,0)-(5,6))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (5,5)-(5,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ IntegerNode (location: (5,5)-(5,6))
│ │ └── flags: decimal
│ └── keyword_loc: (5,0)-(5,4) = "next"
├── @ NextNode (location: (7,0)-(8,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,5)-(8,1))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ IntegerNode (location: (7,5)-(7,6))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (7,8)-(7,9))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ IntegerNode (location: (7,5)-(7,6))
│ │ │ └── flags: decimal
│ │ ├── @ IntegerNode (location: (7,8)-(7,9))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (8,0)-(8,1))
│ │ └── flags: decimal
│ └── keyword_loc: (7,0)-(7,4) = "next"
├── @ NextNode (location: (10,0)-(10,12))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (10,5)-(10,12))
│ │ ├── arguments: (length: 3)
│ │ │ ├── @ IntegerNode (location: (10,5)-(10,6))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (10,8)-(10,9))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (10,11)-(10,12))
│ │ │ └── flags: decimal
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 3)
│ │ ├── @ IntegerNode (location: (10,5)-(10,6))
│ │ │ └── flags: decimal
│ │ ├── @ IntegerNode (location: (10,8)-(10,9))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (10,11)-(10,12))
│ │ └── flags: decimal
│ └── keyword_loc: (10,0)-(10,4) = "next"
├── @ NextNode (location: (12,0)-(12,14))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (12,5)-(12,14))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ArrayNode (location: (12,5)-(12,14))
│ │ │ ├── elements: (length: 3)
│ │ │ │ ├── @ IntegerNode (location: (12,6)-(12,7))
│ │ │ │ │ └── flags: decimal
│ │ │ │ ├── @ IntegerNode (location: (12,9)-(12,10))
│ │ │ │ └── flags: decimal
│ │ │ │ └── @ IntegerNode (location: (12,12)-(12,13))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (12,5)-(12,6) = "["
│ │ │ ├── closing_loc: (12,13)-(12,14) = "]"
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ArrayNode (location: (12,5)-(12,14))
│ │ ├── flags: ∅
│ │ ├── elements: (length: 3)
│ │ │ ├── @ IntegerNode (location: (12,6)-(12,7))
│ │ │ │ └── flags: decimal
│ │ │ ├── @ IntegerNode (location: (12,9)-(12,10))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (12,12)-(12,13))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (12,5)-(12,6) = "["
│ │ └── closing_loc: (12,13)-(12,14) = "]"
│ └── keyword_loc: (12,0)-(12,4) = "next"
├── @ NextNode (location: (14,0)-(17,1))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (14,4)-(17,1))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (14,4)-(17,1))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ │ └── body: (length: 2)
│ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ │ └── flags: decimal
│ │ │ ├── opening_loc: (14,4)-(14,5) = "("
│ │ │ └── closing_loc: (17,0)-(17,1) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (14,4)-(17,1))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (15,2)-(16,3))
│ │ │ └── body: (length: 2)
│ │ │ ├── @ IntegerNode (location: (15,2)-(15,3))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (16,2)-(16,3))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (14,4)-(14,5) = "("
│ │ └── closing_loc: (17,0)-(17,1) = ")"
│ └── keyword_loc: (14,0)-(14,4) = "next"
├── @ NextNode (location: (19,0)-(19,4))
│ ├── arguments: ∅
@ -109,24 +109,24 @@
├── @ NextNode (location: (22,0)-(22,6))
│ ├── arguments:
│ │ @ ArgumentsNode (location: (22,4)-(22,6))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (22,4)-(22,6))
│ │ │ ├── body: ∅
│ │ │ ├── opening_loc: (22,4)-(22,5) = "("
│ │ │ └── closing_loc: (22,5)-(22,6) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (22,4)-(22,6))
│ │ ├── body: ∅
│ │ ├── opening_loc: (22,4)-(22,5) = "("
│ │ └── closing_loc: (22,5)-(22,6) = ")"
│ └── keyword_loc: (22,0)-(22,4) = "next"
└── @ NextNode (location: (24,0)-(24,7))
├── arguments:
│ @ ArgumentsNode (location: (24,4)-(24,7))
│ ├── arguments: (length: 1)
│ └── @ ParenthesesNode (location: (24,4)-(24,7))
│ ├── body:
│ │ @ StatementsNode (location: (24,5)-(24,6))
│ │ └── body: (length: 1)
│ │ └── @ IntegerNode (location: (24,5)-(24,6))
│ │ └── flags: decimal
│ ├── opening_loc: (24,4)-(24,5) = "("
│ └── closing_loc: (24,6)-(24,7) = ")"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ ParenthesesNode (location: (24,4)-(24,7))
├── body:
│ @ StatementsNode (location: (24,5)-(24,6))
│ └── body: (length: 1)
│ └── @ IntegerNode (location: (24,5)-(24,6))
│ └── flags: decimal
├── opening_loc: (24,4)-(24,5) = "("
└── closing_loc: (24,6)-(24,7) = ")"
└── keyword_loc: (24,0)-(24,4) = "next"

Просмотреть файл

@ -248,6 +248,7 @@
│ ├── name_loc: (48,6)-(48,7) = "-"
│ ├── receiver:
│ │ @ CallNode (location: (48,4)-(48,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -255,8 +256,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── locals: []

Просмотреть файл

@ -6,8 +6,10 @@
├── @ AndNode (location: (1,0)-(1,19))
│ ├── left:
│ │ @ CallNode (location: (1,0)-(1,7))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -15,20 +17,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (1,0)-(1,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,12)-(1,19))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (1,16)-(1,19))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -36,22 +38,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (1,12)-(1,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (1,8)-(1,11) = "and"
├── @ CallNode (location: (3,0)-(3,16))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ AndNode (location: (3,4)-(3,15))
│ │ ├── left:
│ │ │ @ CallNode (location: (3,4)-(3,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -59,10 +61,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (3,12)-(3,15))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -70,8 +72,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── operator_loc: (3,8)-(3,11) = "and"
│ ├── call_operator_loc: ∅
│ ├── name: :!
@ -79,11 +80,12 @@
│ ├── opening_loc: (3,3)-(3,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (3,15)-(3,16) = ")"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (5,0)-(5,7))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (5,4)-(5,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -91,21 +93,21 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (5,0)-(5,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ AndNode (location: (7,0)-(8,5))
│ ├── left:
│ │ @ CallNode (location: (7,0)-(7,7))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (7,4)-(7,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -113,20 +115,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (7,0)-(7,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (7,12)-(8,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (8,2)-(8,5))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -134,22 +136,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (7,12)-(7,15) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (7,8)-(7,11) = "and"
├── @ AndNode (location: (11,0)-(13,5))
│ ├── left:
│ │ @ CallNode (location: (11,0)-(11,7))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (11,4)-(11,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -157,20 +159,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (11,0)-(11,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (12,4)-(13,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (13,2)-(13,5))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -178,22 +180,22 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (12,4)-(12,7) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (11,8)-(11,11) = "and"
├── @ AndNode (location: (16,0)-(20,5))
│ ├── left:
│ │ @ CallNode (location: (16,0)-(16,7))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (16,4)-(16,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -201,20 +203,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (16,0)-(16,3) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (17,2)-(20,5))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ CallNode (location: (20,2)-(20,5))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -222,20 +224,20 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :!
│ │ ├── message_loc: (17,2)-(17,5) = "not"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (16,8)-(16,11) = "and"
├── @ CallNode (location: (22,0)-(25,1))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (22,4)-(22,7))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -243,19 +245,19 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (22,0)-(22,3) = "not"
│ ├── opening_loc: (22,3)-(22,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (25,0)-(25,1) = ")"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (27,0)-(33,3))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (30,0)-(30,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -263,21 +265,22 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (27,0)-(27,3) = "not"
│ ├── opening_loc: (27,3)-(27,4) = "("
│ ├── arguments: ∅
│ ├── closing_loc: (33,2)-(33,3) = ")"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ CallNode (location: (35,0)-(35,14))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ FlipFlopNode (location: (35,4)-(35,14))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ CallNode (location: (35,4)-(35,7))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -285,10 +288,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (35,11)-(35,14))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -296,27 +299,27 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── operator_loc: (35,8)-(35,10) = ".."
│ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── operator_loc: (35,8)-(35,10) = ".."
│ ├── call_operator_loc: ∅
│ ├── name: :!
│ ├── message_loc: (35,0)-(35,3) = "not"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (37,0)-(37,16))
├── flags: ∅
├── receiver:
│ @ ParenthesesNode (location: (37,4)-(37,16))
│ ├── body:
│ │ @ StatementsNode (location: (37,5)-(37,15))
│ │ └── body: (length: 1)
│ │ └── @ FlipFlopNode (location: (37,5)-(37,15))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ CallNode (location: (37,5)-(37,8))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :foo
@ -324,10 +327,10 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── right:
│ │ │ @ CallNode (location: (37,12)-(37,15))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
@ -335,10 +338,8 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── operator_loc: (37,9)-(37,11) = ".."
│ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ └── operator_loc: (37,9)-(37,11) = ".."
│ ├── opening_loc: (37,4)-(37,5) = "("
│ └── closing_loc: (37,15)-(37,16) = ")"
├── call_operator_loc: ∅
@ -347,5 +348,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -97,6 +97,7 @@
│ @ StatementsNode (location: (13,5)-(13,8))
│ └── body: (length: 1)
│ └── @ CallNode (location: (13,5)-(13,8))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -104,8 +105,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ LambdaNode (location: (15,0)-(15,15))
│ ├── locals: []
│ ├── locals_body_index: 0
@ -117,6 +117,7 @@
│ @ StatementsNode (location: (15,7)-(15,10))
│ └── body: (length: 1)
│ └── @ CallNode (location: (15,7)-(15,10))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -124,8 +125,7 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── @ LambdaNode (location: (17,0)-(17,29))
│ ├── locals: [:a, :b, :c, :d, :e]
│ ├── locals_body_index: 5
@ -328,6 +328,7 @@
│ @ StatementsNode (location: (25,16)-(25,21))
│ └── body: (length: 1)
│ └── @ CallNode (location: (25,16)-(25,21))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ LocalVariableReadNode (location: (25,16)-(25,17))
│ │ ├── name: :a
@ -338,14 +339,13 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (25,20)-(25,21))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ LambdaNode (location: (27,0)-(27,19))
├── locals: [:a, :b, :c]
├── locals_body_index: 3

Просмотреть файл

@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
├── flags: exclude_end
├── left: ∅
├── right:
│ @ IntegerNode (location: (1,3)-(1,4))
│ └── flags: decimal
├── operator_loc: (1,0)-(1,3) = "..."
└── flags: exclude_end
└── operator_loc: (1,0)-(1,3) = "..."

Просмотреть файл

@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,3))
├── flags: ∅
├── left: ∅
├── right:
│ @ IntegerNode (location: (1,2)-(1,3))
│ └── flags: decimal
├── operator_loc: (1,0)-(1,2) = ".."
└── flags: ∅
└── operator_loc: (1,0)-(1,2) = ".."

Просмотреть файл

@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,4))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,4))
├── flags: exclude_end
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
├── operator_loc: (1,1)-(1,4) = "..."
└── flags: exclude_end
└── operator_loc: (1,1)-(1,4) = "..."

Просмотреть файл

@ -4,9 +4,9 @@
@ StatementsNode (location: (1,0)-(1,3))
└── body: (length: 1)
└── @ RangeNode (location: (1,0)-(1,3))
├── flags: ∅
├── left:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
├── right: ∅
├── operator_loc: (1,1)-(1,3) = ".."
└── flags: ∅
└── operator_loc: (1,1)-(1,3) = ".."

Просмотреть файл

@ -8,12 +8,12 @@
│ │ @ StatementsNode (location: (1,1)-(1,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (1,1)-(1,5))
│ │ ├── flags: exclude_end
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (1,1)-(1,4) = "..."
│ │ └── flags: exclude_end
│ │ └── operator_loc: (1,1)-(1,4) = "..."
│ ├── opening_loc: (1,0)-(1,1) = "("
│ └── closing_loc: (1,5)-(1,6) = ")"
├── @ ParenthesesNode (location: (3,0)-(3,5))
@ -21,26 +21,28 @@
│ │ @ StatementsNode (location: (3,1)-(3,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (3,1)-(3,4))
│ │ ├── flags: ∅
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (3,3)-(3,4))
│ │ │ └── flags: decimal
│ │ ├── operator_loc: (3,1)-(3,3) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (3,1)-(3,3) = ".."
│ ├── opening_loc: (3,0)-(3,1) = "("
│ └── closing_loc: (3,4)-(3,5) = ")"
├── @ RangeNode (location: (5,0)-(5,5))
│ ├── flags: exclude_end
│ ├── left:
│ │ @ IntegerNode (location: (5,0)-(5,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (5,4)-(5,5))
│ │ └── flags: decimal
│ ├── operator_loc: (5,1)-(5,4) = "..."
│ └── flags: exclude_end
│ └── operator_loc: (5,1)-(5,4) = "..."
├── @ CallNode (location: (7,0)-(7,9))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (7,0)-(7,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -48,26 +50,24 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :[]
│ ├── message_loc: (7,3)-(7,9) = "[...2]"
│ ├── opening_loc: (7,3)-(7,4) = "["
│ ├── arguments:
│ │ @ ArgumentsNode (location: (7,4)-(7,8))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ RangeNode (location: (7,4)-(7,8))
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ IntegerNode (location: (7,7)-(7,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── operator_loc: (7,4)-(7,7) = "..."
│ │ │ └── flags: exclude_end
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ RangeNode (location: (7,4)-(7,8))
│ │ ├── flags: exclude_end
│ │ ├── left: ∅
│ │ ├── right:
│ │ │ @ IntegerNode (location: (7,7)-(7,8))
│ │ │ └── flags: decimal
│ │ └── operator_loc: (7,4)-(7,7) = "..."
│ ├── closing_loc: (7,8)-(7,9) = "]"
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ HashNode (location: (9,0)-(9,15))
│ ├── opening_loc: (9,0)-(9,1) = "{"
│ ├── elements: (length: 1)
@ -80,9 +80,11 @@
│ │ │ └── unescaped: "foo"
│ │ ├── value:
│ │ │ @ RangeNode (location: (9,7)-(9,13))
│ │ │ ├── flags: exclude_end
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (9,10)-(9,13))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@ -90,10 +92,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── operator_loc: (9,7)-(9,10) = "..."
│ │ │ └── flags: exclude_end
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (9,7)-(9,10) = "..."
│ │ └── operator_loc: ∅
│ └── closing_loc: (9,14)-(9,15) = "}"
├── @ ParenthesesNode (location: (11,0)-(11,6))
@ -101,23 +101,23 @@
│ │ @ StatementsNode (location: (11,1)-(11,5))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (11,1)-(11,5))
│ │ ├── flags: exclude_end
│ │ ├── left:
│ │ │ @ IntegerNode (location: (11,1)-(11,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
│ │ ├── operator_loc: (11,2)-(11,5) = "..."
│ │ └── flags: exclude_end
│ │ └── operator_loc: (11,2)-(11,5) = "..."
│ ├── opening_loc: (11,0)-(11,1) = "("
│ └── closing_loc: (11,5)-(11,6) = ")"
├── @ RangeNode (location: (13,0)-(13,4))
│ ├── flags: ∅
│ ├── left:
│ │ @ IntegerNode (location: (13,0)-(13,1))
│ │ └── flags: decimal
│ ├── right:
│ │ @ IntegerNode (location: (13,3)-(13,4))
│ │ └── flags: decimal
│ ├── operator_loc: (13,1)-(13,3) = ".."
│ └── flags: ∅
│ └── operator_loc: (13,1)-(13,3) = ".."
├── @ HashNode (location: (15,0)-(15,14))
│ ├── opening_loc: (15,0)-(15,1) = "{"
│ ├── elements: (length: 1)
@ -130,9 +130,11 @@
│ │ │ └── unescaped: "foo"
│ │ ├── value:
│ │ │ @ RangeNode (location: (15,7)-(15,12))
│ │ │ ├── flags: ∅
│ │ │ ├── left: ∅
│ │ │ ├── right:
│ │ │ │ @ CallNode (location: (15,9)-(15,12))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
@ -140,10 +142,8 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── operator_loc: (15,7)-(15,9) = ".."
│ │ │ └── flags: ∅
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: (15,7)-(15,9) = ".."
│ │ └── operator_loc: ∅
│ └── closing_loc: (15,13)-(15,14) = "}"
├── @ ParenthesesNode (location: (17,0)-(17,5))
@ -151,25 +151,25 @@
│ │ @ StatementsNode (location: (17,1)-(17,4))
│ │ └── body: (length: 1)
│ │ └── @ RangeNode (location: (17,1)-(17,4))
│ │ ├── flags: ∅
│ │ ├── left:
│ │ │ @ IntegerNode (location: (17,1)-(17,2))
│ │ │ └── flags: decimal
│ │ ├── right: ∅
│ │ ├── operator_loc: (17,2)-(17,4) = ".."
│ │ └── flags: ∅
│ │ └── operator_loc: (17,2)-(17,4) = ".."
│ ├── opening_loc: (17,0)-(17,1) = "("
│ └── closing_loc: (17,4)-(17,5) = ")"
└── @ RangeNode (location: (19,0)-(19,8))
├── flags: ∅
├── left:
│ @ IntegerNode (location: (19,0)-(19,1))
│ └── flags: decimal
├── right:
│ @ RangeNode (location: (19,5)-(19,8))
│ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (19,7)-(19,8))
│ │ └── flags: decimal
│ ├── operator_loc: (19,5)-(19,7) = ".."
│ └── flags: ∅
├── operator_loc: (19,2)-(19,4) = ".."
└── flags: ∅
│ └── operator_loc: (19,5)-(19,7) = ".."
└── operator_loc: (19,2)-(19,4) = ".."

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(40,24))
└── body: (length: 21)
├── @ CallNode (location: (1,0)-(1,9))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -11,30 +12,30 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,9))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9))
│ │ │ ├── opening_loc: (1,4)-(1,5) = "/"
│ │ │ ├── content_loc: (1,5)-(1,8) = "bar"
│ │ │ ├── closing_loc: (1,8)-(1,9) = "/"
│ │ │ ├── unescaped: "bar"
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ RegularExpressionNode (location: (1,4)-(1,9))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,4)-(1,5) = "/"
│ │ ├── content_loc: (1,5)-(1,8) = "bar"
│ │ ├── closing_loc: (1,8)-(1,9) = "/"
│ │ └── unescaped: "bar"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ RegularExpressionNode (location: (3,0)-(3,8))
│ ├── flags: ignore_case
│ ├── opening_loc: (3,0)-(3,3) = "%r{"
│ ├── content_loc: (3,3)-(3,6) = "abc"
│ ├── closing_loc: (3,6)-(3,8) = "}i"
│ ├── unescaped: "abc"
│ └── flags: ignore_case
│ └── unescaped: "abc"
├── @ RegularExpressionNode (location: (5,0)-(5,5))
│ ├── flags: ∅
│ ├── opening_loc: (5,0)-(5,1) = "/"
│ ├── content_loc: (5,1)-(5,4) = "a\\b"
│ ├── closing_loc: (5,4)-(5,5) = "/"
│ ├── unescaped: "a\\b"
│ └── flags: ∅
│ └── unescaped: "a\\b"
├── @ InterpolatedRegularExpressionNode (location: (7,0)-(7,11))
│ ├── flags: ∅
│ ├── opening_loc: (7,0)-(7,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (7,1)-(7,5))
@ -48,9 +49,9 @@
│ │ └── variable:
│ │ @ GlobalVariableReadNode (location: (7,6)-(7,10))
│ │ └── name: :$bbb
│ ├── closing_loc: (7,10)-(7,11) = "/"
│ └── flags: ∅
│ └── closing_loc: (7,10)-(7,11) = "/"
├── @ InterpolatedRegularExpressionNode (location: (9,0)-(9,16))
│ ├── flags: ∅
│ ├── opening_loc: (9,0)-(9,1) = "/"
│ ├── parts: (length: 3)
│ │ ├── @ StringNode (location: (9,1)-(9,5))
@ -65,6 +66,7 @@
│ │ │ │ @ StatementsNode (location: (9,7)-(9,10))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (9,7)-(9,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bbb
@ -72,8 +74,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ └── closing_loc: (9,10)-(9,11) = "}"
│ │ └── @ StringNode (location: (9,11)-(9,15))
│ │ ├── flags: ∅
@ -81,41 +82,41 @@
│ │ ├── content_loc: (9,11)-(9,15) = " ccc"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: " ccc"
│ ├── closing_loc: (9,15)-(9,16) = "/"
│ └── flags: ∅
│ └── closing_loc: (9,15)-(9,16) = "/"
├── @ ArrayNode (location: (11,0)-(11,27))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ MatchWriteNode (location: (11,1)-(11,21))
│ │ │ ├── call:
│ │ │ │ @ CallNode (location: (11,1)-(11,21))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver:
│ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14))
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/"
│ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?<foo>bar)"
│ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/"
│ │ │ │ │ ├── unescaped: "(?<foo>bar)"
│ │ │ │ │ └── flags: ∅
│ │ │ │ │ └── unescaped: "(?<foo>bar)"
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :=~
│ │ │ │ ├── message_loc: (11,15)-(11,17) = "=~"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (11,18)-(11,21))
│ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :baz
│ │ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ └── flags: variable_call
│ │ │ │ │ └── flags: ∅
│ │ │ │ │ ├── flags: ∅
│ │ │ │ │ └── arguments: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (11,18)-(11,21))
│ │ │ │ │ ├── flags: variable_call
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :baz
│ │ │ │ │ ├── message_loc: (11,18)-(11,21) = "baz"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── block: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: ∅
│ │ │ │ └── block: ∅
│ │ │ └── targets: (length: 1)
│ │ │ └── @ LocalVariableTargetNode (location: (11,5)-(11,8))
│ │ │ ├── name: :foo
@ -124,70 +125,70 @@
│ │ ├── name: :foo
│ │ └── depth: 0
│ ├── opening_loc: (11,0)-(11,1) = "["
│ ├── closing_loc: (11,26)-(11,27) = "]"
│ └── flags: ∅
│ └── closing_loc: (11,26)-(11,27) = "]"
├── @ RegularExpressionNode (location: (13,0)-(13,6))
│ ├── flags: ignore_case
│ ├── opening_loc: (13,0)-(13,1) = "/"
│ ├── content_loc: (13,1)-(13,4) = "abc"
│ ├── closing_loc: (13,4)-(13,6) = "/i"
│ ├── unescaped: "abc"
│ └── flags: ignore_case
│ └── unescaped: "abc"
├── @ RegularExpressionNode (location: (15,0)-(15,26))
│ ├── flags: ignore_case
│ ├── opening_loc: (15,0)-(15,3) = "%r/"
│ ├── content_loc: (15,3)-(15,24) = "[a-z$._?][\\w$.?\#@~]*:"
│ ├── closing_loc: (15,24)-(15,26) = "/i"
│ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*:"
│ └── flags: ignore_case
│ └── unescaped: "[a-z$._?][\\w$.?\#@~]*:"
├── @ RegularExpressionNode (location: (17,0)-(17,37))
│ ├── flags: ignore_case
│ ├── opening_loc: (17,0)-(17,3) = "%r/"
│ ├── content_loc: (17,3)-(17,35) = "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
│ ├── closing_loc: (17,35)-(17,37) = "/i"
│ ├── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
│ └── flags: ignore_case
│ └── unescaped: "([a-z$._?][\\w$.?\#@~]*)(\\s+)(equ)"
├── @ RegularExpressionNode (location: (19,0)-(19,25))
│ ├── flags: ignore_case
│ ├── opening_loc: (19,0)-(19,3) = "%r/"
│ ├── content_loc: (19,3)-(19,23) = "[a-z$._?][\\w$.?\#@~]*"
│ ├── closing_loc: (19,23)-(19,25) = "/i"
│ ├── unescaped: "[a-z$._?][\\w$.?\#@~]*"
│ └── flags: ignore_case
│ └── unescaped: "[a-z$._?][\\w$.?\#@~]*"
├── @ RegularExpressionNode (location: (21,0)-(24,1))
│ ├── flags: ∅
│ ├── opening_loc: (21,0)-(21,3) = "%r("
│ ├── content_loc: (21,3)-(24,0) = "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
│ ├── closing_loc: (24,0)-(24,1) = ")"
│ ├── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
│ └── flags: ∅
│ └── unescaped: "\n(?:[\\w\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\\w\#$%_']+)\n"
├── @ CallNode (location: (26,0)-(26,16))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (26,0)-(26,8))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (26,0)-(26,1) = "/"
│ │ ├── content_loc: (26,1)-(26,7) = "(?#\\))"
│ │ ├── closing_loc: (26,7)-(26,8) = "/"
│ │ ├── unescaped: "(?#\\))"
│ │ └── flags: ∅
│ │ └── unescaped: "(?#\\))"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (26,9)-(26,11) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (26,12)-(26,16))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (26,12)-(26,16))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (26,12)-(26,13) = "\""
│ │ │ ├── content_loc: (26,13)-(26,15) = "hi"
│ │ │ ├── closing_loc: (26,15)-(26,16) = "\""
│ │ │ └── unescaped: "hi"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ StringNode (location: (26,12)-(26,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (26,12)-(26,13) = "\""
│ │ ├── content_loc: (26,13)-(26,15) = "hi"
│ │ ├── closing_loc: (26,15)-(26,16) = "\""
│ │ └── unescaped: "hi"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ RegularExpressionNode (location: (28,0)-(28,9))
│ ├── flags: ∅
│ ├── opening_loc: (28,0)-(28,3) = "%r#"
│ ├── content_loc: (28,3)-(28,8) = "pound"
│ ├── closing_loc: (28,8)-(28,9) = "#"
│ ├── unescaped: "pound"
│ └── flags: ∅
│ └── unescaped: "pound"
├── @ InterpolatedRegularExpressionNode (location: (30,0)-(30,13))
│ ├── flags: once
│ ├── opening_loc: (30,0)-(30,1) = "/"
│ ├── parts: (length: 2)
│ │ ├── @ StringNode (location: (30,1)-(30,5))
@ -202,6 +203,7 @@
│ │ │ @ StatementsNode (location: (30,7)-(30,10))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (30,7)-(30,10))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bbb
@ -209,38 +211,36 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ └── closing_loc: (30,10)-(30,11) = "}"
│ ├── closing_loc: (30,11)-(30,13) = "/o"
│ └── flags: once
│ └── closing_loc: (30,11)-(30,13) = "/o"
├── @ MatchWriteNode (location: (32,0)-(33,10))
│ ├── call:
│ │ @ CallNode (location: (32,0)-(33,10))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (32,0)-(33,4))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (32,0)-(32,1) = "/"
│ │ │ ├── content_loc: (32,1)-(33,3) = "(?<a\\\nb>)"
│ │ │ ├── closing_loc: (33,3)-(33,4) = "/"
│ │ │ ├── unescaped: "(?<ab>)"
│ │ │ └── flags: ∅
│ │ │ └── unescaped: "(?<ab>)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (33,5)-(33,7) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (33,8)-(33,10))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ StringNode (location: (33,8)-(33,10))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (33,8)-(33,9) = "\""
│ │ │ │ ├── content_loc: (33,9)-(33,9) = ""
│ │ │ │ ├── closing_loc: (33,9)-(33,10) = "\""
│ │ │ │ └── unescaped: ""
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (33,8)-(33,10))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (33,8)-(33,9) = "\""
│ │ │ ├── content_loc: (33,9)-(33,9) = ""
│ │ │ ├── closing_loc: (33,9)-(33,10) = "\""
│ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (32,0)-(33,4))
│ ├── name: :ab
@ -251,30 +251,30 @@
├── @ MatchWriteNode (location: (35,0)-(35,24))
│ ├── call:
│ │ @ CallNode (location: (35,0)-(35,24))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (35,0)-(35,18))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (35,0)-(35,1) = "/"
│ │ │ ├── content_loc: (35,1)-(35,17) = "(?<abc>)(?<abc>)"
│ │ │ ├── closing_loc: (35,17)-(35,18) = "/"
│ │ │ ├── unescaped: "(?<abc>)(?<abc>)"
│ │ │ └── flags: ∅
│ │ │ └── unescaped: "(?<abc>)(?<abc>)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (35,19)-(35,21) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (35,22)-(35,24))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ StringNode (location: (35,22)-(35,24))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (35,22)-(35,23) = "\""
│ │ │ │ ├── content_loc: (35,23)-(35,23) = ""
│ │ │ │ ├── closing_loc: (35,23)-(35,24) = "\""
│ │ │ │ └── unescaped: ""
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (35,22)-(35,24))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (35,22)-(35,23) = "\""
│ │ │ ├── content_loc: (35,23)-(35,23) = ""
│ │ │ ├── closing_loc: (35,23)-(35,24) = "\""
│ │ │ └── unescaped: ""
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (35,4)-(35,7))
│ ├── name: :abc
@ -283,30 +283,30 @@
│ ├── name: :abc
│ └── depth: 0
├── @ CallNode (location: (37,0)-(37,16))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ RegularExpressionNode (location: (37,0)-(37,10))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (37,0)-(37,1) = "/"
│ │ ├── content_loc: (37,1)-(37,9) = "(?<a b>)"
│ │ ├── closing_loc: (37,9)-(37,10) = "/"
│ │ ├── unescaped: "(?<a b>)"
│ │ └── flags: ∅
│ │ └── unescaped: "(?<a b>)"
│ ├── call_operator_loc: ∅
│ ├── name: :=~
│ ├── message_loc: (37,11)-(37,13) = "=~"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (37,14)-(37,16))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ StringNode (location: (37,14)-(37,16))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (37,14)-(37,15) = "\""
│ │ │ ├── content_loc: (37,15)-(37,15) = ""
│ │ │ ├── closing_loc: (37,15)-(37,16) = "\""
│ │ │ └── unescaped: ""
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ StringNode (location: (37,14)-(37,16))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (37,14)-(37,15) = "\""
│ │ ├── content_loc: (37,15)-(37,15) = ""
│ │ ├── closing_loc: (37,15)-(37,16) = "\""
│ │ └── unescaped: ""
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
├── @ LocalVariableWriteNode (location: (39,0)-(39,5))
│ ├── name: :a
│ ├── depth: 0
@ -316,6 +316,7 @@
│ │ └── flags: decimal
│ └── operator_loc: (39,2)-(39,3) = "="
└── @ CallNode (location: (40,0)-(40,24))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :tap
@ -323,49 +324,48 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (40,4)-(40,24))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (40,6)-(40,22))
│ │ └── body: (length: 1)
│ │ └── @ MatchWriteNode (location: (40,6)-(40,22))
│ │ ├── call:
│ │ │ @ CallNode (location: (40,6)-(40,22))
│ │ │ ├── receiver:
│ │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14))
│ │ │ │ ├── opening_loc: (40,6)-(40,7) = "/"
│ │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)"
│ │ │ │ ├── closing_loc: (40,13)-(40,14) = "/"
│ │ │ │ ├── unescaped: "(?<a>)"
│ │ │ │ └── flags: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :=~
│ │ │ ├── message_loc: (40,15)-(40,17) = "=~"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (40,18)-(40,22))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (40,18)-(40,22))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :to_s
│ │ │ │ │ ├── message_loc: (40,18)-(40,22) = "to_s"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: variable_call
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── targets: (length: 1)
│ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11))
│ │ ├── name: :a
│ │ └── depth: 1
│ ├── opening_loc: (40,4)-(40,5) = "{"
│ └── closing_loc: (40,23)-(40,24) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (40,4)-(40,24))
├── locals: []
├── locals_body_index: 0
├── parameters: ∅
├── body:
│ @ StatementsNode (location: (40,6)-(40,22))
│ └── body: (length: 1)
│ └── @ MatchWriteNode (location: (40,6)-(40,22))
│ ├── call:
│ │ @ CallNode (location: (40,6)-(40,22))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ RegularExpressionNode (location: (40,6)-(40,14))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (40,6)-(40,7) = "/"
│ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)"
│ │ │ ├── closing_loc: (40,13)-(40,14) = "/"
│ │ │ └── unescaped: "(?<a>)"
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :=~
│ │ ├── message_loc: (40,15)-(40,17) = "=~"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (40,18)-(40,22))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (40,18)-(40,22))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :to_s
│ │ │ ├── message_loc: (40,18)-(40,22) = "to_s"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ └── targets: (length: 1)
│ └── @ LocalVariableTargetNode (location: (40,10)-(40,11))
│ ├── name: :a
│ └── depth: 1
├── opening_loc: (40,4)-(40,5) = "{"
└── closing_loc: (40,23)-(40,24) = "}"

Просмотреть файл

@ -6,6 +6,7 @@
├── @ RescueModifierNode (location: (1,0)-(1,14))
│ ├── expression:
│ │ @ CallNode (location: (1,0)-(1,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -13,14 +14,14 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── keyword_loc: (1,4)-(1,10) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (1,11)-(1,14))
├── @ RescueModifierNode (location: (3,0)-(4,3))
│ ├── expression:
│ │ @ CallNode (location: (3,0)-(3,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -28,8 +29,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── keyword_loc: (3,4)-(3,10) = "rescue"
│ └── rescue_expression:
│ @ NilNode (location: (4,0)-(4,3))
@ -60,6 +60,7 @@
├── @ RescueModifierNode (location: (12,0)-(12,19))
│ ├── expression:
│ │ @ CallNode (location: (12,0)-(12,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -67,8 +68,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── keyword_loc: (12,4)-(12,10) = "rescue"
│ └── rescue_expression:
│ @ OrNode (location: (12,11)-(12,19))
@ -81,6 +81,7 @@
├── @ RescueModifierNode (location: (14,0)-(14,22))
│ ├── expression:
│ │ @ CallNode (location: (14,0)-(14,3))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :foo
@ -88,8 +89,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── keyword_loc: (14,4)-(14,10) = "rescue"
│ └── rescue_expression:
│ @ IfNode (location: (14,11)-(14,22))
@ -118,6 +118,7 @@
│ │ @ StatementsNode (location: (16,7)-(16,8))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (16,7)-(16,8))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -125,8 +126,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (16,10)-(16,19))
│ │ ├── keyword_loc: (16,10)-(16,16) = "rescue"
@ -135,6 +135,7 @@
│ │ │ ├── operator_loc: (16,17)-(16,18) = "*"
│ │ │ └── expression:
│ │ │ @ CallNode (location: (16,18)-(16,19))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
@ -142,8 +143,7 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ │ └── block: ∅
│ │ ├── operator_loc: ∅
│ │ ├── reference: ∅
│ │ ├── statements: ∅
@ -152,6 +152,7 @@
│ ├── ensure_clause: ∅
│ └── end_keyword_loc: (16,21)-(16,24) = "end"
├── @ CallNode (location: (18,0)-(20,3))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
@ -159,91 +160,90 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (18,4)-(20,3))
│ │ ├── locals: [:x]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (18,7)-(18,10))
│ │ │ ├── parameters:
│ │ │ │ @ ParametersNode (location: (18,8)-(18,9))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
│ │ │ │ │ └── name: :x
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (18,7)-(18,8) = "|"
│ │ │ └── closing_loc: (18,9)-(18,10) = "|"
│ │ ├── body:
│ │ │ @ StatementsNode (location: (19,2)-(19,40))
│ │ │ └── body: (length: 1)
│ │ │ └── @ RescueModifierNode (location: (19,2)-(19,40))
│ │ │ ├── expression:
│ │ │ │ @ CallNode (location: (19,2)-(19,8))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :bar
│ │ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
│ │ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ │ ├── arguments:
│ │ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
│ │ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ │ ├── name: :y
│ │ │ │ │ │ ├── message_loc: (19,6)-(19,7) = "y"
│ │ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ │ ├── block: ∅
│ │ │ │ │ │ └── flags: variable_call
│ │ │ │ │ └── flags: ∅
│ │ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: ∅
│ │ │ ├── keyword_loc: (19,9)-(19,15) = "rescue"
│ │ │ └── rescue_expression:
│ │ │ @ CallNode (location: (19,16)-(19,40))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :ArgumentError
│ │ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (19,30)-(19,40))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ CallNode (location: (19,30)-(19,40))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :fail
│ │ │ │ │ ├── message_loc: (19,30)-(19,34) = "fail"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments:
│ │ │ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40))
│ │ │ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ │ │ └── @ StringNode (location: (19,35)-(19,40))
│ │ │ │ │ │ │ ├── flags: ∅
│ │ │ │ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\""
│ │ │ │ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz"
│ │ │ │ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\""
│ │ │ │ │ │ │ └── unescaped: "baz"
│ │ │ │ │ │ └── flags: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: ∅
│ │ │ │ └── flags: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ ├── opening_loc: (18,4)-(18,6) = "do"
│ │ └── closing_loc: (20,0)-(20,3) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (18,4)-(20,3))
│ ├── locals: [:x]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (18,7)-(18,10))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (18,8)-(18,9))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9))
│ │ │ │ └── name: :x
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (18,7)-(18,8) = "|"
│ │ └── closing_loc: (18,9)-(18,10) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (19,2)-(19,40))
│ │ └── body: (length: 1)
│ │ └── @ RescueModifierNode (location: (19,2)-(19,40))
│ │ ├── expression:
│ │ │ @ CallNode (location: (19,2)-(19,8))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :bar
│ │ │ ├── message_loc: (19,2)-(19,5) = "bar"
│ │ │ ├── opening_loc: (19,5)-(19,6) = "("
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (19,6)-(19,7))
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ CallNode (location: (19,6)-(19,7))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :y
│ │ │ │ ├── message_loc: (19,6)-(19,7) = "y"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── closing_loc: (19,7)-(19,8) = ")"
│ │ │ └── block: ∅
│ │ ├── keyword_loc: (19,9)-(19,15) = "rescue"
│ │ └── rescue_expression:
│ │ @ CallNode (location: (19,16)-(19,40))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :ArgumentError
│ │ ├── message_loc: (19,16)-(19,29) = "ArgumentError"
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (19,30)-(19,40))
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (19,30)-(19,40))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :fail
│ │ │ ├── message_loc: (19,30)-(19,34) = "fail"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (19,35)-(19,40))
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ StringNode (location: (19,35)-(19,40))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── opening_loc: (19,35)-(19,36) = "\""
│ │ │ │ ├── content_loc: (19,36)-(19,39) = "baz"
│ │ │ │ ├── closing_loc: (19,39)-(19,40) = "\""
│ │ │ │ └── unescaped: "baz"
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── opening_loc: (18,4)-(18,6) = "do"
│ └── closing_loc: (20,0)-(20,3) = "end"
├── @ IfNode (location: (22,0)-(24,3))
│ ├── if_keyword_loc: (22,0)-(22,2) = "if"
│ ├── predicate:
@ -255,6 +255,7 @@
│ │ │ @ RescueModifierNode (location: (22,7)-(22,21))
│ │ │ ├── expression:
│ │ │ │ @ CallNode (location: (22,7)-(22,10))
│ │ │ │ ├── flags: variable_call
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :foo
@ -262,8 +263,7 @@
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ │ └── block: ∅
│ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue"
│ │ │ └── rescue_expression:
│ │ │ @ NilNode (location: (22,18)-(22,21))
@ -273,6 +273,7 @@
│ │ @ StatementsNode (location: (23,2)-(23,5))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (23,2)-(23,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :bar
@ -280,8 +281,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── consequent: ∅
│ └── end_keyword_loc: (24,0)-(24,3) = "end"
├── @ DefNode (location: (26,0)-(26,44))
@ -295,6 +295,7 @@
│ │ └── @ RescueModifierNode (location: (26,18)-(26,44))
│ │ ├── expression:
│ │ │ @ CallNode (location: (26,18)-(26,33))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :other_method
@ -302,13 +303,12 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (26,31)-(26,33))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33))
│ │ │ │ └── flags: decimal
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── keyword_loc: (26,34)-(26,40) = "rescue"
│ │ └── rescue_expression:
│ │ @ NilNode (location: (26,41)-(26,44))
@ -332,6 +332,7 @@
│ │ @ StatementsNode (location: (29,2)-(29,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (29,2)-(29,6))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -339,34 +340,33 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments:
│ │ │ @ ArgumentsNode (location: (29,4)-(29,6))
│ │ │ ├── arguments: (length: 1)
│ │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6))
│ │ │ │ └── elements: (length: 1)
│ │ │ │ └── @ AssocNode (location: (29,4)-(29,6))
│ │ │ │ ├── key:
│ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
│ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"
│ │ │ │ │ └── unescaped: "b"
│ │ │ │ ├── value:
│ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6))
│ │ │ │ │ └── value:
│ │ │ │ │ @ CallNode (location: (29,4)-(29,6))
│ │ │ │ │ ├── receiver: ∅
│ │ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ │ ├── name: :b
│ │ │ │ │ ├── message_loc: (29,4)-(29,5) = "b"
│ │ │ │ │ ├── opening_loc: ∅
│ │ │ │ │ ├── arguments: ∅
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ ├── block: ∅
│ │ │ │ │ └── flags: ∅
│ │ │ │ └── operator_loc: ∅
│ │ │ └── flags: ∅
│ │ │ ├── flags: ∅
│ │ │ └── arguments: (length: 1)
│ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6))
│ │ │ └── elements: (length: 1)
│ │ │ └── @ AssocNode (location: (29,4)-(29,6))
│ │ │ ├── key:
│ │ │ │ @ SymbolNode (location: (29,4)-(29,6))
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── value_loc: (29,4)-(29,5) = "b"
│ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":"
│ │ │ │ └── unescaped: "b"
│ │ │ ├── value:
│ │ │ │ @ ImplicitNode (location: (29,4)-(29,6))
│ │ │ │ └── value:
│ │ │ │ @ CallNode (location: (29,4)-(29,6))
│ │ │ │ ├── flags: ∅
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
│ │ │ │ ├── message_loc: (29,4)-(29,5) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── block: ∅
│ │ │ └── operator_loc: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ ├── rescue_clause:
│ │ @ RescueNode (location: (30,0)-(30,6))
│ │ ├── keyword_loc: (30,0)-(30,6) = "rescue"

Просмотреть файл

@ -10,129 +10,129 @@
│ ├── keyword_loc: (3,0)-(3,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (3,7)-(3,20))
│ ├── arguments: (length: 3)
│ ├── @ ParenthesesNode (location: (3,7)-(3,10))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,8)-(3,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,7)-(3,8) = "("
│ │ └── closing_loc: (3,9)-(3,10) = ")"
│ ├── @ ParenthesesNode (location: (3,12)-(3,15))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (3,13)-(3,14))
│ │ │ └── body: (length: 1)
│ │ │ └── @ IntegerNode (location: (3,13)-(3,14))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (3,12)-(3,13) = "("
│ │ └── closing_loc: (3,14)-(3,15) = ")"
│ └── @ ParenthesesNode (location: (3,17)-(3,20))
│ ├── body:
│ │ @ StatementsNode (location: (3,18)-(3,19))
│ │ └── body: (length: 1)
│ │ └── @ IntegerNode (location: (3,18)-(3,19))
│ │ └── flags: decimal
│ ├── opening_loc: (3,17)-(3,18) = "("
│ └── closing_loc: (3,19)-(3,20) = ")"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 3)
├── @ ParenthesesNode (location: (3,7)-(3,10))
│ ├── body:
│ │ @ StatementsNode (location: (3,8)-(3,9))
│ │ └── body: (length: 1)
│ │ └── @ IntegerNode (location: (3,8)-(3,9))
│ │ └── flags: decimal
│ ├── opening_loc: (3,7)-(3,8) = "("
│ └── closing_loc: (3,9)-(3,10) = ")"
├── @ ParenthesesNode (location: (3,12)-(3,15))
│ ├── body:
│ │ @ StatementsNode (location: (3,13)-(3,14))
│ │ └── body: (length: 1)
│ │ └── @ IntegerNode (location: (3,13)-(3,14))
│ │ └── flags: decimal
│ ├── opening_loc: (3,12)-(3,13) = "("
│ └── closing_loc: (3,14)-(3,15) = ")"
└── @ ParenthesesNode (location: (3,17)-(3,20))
├── body:
│ @ StatementsNode (location: (3,18)-(3,19))
│ └── body: (length: 1)
│ └── @ IntegerNode (location: (3,18)-(3,19))
│ └── flags: decimal
├── opening_loc: (3,17)-(3,18) = "("
└── closing_loc: (3,19)-(3,20) = ")"
├── @ ReturnNode (location: (5,0)-(5,9))
│ ├── keyword_loc: (5,0)-(5,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (5,7)-(5,9))
│ ├── arguments: (length: 1)
│ └── @ SplatNode (location: (5,7)-(5,9))
│ ├── operator_loc: (5,7)-(5,8) = "*"
│ └── expression:
│ @ IntegerNode (location: (5,8)-(5,9))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ SplatNode (location: (5,7)-(5,9))
├── operator_loc: (5,7)-(5,8) = "*"
└── expression:
@ IntegerNode (location: (5,8)-(5,9))
└── flags: decimal
├── @ ReturnNode (location: (7,0)-(7,8))
│ ├── keyword_loc: (7,0)-(7,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (7,7)-(7,8))
│ ├── arguments: (length: 1)
│ └── @ IntegerNode (location: (7,7)-(7,8))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ IntegerNode (location: (7,7)-(7,8))
└── flags: decimal
├── @ ReturnNode (location: (9,0)-(10,1))
│ ├── keyword_loc: (9,0)-(9,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (9,7)-(10,1))
│ ├── arguments: (length: 3)
│ ├── @ IntegerNode (location: (9,7)-(9,8))
│ │ └── flags: decimal
│ ├── @ IntegerNode (location: (9,10)-(9,11))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (10,0)-(10,1))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 3)
├── @ IntegerNode (location: (9,7)-(9,8))
│ └── flags: decimal
├── @ IntegerNode (location: (9,10)-(9,11))
│ └── flags: decimal
└── @ IntegerNode (location: (10,0)-(10,1))
└── flags: decimal
├── @ ReturnNode (location: (12,0)-(12,14))
│ ├── keyword_loc: (12,0)-(12,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (12,7)-(12,14))
│ ├── arguments: (length: 3)
│ ├── @ IntegerNode (location: (12,7)-(12,8))
│ │ └── flags: decimal
│ ├── @ IntegerNode (location: (12,10)-(12,11))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (12,13)-(12,14))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 3)
├── @ IntegerNode (location: (12,7)-(12,8))
│ └── flags: decimal
├── @ IntegerNode (location: (12,10)-(12,11))
│ └── flags: decimal
└── @ IntegerNode (location: (12,13)-(12,14))
└── flags: decimal
├── @ ReturnNode (location: (14,0)-(14,16))
│ ├── keyword_loc: (14,0)-(14,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (14,7)-(14,16))
│ ├── arguments: (length: 1)
│ └── @ ArrayNode (location: (14,7)-(14,16))
│ ├── elements: (length: 3)
│ │ ├── @ IntegerNode (location: (14,8)-(14,9))
│ │ │ └── flags: decimal
│ │ ├── @ IntegerNode (location: (14,11)-(14,12))
│ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (14,14)-(14,15))
│ │ └── flags: decimal
│ ├── opening_loc: (14,7)-(14,8) = "["
│ ├── closing_loc: (14,15)-(14,16) = "]"
│ └── flags: ∅
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ ArrayNode (location: (14,7)-(14,16))
├── flags: ∅
├── elements: (length: 3)
│ ├── @ IntegerNode (location: (14,8)-(14,9))
│ │ └── flags: decimal
│ ├── @ IntegerNode (location: (14,11)-(14,12))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (14,14)-(14,15))
│ └── flags: decimal
├── opening_loc: (14,7)-(14,8) = "["
└── closing_loc: (14,15)-(14,16) = "]"
├── @ ReturnNode (location: (16,0)-(19,1))
│ ├── keyword_loc: (16,0)-(16,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (16,6)-(19,1))
│ ├── arguments: (length: 1)
│ └── @ ParenthesesNode (location: (16,6)-(19,1))
│ ├── body:
│ │ @ StatementsNode (location: (17,2)-(18,3))
│ │ └── body: (length: 2)
│ │ ├── @ IntegerNode (location: (17,2)-(17,3))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (18,2)-(18,3))
│ │ └── flags: decimal
│ ├── opening_loc: (16,6)-(16,7) = "("
│ └── closing_loc: (19,0)-(19,1) = ")"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ ParenthesesNode (location: (16,6)-(19,1))
├── body:
│ @ StatementsNode (location: (17,2)-(18,3))
│ └── body: (length: 2)
│ ├── @ IntegerNode (location: (17,2)-(17,3))
│ │ └── flags: decimal
│ └── @ IntegerNode (location: (18,2)-(18,3))
│ └── flags: decimal
├── opening_loc: (16,6)-(16,7) = "("
└── closing_loc: (19,0)-(19,1) = ")"
├── @ ReturnNode (location: (21,0)-(21,8))
│ ├── keyword_loc: (21,0)-(21,6) = "return"
│ └── arguments:
│ @ ArgumentsNode (location: (21,6)-(21,8))
│ ├── arguments: (length: 1)
│ └── @ ParenthesesNode (location: (21,6)-(21,8))
│ ├── body: ∅
│ ├── opening_loc: (21,6)-(21,7) = "("
│ └── closing_loc: (21,7)-(21,8) = ")"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ ParenthesesNode (location: (21,6)-(21,8))
├── body: ∅
├── opening_loc: (21,6)-(21,7) = "("
└── closing_loc: (21,7)-(21,8) = ")"
└── @ ReturnNode (location: (23,0)-(23,9))
├── keyword_loc: (23,0)-(23,6) = "return"
└── arguments:
@ ArgumentsNode (location: (23,6)-(23,9))
├── arguments: (length: 1)
│ └── @ ParenthesesNode (location: (23,6)-(23,9))
│ ├── body:
│ │ @ StatementsNode (location: (23,7)-(23,8))
│ │ └── body: (length: 1)
│ │ └── @ IntegerNode (location: (23,7)-(23,8))
│ │ └── flags: decimal
│ ├── opening_loc: (23,6)-(23,7) = "("
│ └── closing_loc: (23,8)-(23,9) = ")"
└── flags: ∅
├── flags: ∅
└── arguments: (length: 1)
└── @ ParenthesesNode (location: (23,6)-(23,9))
├── body:
│ @ StatementsNode (location: (23,7)-(23,8))
│ └── body: (length: 1)
│ └── @ IntegerNode (location: (23,7)-(23,8))
│ └── flags: decimal
├── opening_loc: (23,6)-(23,7) = "("
└── closing_loc: (23,8)-(23,9) = ")"

Просмотреть файл

@ -4,11 +4,12 @@
@ StatementsNode (location: (1,0)-(92,1))
└── body: (length: 16)
├── @ ArrayNode (location: (1,0)-(4,1))
│ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (1,0)-(1,3) = "%I["
│ ├── closing_loc: (4,0)-(4,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (4,0)-(4,1) = "]"
├── @ ArrayNode (location: (6,0)-(9,1))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (7,0)-(7,5))
│ │ │ ├── opening_loc: ∅
@ -21,14 +22,14 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (6,0)-(6,3) = "%I["
│ ├── closing_loc: (9,0)-(9,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (9,0)-(9,1) = "]"
├── @ ArrayNode (location: (11,0)-(14,1))
│ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (11,0)-(11,3) = "%W["
│ ├── closing_loc: (14,0)-(14,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (14,0)-(14,1) = "]"
├── @ ArrayNode (location: (16,0)-(19,1))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (17,0)-(17,5))
│ │ │ ├── flags: ∅
@ -43,14 +44,14 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (16,0)-(16,3) = "%W["
│ ├── closing_loc: (19,0)-(19,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (19,0)-(19,1) = "]"
├── @ ArrayNode (location: (21,0)-(24,1))
│ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (21,0)-(21,3) = "%i["
│ ├── closing_loc: (24,0)-(24,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (24,0)-(24,1) = "]"
├── @ ArrayNode (location: (26,0)-(29,1))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (27,0)-(27,5))
│ │ │ ├── opening_loc: ∅
@ -63,20 +64,20 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (26,0)-(26,3) = "%i["
│ ├── closing_loc: (29,0)-(29,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (29,0)-(29,1) = "]"
├── @ RegularExpressionNode (location: (31,0)-(34,1))
│ ├── flags: ∅
│ ├── opening_loc: (31,0)-(31,3) = "%r["
│ ├── content_loc: (31,3)-(34,0) = "\n\n\n"
│ ├── closing_loc: (34,0)-(34,1) = "]"
│ ├── unescaped: "\n\n\n"
│ └── flags: ∅
│ └── unescaped: "\n\n\n"
├── @ ArrayNode (location: (36,0)-(39,1))
│ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (36,0)-(36,3) = "%w["
│ ├── closing_loc: (39,0)-(39,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (39,0)-(39,1) = "]"
├── @ ArrayNode (location: (41,0)-(44,1))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (42,0)-(42,5))
│ │ │ ├── flags: ∅
@ -91,9 +92,9 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (41,0)-(41,3) = "%w["
│ ├── closing_loc: (44,0)-(44,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (44,0)-(44,1) = "]"
├── @ ArrayNode (location: (46,0)-(49,1))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ SymbolNode (location: (47,0)-(47,6))
│ │ │ ├── opening_loc: (47,0)-(47,1) = ":"
@ -106,8 +107,7 @@
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line3"
│ ├── opening_loc: (46,0)-(46,1) = "["
│ ├── closing_loc: (49,0)-(49,1) = "]"
│ └── flags: ∅
│ └── closing_loc: (49,0)-(49,1) = "]"
├── @ ClassNode (location: (51,0)-(56,3))
│ ├── locals: []
│ ├── class_keyword_loc: (51,0)-(51,5) = "class"
@ -141,6 +141,7 @@
│ │ │ @ StatementsNode (location: (54,4)-(54,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (54,4)-(54,9))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (54,4)-(54,5))
│ │ │ │ ├── name: :a
@ -151,14 +152,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (54,8)-(54,9))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (52,2)-(52,5) = "def"
@ -234,6 +234,7 @@
│ │ │ @ StatementsNode (location: (69,4)-(69,9))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (69,4)-(69,9))
│ │ │ ├── flags: ∅
│ │ │ ├── receiver:
│ │ │ │ @ LocalVariableReadNode (location: (69,4)-(69,5))
│ │ │ │ ├── name: :a
@ -244,14 +245,13 @@
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments:
│ │ │ │ @ ArgumentsNode (location: (69,8)-(69,9))
│ │ │ │ ├── arguments: (length: 1)
│ │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ └── depth: 0
│ │ │ │ └── flags: ∅
│ │ │ │ ├── flags: ∅
│ │ │ │ └── arguments: (length: 1)
│ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ │ └── block: ∅
│ │ ├── locals: [:a, :b]
│ │ ├── locals_body_index: 2
│ │ ├── def_keyword_loc: (67,2)-(67,5) = "def"
@ -276,6 +276,7 @@
│ │ ├── name_loc: (75,2)-(75,3) = "X"
│ │ ├── value:
│ │ │ @ ArrayNode (location: (75,6)-(78,3))
│ │ │ ├── flags: ∅
│ │ │ ├── elements: (length: 2)
│ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10))
│ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":"
@ -288,8 +289,7 @@
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "line4"
│ │ │ ├── opening_loc: (75,6)-(75,7) = "["
│ │ │ ├── closing_loc: (78,2)-(78,3) = "]"
│ │ │ └── flags: ∅
│ │ │ └── closing_loc: (78,2)-(78,3) = "]"
│ │ └── operator_loc: (75,4)-(75,5) = "="
│ ├── end_keyword_loc: (79,0)-(79,3) = "end"
│ └── name: :X
@ -323,6 +323,7 @@
│ ├── end_keyword_loc: (86,0)-(86,3) = "end"
│ └── name: :X
└── @ CallNode (location: (89,0)-(92,1))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@ -330,18 +331,17 @@
├── opening_loc: (89,1)-(89,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (90,0)-(91,6))
│ ├── arguments: (length: 2)
│ ├── @ SymbolNode (location: (90,0)-(90,6))
│ │ ├── opening_loc: (90,0)-(90,1) = ":"
│ │ ├── value_loc: (90,1)-(90,6) = "line2"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "line2"
│ └── @ SymbolNode (location: (91,0)-(91,6))
│ ├── opening_loc: (91,0)-(91,1) = ":"
│ ├── value_loc: (91,1)-(91,6) = "line3"
│ ├── closing_loc: ∅
│ └── unescaped: "line3"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 2)
├── @ SymbolNode (location: (90,0)-(90,6))
│ ├── opening_loc: (90,0)-(90,1) = ":"
│ ├── value_loc: (90,1)-(90,6) = "line2"
│ ├── closing_loc: ∅
│ └── unescaped: "line2"
└── @ SymbolNode (location: (91,0)-(91,6))
├── opening_loc: (91,0)-(91,1) = ":"
├── value_loc: (91,1)-(91,6) = "line3"
├── closing_loc: ∅
└── unescaped: "line3"
├── closing_loc: (92,0)-(92,1) = ")"
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -10,6 +10,7 @@
│ │ @ TrueNode (location: (1,0)-(1,4))
│ ├── right:
│ │ @ CallNode (location: (2,0)-(2,9))
│ │ ├── flags: ∅
│ │ ├── receiver:
│ │ │ @ FalseNode (location: (2,4)-(2,9))
│ │ ├── call_operator_loc: ∅
@ -18,8 +19,7 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (1,5)-(1,8) = "and"
├── right:
│ @ TrueNode (location: (3,0)-(3,4))

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,8))
├── flags: ∅
├── elements: (length: 1)
│ └── @ KeywordHashNode (location: (1,1)-(1,7))
│ └── elements: (length: 1)
@ -16,5 +17,4 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,3)-(1,5) = "=>"
├── opening_loc: (1,0)-(1,1) = "["
├── closing_loc: (1,7)-(1,8) = "]"
└── flags: ∅
└── closing_loc: (1,7)-(1,8) = "]"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ ArrayNode (location: (1,0)-(1,11))
├── flags: ∅
├── elements: (length: 2)
│ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ └── flags: decimal
@ -18,5 +19,4 @@
│ │ └── flags: decimal
│ └── operator_loc: (1,6)-(1,8) = "=>"
├── opening_loc: (1,0)-(1,1) = "["
├── closing_loc: (1,10)-(1,11) = "]"
└── flags: ∅
└── closing_loc: (1,10)-(1,11) = "]"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,1))
└── body: (length: 2)
├── @ ArrayNode (location: (1,0)-(3,4))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ StringNode (location: (2,0)-(2,3))
│ │ │ ├── flags: ∅
@ -18,7 +19,6 @@
│ │ ├── closing_loc: (3,2)-(3,3) = "'"
│ │ └── unescaped: "b"
│ ├── opening_loc: (1,0)-(1,1) = "["
│ ├── closing_loc: (3,3)-(3,4) = "]"
│ └── flags: ∅
│ └── closing_loc: (3,3)-(3,4) = "]"
└── @ IntegerNode (location: (4,0)-(4,1))
└── flags: decimal

Просмотреть файл

@ -4,32 +4,32 @@
@ StatementsNode (location: (1,0)-(3,4))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,6))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ ArrayNode (location: (1,0)-(1,4))
│ │ ├── flags: ∅
│ │ ├── elements: (length: 0)
│ │ ├── opening_loc: (1,0)-(1,3) = "%w["
│ │ ├── closing_loc: (1,3)-(1,4) = "]"
│ │ └── flags: ∅
│ │ └── closing_loc: (1,3)-(1,4) = "]"
│ ├── call_operator_loc: (1,4)-(1,5) = "."
│ ├── name: :b
│ ├── message_loc: (1,5)-(1,6) = "b"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (3,0)-(3,4))
├── flags: ∅
├── receiver:
│ @ ArrayNode (location: (3,0)-(3,2))
│ ├── flags: ∅
│ ├── elements: (length: 0)
│ ├── opening_loc: (3,0)-(3,1) = "["
│ ├── closing_loc: (3,1)-(3,2) = "]"
│ └── flags: ∅
│ └── closing_loc: (3,1)-(3,2) = "]"
├── call_operator_loc: (3,2)-(3,3) = "."
├── name: :b
├── message_loc: (3,3)-(3,4) = "b"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -17,6 +17,7 @@
│ │ @ ImplicitNode (location: (1,2)-(1,4))
│ │ └── value:
│ │ @ CallNode (location: (1,2)-(1,4))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :y
@ -24,7 +25,6 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: ∅
└── closing_loc: (1,5)-(1,6) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,21 +12,20 @@
├── opening_loc: (1,1)-(1,2) = "("
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,5))
│ ├── arguments: (length: 1)
│ └── @ KeywordHashNode (location: (1,2)-(1,5))
│ └── elements: (length: 1)
│ └── @ AssocNode (location: (1,2)-(1,5))
│ ├── key:
│ │ @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: ∅
│ │ ├── value_loc: (1,2)-(1,3) = "b"
│ │ ├── closing_loc: (1,3)-(1,4) = ":"
│ │ └── unescaped: "b"
│ ├── value:
│ │ @ IntegerNode (location: (1,4)-(1,5))
│ │ └── flags: decimal
│ └── operator_loc: ∅
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ KeywordHashNode (location: (1,2)-(1,5))
└── elements: (length: 1)
└── @ AssocNode (location: (1,2)-(1,5))
├── key:
│ @ SymbolNode (location: (1,2)-(1,4))
│ ├── opening_loc: ∅
│ ├── value_loc: (1,2)-(1,3) = "b"
│ ├── closing_loc: (1,3)-(1,4) = ":"
│ └── unescaped: "b"
├── value:
│ @ IntegerNode (location: (1,4)-(1,5))
│ └── flags: decimal
└── operator_loc: ∅
├── closing_loc: (1,5)-(1,6) = ")"
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
├── flags: ∅
├── receiver:
│ @ ConstantReadNode (location: (1,0)-(1,1))
│ └── name: :A
@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,7)-(1,8))
│ ├── arguments: (length: 1)
│ └── @ IntegerNode (location: (1,7)-(1,8))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ IntegerNode (location: (1,7)-(1,8))
└── flags: decimal
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -13,27 +15,25 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,1)-(1,9) = "[[1, 2]]"
├── opening_loc: (1,1)-(1,2) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,13))
│ ├── arguments: (length: 2)
│ ├── @ ArrayNode (location: (1,2)-(1,8))
│ │ ├── elements: (length: 2)
│ │ │ ├── @ IntegerNode (location: (1,3)-(1,4))
│ │ │ │ └── flags: decimal
│ │ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ │ └── flags: decimal
│ │ ├── opening_loc: (1,2)-(1,3) = "["
│ │ ├── closing_loc: (1,7)-(1,8) = "]"
│ │ └── flags: ∅
│ └── @ IntegerNode (location: (1,12)-(1,13))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 2)
├── @ ArrayNode (location: (1,2)-(1,8))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ IntegerNode (location: (1,3)-(1,4))
│ │ │ └── flags: decimal
│ │ └── @ IntegerNode (location: (1,6)-(1,7))
│ │ └── flags: decimal
│ ├── opening_loc: (1,2)-(1,3) = "["
│ └── closing_loc: (1,7)-(1,8) = "]"
└── @ IntegerNode (location: (1,12)-(1,13))
└── flags: decimal
├── closing_loc: (1,8)-(1,9) = "]"
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,42))
├── flags: ∅
├── receiver:
│ @ ArrayNode (location: (1,0)-(1,12))
│ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ IntegerNode (location: (1,1)-(1,2))
│ │ │ └── flags: decimal
@ -16,64 +18,62 @@
│ │ └── @ IntegerNode (location: (1,10)-(1,11))
│ │ └── flags: decimal
│ ├── opening_loc: (1,0)-(1,1) = "["
│ ├── closing_loc: (1,11)-(1,12) = "]"
│ └── flags: ∅
│ └── closing_loc: (1,11)-(1,12) = "]"
├── call_operator_loc: ∅
├── name: :[]=
├── message_loc: (1,12)-(1,24) = "[from .. to]"
├── opening_loc: (1,12)-(1,13) = "["
├── arguments:
│ @ ArgumentsNode (location: (1,13)-(1,42))
│ ├── arguments: (length: 2)
│ ├── @ RangeNode (location: (1,13)-(1,23))
│ │ ├── left:
│ │ │ @ CallNode (location: (1,13)-(1,17))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :from
│ │ │ ├── message_loc: (1,13)-(1,17) = "from"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── right:
│ │ │ @ CallNode (location: (1,21)-(1,23))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :to
│ │ │ ├── message_loc: (1,21)-(1,23) = "to"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── operator_loc: (1,18)-(1,20) = ".."
│ │ └── flags: ∅
│ └── @ ArrayNode (location: (1,27)-(1,42))
│ ├── elements: (length: 3)
│ │ ├── @ StringNode (location: (1,28)-(1,31))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,28)-(1,29) = "\""
│ │ │ ├── content_loc: (1,29)-(1,30) = "a"
│ │ │ ├── closing_loc: (1,30)-(1,31) = "\""
│ │ │ └── unescaped: "a"
│ │ ├── @ StringNode (location: (1,33)-(1,36))
│ │ │ ├── flags: ∅
│ │ │ ├── opening_loc: (1,33)-(1,34) = "\""
│ │ │ ├── content_loc: (1,34)-(1,35) = "b"
│ │ │ ├── closing_loc: (1,35)-(1,36) = "\""
│ │ │ └── unescaped: "b"
│ │ └── @ StringNode (location: (1,38)-(1,41))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,38)-(1,39) = "\""
│ │ ├── content_loc: (1,39)-(1,40) = "c"
│ │ ├── closing_loc: (1,40)-(1,41) = "\""
│ │ └── unescaped: "c"
│ ├── opening_loc: (1,27)-(1,28) = "["
│ ├── closing_loc: (1,41)-(1,42) = "]"
│ └── flags: ∅
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 2)
├── @ RangeNode (location: (1,13)-(1,23))
│ ├── flags: ∅
│ ├── left:
│ │ @ CallNode (location: (1,13)-(1,17))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :from
│ │ ├── message_loc: (1,13)-(1,17) = "from"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── right:
│ │ @ CallNode (location: (1,21)-(1,23))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :to
│ │ ├── message_loc: (1,21)-(1,23) = "to"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ └── operator_loc: (1,18)-(1,20) = ".."
└── @ ArrayNode (location: (1,27)-(1,42))
├── flags: ∅
├── elements: (length: 3)
│ ├── @ StringNode (location: (1,28)-(1,31))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,28)-(1,29) = "\""
│ │ ├── content_loc: (1,29)-(1,30) = "a"
│ │ ├── closing_loc: (1,30)-(1,31) = "\""
│ │ └── unescaped: "a"
│ ├── @ StringNode (location: (1,33)-(1,36))
│ │ ├── flags: ∅
│ │ ├── opening_loc: (1,33)-(1,34) = "\""
│ │ ├── content_loc: (1,34)-(1,35) = "b"
│ │ ├── closing_loc: (1,35)-(1,36) = "\""
│ │ └── unescaped: "b"
│ └── @ StringNode (location: (1,38)-(1,41))
│ ├── flags: ∅
│ ├── opening_loc: (1,38)-(1,39) = "\""
│ ├── content_loc: (1,39)-(1,40) = "c"
│ ├── closing_loc: (1,40)-(1,41) = "\""
│ └── unescaped: "c"
├── opening_loc: (1,27)-(1,28) = "["
└── closing_loc: (1,41)-(1,42) = "]"
├── closing_loc: (1,23)-(1,24) = "]"
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,7))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,7))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -13,18 +15,16 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── call_operator_loc: (1,1)-(1,2) = "."
├── name: :B=
├── message_loc: (1,2)-(1,3) = "B"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,7))
│ ├── arguments: (length: 1)
│ └── @ IntegerNode (location: (1,6)-(1,7))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ IntegerNode (location: (1,6)-(1,7))
└── flags: decimal
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,8))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,8))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :x
@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,2)-(1,8))
│ ├── arguments: (length: 1)
│ └── @ InterpolatedXStringNode (location: (1,2)-(1,8))
│ ├── opening_loc: (1,2)-(1,3) = "`"
│ ├── parts: (length: 1)
│ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
│ │ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ │ ├── statements:
│ │ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :y
│ │ │ ├── message_loc: (1,5)-(1,6) = "y"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── closing_loc: (1,6)-(1,7) = "}"
│ └── closing_loc: (1,7)-(1,8) = "`"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ InterpolatedXStringNode (location: (1,2)-(1,8))
├── opening_loc: (1,2)-(1,3) = "`"
├── parts: (length: 1)
│ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7))
│ ├── opening_loc: (1,3)-(1,5) = "\#{"
│ ├── statements:
│ │ @ StatementsNode (location: (1,5)-(1,6))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,5)-(1,6))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :y
│ │ ├── message_loc: (1,5)-(1,6) = "y"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ └── closing_loc: (1,6)-(1,7) = "}"
└── closing_loc: (1,7)-(1,8) = "`"
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,6))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,6))
├── flags: ∅
├── receiver:
│ @ IntegerNode (location: (1,0)-(1,1))
│ └── flags: decimal
@ -13,10 +14,9 @@
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,6))
│ ├── arguments: (length: 1)
│ └── @ IntegerNode (location: (1,5)-(1,6))
│ └── flags: decimal
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ IntegerNode (location: (1,5)-(1,6))
└── flags: decimal
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,16 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,4))
│ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (1,2)-(1,4))
│ │ └── flags: decimal
│ ├── operator_loc: (1,0)-(1,2) = ".."
│ └── flags: ∅
│ └── operator_loc: (1,0)-(1,2) = ".."
├── @ RangeNode (location: (2,2)-(2,5))
│ ├── flags: ∅
│ ├── left: ∅
│ ├── right:
│ │ @ CallNode (location: (2,4)-(2,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -21,11 +23,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ ├── operator_loc: (2,2)-(2,4) = ".."
│ └── flags: ∅
│ │ └── block: ∅
│ └── operator_loc: (2,2)-(2,4) = ".."
└── @ CallNode (location: (3,2)-(3,3))
├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: variable_call
└── block: ∅

Просмотреть файл

@ -4,16 +4,18 @@
@ StatementsNode (location: (1,0)-(3,3))
└── body: (length: 3)
├── @ RangeNode (location: (1,0)-(1,5))
│ ├── flags: exclude_end
│ ├── left: ∅
│ ├── right:
│ │ @ IntegerNode (location: (1,3)-(1,5))
│ │ └── flags: decimal
│ ├── operator_loc: (1,0)-(1,3) = "..."
│ └── flags: exclude_end
│ └── operator_loc: (1,0)-(1,3) = "..."
├── @ RangeNode (location: (2,2)-(2,6))
│ ├── flags: exclude_end
│ ├── left: ∅
│ ├── right:
│ │ @ CallNode (location: (2,5)-(2,6))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -21,11 +23,10 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ ├── operator_loc: (2,2)-(2,5) = "..."
│ └── flags: exclude_end
│ │ └── block: ∅
│ └── operator_loc: (2,2)-(2,5) = "..."
└── @ CallNode (location: (3,2)-(3,3))
├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :c
@ -33,5 +34,4 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: variable_call
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,11))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,11))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,11))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,9))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,8))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
│ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,7)-(1,8) = "b"
│ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,8)-(1,9) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,10)-(1,11) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,11))
├── locals: [:b]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,9))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,8))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
│ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,8))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,7)-(1,8) = "b"
│ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,8)-(1,9) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,10)-(1,11) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,21))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,21))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,21))
│ ├── locals: [:b, :c, :d, :e]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,19))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
│ │ │ @ BlockParameterNode (location: (1,16)-(1,18))
│ │ │ ├── name: :e
│ │ │ ├── name_loc: (1,17)-(1,18) = "e"
│ │ │ └── operator_loc: (1,16)-(1,17) = "&"
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,18)-(1,19) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,20)-(1,21) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,21))
├── locals: [:b, :c, :d, :e]
├── locals_body_index: 4
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,19))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,18))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ └── name: :d
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
│ │ @ BlockParameterNode (location: (1,16)-(1,18))
│ │ ├── name: :e
│ │ ├── name_loc: (1,17)-(1,18) = "e"
│ │ └── operator_loc: (1,16)-(1,17) = "&"
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,18)-(1,19) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,20)-(1,21) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,20))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,18))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,17))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
│ │ │ │ @ RestParameterNode (location: (1,15)-(1,17))
│ │ │ │ ├── name: :d
│ │ │ │ ├── name_loc: (1,16)-(1,17) = "d"
│ │ │ │ └── operator_loc: (1,15)-(1,16) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,17)-(1,18) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,19)-(1,20) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,20))
├── locals: [:b, :c, :d]
├── locals_body_index: 3
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,18))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,17))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,13))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,12)-(1,13))
│ │ │ └── flags: decimal
│ │ ├── rest:
│ │ │ @ RestParameterNode (location: (1,15)-(1,17))
│ │ │ ├── name: :d
│ │ │ ├── name_loc: (1,16)-(1,17) = "d"
│ │ │ └── operator_loc: (1,15)-(1,16) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,17)-(1,18) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,19)-(1,20) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,25))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,25))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,44 +12,43 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,25))
│ ├── locals: [:b, :c, :d, :e, :f]
│ ├── locals_body_index: 5
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
│ │ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ │ ├── name: :d
│ │ │ │ ├── name_loc: (1,14)-(1,15) = "d"
│ │ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ │ │ └── name: :e
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
│ │ │ @ BlockParameterNode (location: (1,20)-(1,22))
│ │ │ ├── name: :f
│ │ │ ├── name_loc: (1,21)-(1,22) = "f"
│ │ │ └── operator_loc: (1,20)-(1,21) = "&"
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,24)-(1,25) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,25))
├── locals: [:b, :c, :d, :e, :f]
├── locals_body_index: 5
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,23))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,11))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ ├── operator_loc: (1,9)-(1,10) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,10)-(1,11))
│ │ │ └── flags: decimal
│ │ ├── rest:
│ │ │ @ RestParameterNode (location: (1,13)-(1,15))
│ │ │ ├── name: :d
│ │ │ ├── name_loc: (1,14)-(1,15) = "d"
│ │ │ └── operator_loc: (1,13)-(1,14) = "*"
│ │ ├── posts: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,18))
│ │ │ └── name: :e
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
│ │ @ BlockParameterNode (location: (1,20)-(1,22))
│ │ ├── name: :f
│ │ ├── name_loc: (1,21)-(1,22) = "f"
│ │ └── operator_loc: (1,20)-(1,21) = "&"
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,22)-(1,23) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,24)-(1,25) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,32 +12,31 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,12)-(1,13) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,13))
├── locals: [:b]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,11))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,10)-(1,11) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,12)-(1,13) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,29 +12,28 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,6))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 1)
│ │ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9))
│ │ │ └── name: :c
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,11)-(1,12) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,12))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,10))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,6))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 1)
│ │ └── @ BlockLocalVariableNode (location: (1,8)-(1,9))
│ │ └── name: :c
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,9)-(1,10) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,11)-(1,12) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,3)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,4)-(1,5))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 2)
│ │ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
│ │ │ │ └── name: :c
│ │ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11))
│ │ │ └── name: :d
│ │ ├── opening_loc: (1,3)-(1,4) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,13)-(1,14) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,14))
├── locals: [:b, :c, :d]
├── locals_body_index: 3
├── parameters:
│ @ BlockParametersNode (location: (1,3)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,4)-(1,5))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 2)
│ │ ├── @ BlockLocalVariableNode (location: (1,7)-(1,8))
│ │ │ └── name: :c
│ │ └── @ BlockLocalVariableNode (location: (1,10)-(1,11))
│ │ └── name: :d
│ ├── opening_loc: (1,3)-(1,4) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,13)-(1,14) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,33 +12,32 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,16))
│ ├── locals: [:b, :c, :d]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest:
│ │ │ │ @ RestParameterNode (location: (1,8)-(1,10))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,9)-(1,10) = "c"
│ │ │ │ └── operator_loc: (1,8)-(1,9) = "*"
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,15)-(1,16) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,16))
├── locals: [:b, :c, :d]
├── locals_body_index: 3
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,14))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 0)
│ │ ├── rest:
│ │ │ @ RestParameterNode (location: (1,8)-(1,10))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,9)-(1,10) = "c"
│ │ │ └── operator_loc: (1,8)-(1,9) = "*"
│ │ ├── posts: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,12)-(1,13))
│ │ │ └── name: :d
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,13)-(1,14) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,15)-(1,16) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,23))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,23))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,34 +12,33 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,23))
│ ├── locals: [:kwargs]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,14))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
│ │ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13))
│ │ │ │ ├── name: :kwargs
│ │ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs"
│ │ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,13)-(1,14) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,15)-(1,21))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (1,15)-(1,21))
│ │ ├── name: :kwargs
│ │ └── depth: 0
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,22)-(1,23) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,23))
├── locals: [:kwargs]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,14))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,13))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
│ │ │ @ KeywordRestParameterNode (location: (1,5)-(1,13))
│ │ │ ├── name: :kwargs
│ │ │ ├── name_loc: (1,7)-(1,13) = "kwargs"
│ │ │ └── operator_loc: (1,5)-(1,7) = "**"
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,13)-(1,14) = "|"
├── body:
│ @ StatementsNode (location: (1,15)-(1,21))
│ └── body: (length: 1)
│ └── @ LocalVariableReadNode (location: (1,15)-(1,21))
│ ├── name: :kwargs
│ └── depth: 0
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,22)-(1,23) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,13))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,13))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,13))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,11))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest:
│ │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10))
│ │ │ │ ├── operator_loc: (1,5)-(1,7) = "**"
│ │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil"
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,10)-(1,11) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,12)-(1,13) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,13))
├── locals: []
├── locals_body_index: 0
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,11))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,10))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest:
│ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10))
│ │ │ ├── operator_loc: (1,5)-(1,7) = "**"
│ │ │ └── keyword_loc: (1,7)-(1,10) = "nil"
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,10)-(1,11) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,12)-(1,13) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,24))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,24))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,47 +12,46 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,24))
│ ├── locals: [:a, :b]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,16)-(1,22))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (1,16)-(1,22))
│ │ ├── elements: (length: 2)
│ │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── opening_loc: (1,16)-(1,17) = "["
│ │ ├── closing_loc: (1,21)-(1,22) = "]"
│ │ └── flags: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,23)-(1,24) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,24))
├── locals: [:a, :b]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,15))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,14)-(1,15) = "|"
├── body:
│ @ StatementsNode (location: (1,16)-(1,22))
│ └── body: (length: 1)
│ └── @ ArrayNode (location: (1,16)-(1,22))
│ ├── flags: ∅
│ ├── elements: (length: 2)
│ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21))
│ │ ├── name: :b
│ │ └── depth: 0
│ ├── opening_loc: (1,16)-(1,17) = "["
│ └── closing_loc: (1,21)-(1,22) = "]"
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,23)-(1,24) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,39 +12,38 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 2)
│ │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
│ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ │ └── value:
│ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
│ │ │ │ ├── operator_loc: (1,12)-(1,13) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,13)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,17)-(1,18) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,18))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,16))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 2)
│ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,6)-(1,7) = "b"
│ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,8)-(1,9))
│ │ │ │ └── flags: decimal
│ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,11)-(1,12) = "c"
│ │ │ ├── operator_loc: (1,12)-(1,13) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,13)-(1,14))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,15)-(1,16) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,17)-(1,18) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,35))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,35))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,57 +12,56 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,35))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,23))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 2)
│ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ │ └── value:
│ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
│ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,22)-(1,23) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,24)-(1,33))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (1,24)-(1,33))
│ │ ├── elements: (length: 3)
│ │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
│ │ ├── opening_loc: (1,24)-(1,25) = "["
│ │ ├── closing_loc: (1,32)-(1,33) = "]"
│ │ └── flags: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,34)-(1,35) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,35))
├── locals: [:a, :b, :c]
├── locals_body_index: 3
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,23))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,22))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 2)
│ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,16)-(1,17) = "c"
│ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,22)-(1,23) = "|"
├── body:
│ @ StatementsNode (location: (1,24)-(1,33))
│ └── body: (length: 1)
│ └── @ ArrayNode (location: (1,24)-(1,33))
│ ├── flags: ∅
│ ├── elements: (length: 3)
│ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32))
│ │ ├── name: :c
│ │ └── depth: 0
│ ├── opening_loc: (1,24)-(1,25) = "["
│ └── closing_loc: (1,32)-(1,33) = "]"
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,34)-(1,35) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,42))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,42))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,64 +12,63 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,42))
│ ├── locals: [:a, :b, :c, :d]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,27))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,26))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :a
│ │ │ ├── optionals: (length: 2)
│ │ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ │ ├── name: :b
│ │ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ │ └── value:
│ │ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ │ └── flags: decimal
│ │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,16)-(1,17) = "c"
│ │ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
│ │ │ @ BlockParameterNode (location: (1,24)-(1,26))
│ │ │ ├── name: :d
│ │ │ ├── name_loc: (1,25)-(1,26) = "d"
│ │ │ └── operator_loc: (1,24)-(1,25) = "&"
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,26)-(1,27) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,28)-(1,40))
│ │ └── body: (length: 1)
│ │ └── @ ArrayNode (location: (1,28)-(1,40))
│ │ ├── elements: (length: 4)
│ │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
│ │ │ │ ├── name: :a
│ │ │ │ └── depth: 0
│ │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33))
│ │ │ │ ├── name: :b
│ │ │ │ └── depth: 0
│ │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36))
│ │ │ │ ├── name: :c
│ │ │ │ └── depth: 0
│ │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39))
│ │ │ ├── name: :d
│ │ │ └── depth: 0
│ │ ├── opening_loc: (1,28)-(1,29) = "["
│ │ ├── closing_loc: (1,39)-(1,40) = "]"
│ │ └── flags: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,41)-(1,42) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,42))
├── locals: [:a, :b, :c, :d]
├── locals_body_index: 4
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,27))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,26))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :a
│ │ ├── optionals: (length: 2)
│ │ │ ├── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "b"
│ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,12)-(1,14))
│ │ │ │ └── flags: decimal
│ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,16)-(1,17) = "c"
│ │ │ ├── operator_loc: (1,18)-(1,19) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,20)-(1,22))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
│ │ @ BlockParameterNode (location: (1,24)-(1,26))
│ │ ├── name: :d
│ │ ├── name_loc: (1,25)-(1,26) = "d"
│ │ └── operator_loc: (1,24)-(1,25) = "&"
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,26)-(1,27) = "|"
├── body:
│ @ StatementsNode (location: (1,28)-(1,40))
│ └── body: (length: 1)
│ └── @ ArrayNode (location: (1,28)-(1,40))
│ ├── flags: ∅
│ ├── elements: (length: 4)
│ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30))
│ │ │ ├── name: :a
│ │ │ └── depth: 0
│ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33))
│ │ │ ├── name: :b
│ │ │ └── depth: 0
│ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36))
│ │ │ ├── name: :c
│ │ │ └── depth: 0
│ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39))
│ │ ├── name: :d
│ │ └── depth: 0
│ ├── opening_loc: (1,28)-(1,29) = "["
│ └── closing_loc: (1,39)-(1,40) = "]"
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,41)-(1,42) = "}"

Просмотреть файл

@ -6,51 +6,51 @@
└── @ BreakNode (location: (1,0)-(1,26))
├── arguments:
│ @ ArgumentsNode (location: (1,6)-(1,26))
│ ├── arguments: (length: 1)
│ └── @ CallNode (location: (1,6)-(1,26))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
│ ├── message_loc: (1,6)-(1,9) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,10)-(1,13))
├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,10)-(1,13))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :arg
│ │ │ ├── message_loc: (1,10)-(1,13) = "arg"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,14)-(1,26))
│ │ ├── locals: [:bar]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (1,17)-(1,22))
├── parameters:
│ │ │ │ @ ParametersNode (location: (1,18)-(1,21))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21))
│ │ │ │ │ └── name: :bar
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (1,17)-(1,18) = "|"
│ │ │ └── closing_loc: (1,21)-(1,22) = "|"
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,14)-(1,16) = "do"
│ │ └── closing_loc: (1,23)-(1,26) = "end"
│ └── flags: ∅
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ CallNode (location: (1,6)-(1,26))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
├── message_loc: (1,6)-(1,9) = "foo"
├── opening_loc: ∅
│ ├── arguments:
│ @ ArgumentsNode (location: (1,10)-(1,13))
│ ├── flags: ∅
│ └── arguments: (length: 1)
│ └── @ CallNode (location: (1,10)-(1,13))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :arg
│ ├── message_loc: (1,10)-(1,13) = "arg"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
├── closing_loc: ∅
│ └── block: ∅
├── closing_loc: ∅
└── block:
@ BlockNode (location: (1,14)-(1,26))
├── locals: [:bar]
├── locals_body_index: 1
│ ├── parameters:
│ @ BlockParametersNode (location: (1,17)-(1,22))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,18)-(1,21))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,18)-(1,21))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,17)-(1,18) = "|"
│ └── closing_loc: (1,21)-(1,22) = "|"
├── body: ∅
├── opening_loc: (1,14)-(1,16) = "do"
└── closing_loc: (1,23)-(1,26) = "end"
└── keyword_loc: (1,0)-(1,5) = "break"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(4,11))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(3,4))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -11,50 +12,51 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(3,4))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ DefNode (location: (1,2)-(3,4))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,6)-(1,7) = "b"
│ │ │ ├── receiver: ∅
│ │ │ ├── parameters:
│ │ │ │ @ ParametersNode (location: (1,8)-(1,9))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ │ │ └── name: :c
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (2,1)-(2,2))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (2,1)-(2,2))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :d
│ │ │ │ ├── message_loc: (2,1)-(2,2) = "d"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── locals: [:c]
│ │ │ ├── locals_body_index: 1
│ │ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
│ │ │ ├── operator_loc: ∅
│ │ │ ├── lparen_loc: (1,7)-(1,8) = "("
│ │ │ ├── rparen_loc: (1,9)-(1,10) = ")"
│ │ │ ├── equal_loc: ∅
│ │ │ └── end_keyword_loc: (3,1)-(3,4) = "end"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ DefNode (location: (1,2)-(3,4))
│ │ ├── name: :b
│ │ ├── name_loc: (1,6)-(1,7) = "b"
│ │ ├── receiver: ∅
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,8)-(1,9))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9))
│ │ │ │ └── name: :c
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (2,1)-(2,2))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (2,1)-(2,2))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
│ │ │ ├── message_loc: (2,1)-(2,2) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── locals: [:c]
│ │ ├── locals_body_index: 1
│ │ ├── def_keyword_loc: (1,2)-(1,5) = "def"
│ │ ├── operator_loc: ∅
│ │ ├── lparen_loc: (1,7)-(1,8) = "("
│ │ ├── rparen_loc: (1,9)-(1,10) = ")"
│ │ ├── equal_loc: ∅
│ │ └── end_keyword_loc: (3,1)-(3,4) = "end"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (4,1)-(4,11))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (4,1)-(4,2))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :e
@ -62,20 +64,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── call_operator_loc: (4,2)-(4,3) = "."
├── name: :f
├── message_loc: (4,3)-(4,4) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (4,5)-(4,11))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (4,5)-(4,7) = "do"
│ └── closing_loc: (4,8)-(4,11) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (4,5)-(4,11))
├── locals: []
├── locals_body_index: 0
├── parameters: ∅
├── body: ∅
├── opening_loc: (4,5)-(4,7) = "do"
└── closing_loc: (4,8)-(4,11) = "end"

Просмотреть файл

@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,31))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,31))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,16))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -15,87 +18,84 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
│ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
│ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
│ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── opening_loc: (1,8)-(1,10) = "do"
│ │ └── closing_loc: (1,13)-(1,16) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,8)-(1,16))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :d
│ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── opening_loc: (1,8)-(1,10) = "do"
│ └── closing_loc: (1,13)-(1,16) = "end"
├── call_operator_loc: (1,16)-(1,17) = "."
├── name: :e
├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,19)-(1,31))
│ ├── locals: [:f]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,22)-(1,25))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,23)-(1,24))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24))
│ │ │ │ └── name: :f
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,22)-(1,23) = "|"
│ │ └── closing_loc: (1,24)-(1,25) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,26)-(1,27))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,26)-(1,27))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :g
│ │ ├── message_loc: (1,26)-(1,27) = "g"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ ├── opening_loc: (1,19)-(1,21) = "do"
│ └── closing_loc: (1,28)-(1,31) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (1,19)-(1,31))
├── locals: [:f]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,22)-(1,25))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,23)-(1,24))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24))
│ │ │ └── name: :f
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,22)-(1,23) = "|"
│ └── closing_loc: (1,24)-(1,25) = "|"
├── body:
│ @ StatementsNode (location: (1,26)-(1,27))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,26)-(1,27))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :g
│ ├── message_loc: (1,26)-(1,27) = "g"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ └── block: ∅
├── opening_loc: (1,19)-(1,21) = "do"
└── closing_loc: (1,28)-(1,31) = "end"

Просмотреть файл

@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,33))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,16))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -15,100 +18,97 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,7))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
│ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ │ ├── block: ∅
│ │ │ └── flags: ∅
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,7))
│ │ ├── flags: ∅
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
│ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: (1,5)-(1,6) = "("
│ │ ├── arguments: ∅
│ │ ├── closing_loc: (1,6)-(1,7) = ")"
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,8)-(1,16))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :d
│ │ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ ├── opening_loc: (1,8)-(1,10) = "do"
│ │ └── closing_loc: (1,13)-(1,16) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,8)-(1,16))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body:
│ │ @ StatementsNode (location: (1,11)-(1,12))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,11)-(1,12))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :d
│ │ ├── message_loc: (1,11)-(1,12) = "d"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── opening_loc: (1,8)-(1,10) = "do"
│ └── closing_loc: (1,13)-(1,16) = "end"
├── call_operator_loc: (1,16)-(1,17) = "."
├── name: :e
├── message_loc: (1,17)-(1,18) = "e"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,19)-(1,20))
│ ├── arguments: (length: 1)
│ └── @ CallNode (location: (1,19)-(1,20))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :f
│ ├── message_loc: (1,19)-(1,20) = "f"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ CallNode (location: (1,19)-(1,20))
├── flags: variable_call
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
├── message_loc: (1,19)-(1,20) = "f"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
└── block: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,21)-(1,33))
│ ├── locals: [:g]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,24)-(1,27))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,25)-(1,26))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26))
│ │ │ │ └── name: :g
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,24)-(1,25) = "|"
│ │ └── closing_loc: (1,26)-(1,27) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,28)-(1,29))
│ │ └── body: (length: 1)
│ │ └── @ CallNode (location: (1,28)-(1,29))
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :h
│ │ ├── message_loc: (1,28)-(1,29) = "h"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ ├── opening_loc: (1,21)-(1,23) = "do"
│ └── closing_loc: (1,30)-(1,33) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (1,21)-(1,33))
├── locals: [:g]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,24)-(1,27))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,25)-(1,26))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26))
│ │ │ └── name: :g
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,24)-(1,25) = "|"
│ └── closing_loc: (1,26)-(1,27) = "|"
├── body:
│ @ StatementsNode (location: (1,28)-(1,29))
│ └── body: (length: 1)
│ └── @ CallNode (location: (1,28)-(1,29))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :h
│ ├── message_loc: (1,28)-(1,29) = "h"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ └── block: ∅
├── opening_loc: (1,21)-(1,23) = "do"
└── closing_loc: (1,30)-(1,33) = "end"

Просмотреть файл

@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,12))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -15,41 +18,38 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
│ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
│ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,6)-(1,8) = "do"
│ │ └── closing_loc: (1,9)-(1,12) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,6)-(1,12))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,6)-(1,8) = "do"
│ └── closing_loc: (1,9)-(1,12) = "end"
├── call_operator_loc: (1,12)-(1,14) = "::"
├── name: :d
├── message_loc: (1,14)-(1,15) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,10 +4,13 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,12))
│ ├── flags: ∅
│ ├── receiver:
│ │ @ CallNode (location: (1,0)-(1,1))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :a
@ -15,41 +18,38 @@
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ ├── block: ∅
│ │ └── flags: variable_call
│ │ └── block: ∅
│ ├── call_operator_loc: (1,1)-(1,2) = "."
│ ├── name: :b
│ ├── message_loc: (1,2)-(1,3) = "b"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,4)-(1,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :c
│ │ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ CallNode (location: (1,4)-(1,5))
│ │ ├── flags: variable_call
│ │ ├── receiver: ∅
│ │ ├── call_operator_loc: ∅
│ │ ├── name: :c
│ │ ├── message_loc: (1,4)-(1,5) = "c"
│ │ ├── opening_loc: ∅
│ │ ├── arguments: ∅
│ │ ├── closing_loc: ∅
│ │ └── block: ∅
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,6)-(1,12))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,6)-(1,8) = "do"
│ │ └── closing_loc: (1,9)-(1,12) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,6)-(1,12))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,6)-(1,8) = "do"
│ └── closing_loc: (1,9)-(1,12) = "end"
├── call_operator_loc: (1,12)-(1,13) = "."
├── name: :d
├── message_loc: (1,13)-(1,14) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(2,10))
└── body: (length: 2)
├── @ CallNode (location: (1,0)-(1,5))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -11,30 +12,31 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,5))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ ParenthesesNode (location: (1,2)-(1,5))
│ │ │ ├── body:
│ │ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ │ └── body: (length: 1)
│ │ │ │ └── @ CallNode (location: (1,3)-(1,4))
│ │ │ │ ├── receiver: ∅
│ │ │ │ ├── call_operator_loc: ∅
│ │ │ │ ├── name: :b
│ │ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ │ │ ├── opening_loc: ∅
│ │ │ │ ├── arguments: ∅
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ ├── block: ∅
│ │ │ │ └── flags: variable_call
│ │ │ ├── opening_loc: (1,2)-(1,3) = "("
│ │ │ └── closing_loc: (1,4)-(1,5) = ")"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ ParenthesesNode (location: (1,2)-(1,5))
│ │ ├── body:
│ │ │ @ StatementsNode (location: (1,3)-(1,4))
│ │ │ └── body: (length: 1)
│ │ │ └── @ CallNode (location: (1,3)-(1,4))
│ │ │ ├── flags: variable_call
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :b
│ │ │ ├── message_loc: (1,3)-(1,4) = "b"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ └── block: ∅
│ │ ├── opening_loc: (1,2)-(1,3) = "("
│ │ └── closing_loc: (1,4)-(1,5) = ")"
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: ∅
│ └── block: ∅
└── @ CallNode (location: (2,0)-(2,10))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (2,0)-(2,1))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :c
@ -42,20 +44,18 @@
│ ├── opening_loc: ∅
│ ├── arguments: ∅
│ ├── closing_loc: ∅
│ ├── block: ∅
│ └── flags: variable_call
│ └── block: ∅
├── call_operator_loc: (2,1)-(2,2) = "."
├── name: :d
├── message_loc: (2,2)-(2,3) = "d"
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (2,4)-(2,10))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (2,4)-(2,6) = "do"
│ └── closing_loc: (2,7)-(2,10) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (2,4)-(2,10))
├── locals: []
├── locals_body_index: 0
├── parameters: ∅
├── body: ∅
├── opening_loc: (2,4)-(2,6) = "do"
└── closing_loc: (2,7)-(2,10) = "end"

Просмотреть файл

@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,11))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -13,36 +15,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,5)-(1,7) = "do"
│ │ └── closing_loc: (1,8)-(1,11) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,5)-(1,11))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,5)-(1,7) = "do"
│ └── closing_loc: (1,8)-(1,11) = "end"
├── call_operator_loc: (1,11)-(1,13) = "::"
├── name: :c
├── message_loc: (1,13)-(1,14) = "c"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,15)-(1,17))
│ ├── arguments: (length: 1)
│ └── @ SymbolNode (location: (1,15)-(1,17))
│ ├── opening_loc: (1,15)-(1,16) = ":"
│ ├── value_loc: (1,16)-(1,17) = "d"
│ ├── closing_loc: ∅
│ └── unescaped: "d"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ SymbolNode (location: (1,15)-(1,17))
├── opening_loc: (1,15)-(1,16) = ":"
├── value_loc: (1,16)-(1,17) = "d"
├── closing_loc: ∅
└── unescaped: "d"
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,8 +4,10 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
├── flags: ∅
├── receiver:
│ @ CallNode (location: (1,0)-(1,11))
│ ├── flags: ∅
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :a
@ -13,36 +15,34 @@
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,2)-(1,4))
│ │ ├── arguments: (length: 1)
│ │ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "b"
│ │ └── flags: ∅
│ │ ├── flags: ∅
│ │ └── arguments: (length: 1)
│ │ └── @ SymbolNode (location: (1,2)-(1,4))
│ │ ├── opening_loc: (1,2)-(1,3) = ":"
│ │ ├── value_loc: (1,3)-(1,4) = "b"
│ │ ├── closing_loc: ∅
│ │ └── unescaped: "b"
│ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,5)-(1,11))
│ │ ├── locals: []
│ │ ├── locals_body_index: 0
│ │ ├── parameters: ∅
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,5)-(1,7) = "do"
│ │ └── closing_loc: (1,8)-(1,11) = "end"
│ └── flags: ∅
│ └── block:
│ @ BlockNode (location: (1,5)-(1,11))
│ ├── locals: []
│ ├── locals_body_index: 0
│ ├── parameters: ∅
│ ├── body: ∅
│ ├── opening_loc: (1,5)-(1,7) = "do"
│ └── closing_loc: (1,8)-(1,11) = "end"
├── call_operator_loc: (1,11)-(1,12) = "."
├── name: :c
├── message_loc: (1,12)-(1,13) = "c"
├── opening_loc: ∅
├── arguments:
│ @ ArgumentsNode (location: (1,14)-(1,16))
│ ├── arguments: (length: 1)
│ └── @ SymbolNode (location: (1,14)-(1,16))
│ ├── opening_loc: (1,14)-(1,15) = ":"
│ ├── value_loc: (1,15)-(1,16) = "d"
│ ├── closing_loc: ∅
│ └── unescaped: "d"
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ SymbolNode (location: (1,14)-(1,16))
├── opening_loc: (1,14)-(1,15) = ":"
├── value_loc: (1,15)-(1,16) = "d"
├── closing_loc: ∅
└── unescaped: "d"
├── closing_loc: ∅
├── block: ∅
└── flags: ∅
└── block: ∅

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
│ │ │ │ ├── lefts: (length: 0)
│ │ │ │ ├── rest:
│ │ │ │ │ @ SplatNode (location: (1,6)-(1,7))
│ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ │ └── expression: ∅
│ │ │ │ ├── rights: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,13)-(1,14) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,14))
├── locals: [:a]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
│ │ │ ├── lefts: (length: 0)
│ │ │ ├── rest:
│ │ │ │ @ SplatNode (location: (1,6)-(1,7))
│ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ └── expression: ∅
│ │ │ ├── rights: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10))
│ │ │ │ └── name: :a
│ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,13)-(1,14) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
│ │ │ │ ├── lefts: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── rest:
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,10))
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression: ∅
│ │ │ │ ├── rights: (length: 0)
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,13)-(1,14) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,14))
├── locals: [:b]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11))
│ │ │ ├── lefts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ └── name: :b
│ │ │ ├── rest:
│ │ │ │ @ SplatNode (location: (1,9)-(1,10))
│ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ └── expression: ∅
│ │ │ ├── rights: (length: 0)
│ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ └── rparen_loc: (1,10)-(1,11) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,13)-(1,14) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,18))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,18))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,40 +12,39 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,18))
│ ├── locals: [:a, :b, :c]
│ ├── locals_body_index: 3
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,16))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
│ │ │ │ ├── lefts: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── rest:
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression:
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── rights: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ │ └── name: :c
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,15)-(1,16) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,17)-(1,18) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,18))
├── locals: [:a, :b, :c]
├── locals_body_index: 3
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,16))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,15))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15))
│ │ │ ├── lefts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ └── name: :a
│ │ │ ├── rest:
│ │ │ │ @ SplatNode (location: (1,9)-(1,11))
│ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ └── expression:
│ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ └── name: :b
│ │ │ ├── rights: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14))
│ │ │ │ └── name: :c
│ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ └── rparen_loc: (1,14)-(1,15) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,15)-(1,16) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,17)-(1,18) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,12))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,12))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :f
@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,12))
│ ├── locals: [:a]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,10))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,9))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9))
│ │ │ │ ├── lefts: (length: 0)
│ │ │ │ ├── rest:
│ │ │ │ │ @ SplatNode (location: (1,6)-(1,8))
│ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ │ └── expression:
│ │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ │ └── name: :a
│ │ │ │ ├── rights: (length: 0)
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ │ └── rparen_loc: (1,8)-(1,9) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,9)-(1,10) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,11)-(1,12) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,12))
├── locals: [:a]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,10))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,9))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9))
│ │ │ ├── lefts: (length: 0)
│ │ │ ├── rest:
│ │ │ │ @ SplatNode (location: (1,6)-(1,8))
│ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*"
│ │ │ │ └── expression:
│ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8))
│ │ │ │ └── name: :a
│ │ │ ├── rights: (length: 0)
│ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ └── rparen_loc: (1,8)-(1,9) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,9)-(1,10) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,11)-(1,12) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :blah
@ -11,31 +12,30 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,5)-(1,15))
│ ├── locals: [:k]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,7)-(1,13))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,8)-(1,12))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
│ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12))
│ │ │ │ ├── name: :k
│ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:"
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,10)-(1,12))
│ │ │ │ └── flags: decimal
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,7)-(1,8) = "|"
│ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,5)-(1,6) = "{"
│ └── closing_loc: (1,14)-(1,15) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,5)-(1,15))
├── locals: [:k]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,7)-(1,13))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,8)-(1,12))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
│ │ │ └── @ OptionalKeywordParameterNode (location: (1,8)-(1,12))
│ │ │ ├── name: :k
│ │ │ ├── name_loc: (1,8)-(1,10) = "k:"
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,10)-(1,12))
│ │ │ └── flags: decimal
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,7)-(1,8) = "|"
│ └── closing_loc: (1,12)-(1,13) = "|"
├── body: ∅
├── opening_loc: (1,5)-(1,6) = "{"
└── closing_loc: (1,14)-(1,15) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,16))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,16))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :blah
@ -11,28 +12,27 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,5)-(1,16))
│ ├── locals: [:k]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,8)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,9)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
│ │ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11))
│ │ │ │ ├── name: :k
│ │ │ │ └── name_loc: (1,9)-(1,11) = "k:"
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,8)-(1,9) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,5)-(1,7) = "do"
│ └── closing_loc: (1,13)-(1,16) = "end"
└── flags: ∅
└── block:
@ BlockNode (location: (1,5)-(1,16))
├── locals: [:k]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,8)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,9)-(1,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
│ │ │ └── @ RequiredKeywordParameterNode (location: (1,9)-(1,11))
│ │ │ ├── name: :k
│ │ │ └── name_loc: (1,9)-(1,11) = "k:"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,8)-(1,9) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,5)-(1,7) = "do"
└── closing_loc: (1,13)-(1,16) = "end"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,20))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,20))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bl
@ -11,39 +12,38 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,3)-(1,20))
│ ├── locals: [:kw]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,5)-(1,15))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 1)
│ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
│ │ │ │ ├── name: :kw
│ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "val"
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,5)-(1,6) = "|"
│ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,16)-(1,18))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (1,16)-(1,18))
│ │ ├── name: :kw
│ │ └── depth: 0
│ ├── opening_loc: (1,3)-(1,4) = "{"
│ └── closing_loc: (1,19)-(1,20) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,3)-(1,20))
├── locals: [:kw]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,5)-(1,15))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,6)-(1,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 1)
│ │ │ └── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
│ │ │ ├── name: :kw
│ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "val"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,5)-(1,6) = "|"
│ └── closing_loc: (1,14)-(1,15) = "|"
├── body:
│ @ StatementsNode (location: (1,16)-(1,18))
│ └── body: (length: 1)
│ └── @ LocalVariableReadNode (location: (1,16)-(1,18))
│ ├── name: :kw
│ └── depth: 0
├── opening_loc: (1,3)-(1,4) = "{"
└── closing_loc: (1,19)-(1,20) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,33))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,33))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :bl
@ -11,48 +12,47 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,3)-(1,33))
│ ├── locals: [:kw, :kw2]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,5)-(1,28))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,6)-(1,26))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 2)
│ │ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
│ │ │ │ │ ├── name: :kw
│ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ │ └── value:
│ │ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ │ │ ├── closing_loc: ∅
│ │ │ │ │ └── unescaped: "val"
│ │ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26))
│ │ │ │ ├── name: :kw2
│ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,21)-(1,26))
│ │ │ │ ├── opening_loc: (1,21)-(1,22) = ":"
│ │ │ │ ├── value_loc: (1,22)-(1,26) = "val2"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "val2"
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,5)-(1,6) = "|"
│ │ └── closing_loc: (1,27)-(1,28) = "|"
│ ├── body:
│ │ @ StatementsNode (location: (1,29)-(1,31))
│ │ └── body: (length: 1)
│ │ └── @ LocalVariableReadNode (location: (1,29)-(1,31))
│ │ ├── name: :kw
│ │ └── depth: 0
│ ├── opening_loc: (1,3)-(1,4) = "{"
│ └── closing_loc: (1,32)-(1,33) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,3)-(1,33))
├── locals: [:kw, :kw2]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,5)-(1,28))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,6)-(1,26))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 2)
│ │ │ ├── @ OptionalKeywordParameterNode (location: (1,6)-(1,14))
│ │ │ │ ├── name: :kw
│ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:"
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,10)-(1,14))
│ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":"
│ │ │ │ ├── value_loc: (1,11)-(1,14) = "val"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "val"
│ │ │ └── @ OptionalKeywordParameterNode (location: (1,16)-(1,26))
│ │ │ ├── name: :kw2
│ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:"
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,21)-(1,26))
│ │ │ ├── opening_loc: (1,21)-(1,22) = ":"
│ │ │ ├── value_loc: (1,22)-(1,26) = "val2"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "val2"
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,5)-(1,6) = "|"
│ └── closing_loc: (1,27)-(1,28) = "|"
├── body:
│ @ StatementsNode (location: (1,29)-(1,31))
│ └── body: (length: 1)
│ └── @ LocalVariableReadNode (location: (1,29)-(1,31))
│ ├── name: :kw
│ └── depth: 0
├── opening_loc: (1,3)-(1,4) = "{"
└── closing_loc: (1,32)-(1,33) = "}"

Просмотреть файл

@ -6,51 +6,51 @@
└── @ NextNode (location: (1,0)-(1,25))
├── arguments:
│ @ ArgumentsNode (location: (1,5)-(1,25))
│ ├── arguments: (length: 1)
│ └── @ CallNode (location: (1,5)-(1,25))
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :foo
│ ├── message_loc: (1,5)-(1,8) = "foo"
│ ├── opening_loc: ∅
│ ├── arguments:
│ │ @ ArgumentsNode (location: (1,9)-(1,12))
├── arguments: (length: 1)
│ │ │ └── @ CallNode (location: (1,9)-(1,12))
│ │ │ ├── receiver: ∅
│ │ │ ├── call_operator_loc: ∅
│ │ │ ├── name: :arg
│ │ │ ├── message_loc: (1,9)-(1,12) = "arg"
│ │ │ ├── opening_loc: ∅
│ │ │ ├── arguments: ∅
│ │ │ ├── closing_loc: ∅
│ │ │ ├── block: ∅
│ │ │ └── flags: variable_call
│ │ └── flags: ∅
│ │ ├── closing_loc: ∅
│ ├── block:
│ │ @ BlockNode (location: (1,13)-(1,25))
│ │ ├── locals: [:bar]
│ │ ├── locals_body_index: 1
│ │ ├── parameters:
│ │ │ @ BlockParametersNode (location: (1,16)-(1,21))
├── parameters:
│ │ │ │ @ ParametersNode (location: (1,17)-(1,20))
│ │ │ │ ├── requireds: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20))
│ │ │ │ │ └── name: :bar
│ │ │ │ ├── optionals: (length: 0)
│ │ │ │ ├── rest: ∅
│ │ │ │ ├── posts: (length: 0)
│ │ │ │ ├── keywords: (length: 0)
│ │ │ │ ├── keyword_rest: ∅
│ │ │ │ └── block: ∅
│ │ │ ├── locals: (length: 0)
│ │ │ ├── opening_loc: (1,16)-(1,17) = "|"
│ │ │ └── closing_loc: (1,20)-(1,21) = "|"
│ │ ├── body: ∅
│ │ ├── opening_loc: (1,13)-(1,15) = "do"
│ │ └── closing_loc: (1,22)-(1,25) = "end"
│ └── flags: ∅
└── flags: ∅
│ ├── flags: ∅
└── arguments: (length: 1)
└── @ CallNode (location: (1,5)-(1,25))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :foo
├── message_loc: (1,5)-(1,8) = "foo"
├── opening_loc: ∅
│ ├── arguments:
│ @ ArgumentsNode (location: (1,9)-(1,12))
│ ├── flags: ∅
│ └── arguments: (length: 1)
│ └── @ CallNode (location: (1,9)-(1,12))
│ ├── flags: variable_call
│ ├── receiver: ∅
│ ├── call_operator_loc: ∅
│ ├── name: :arg
│ ├── message_loc: (1,9)-(1,12) = "arg"
│ ├── opening_loc: ∅
│ ├── arguments: ∅
├── closing_loc: ∅
│ └── block: ∅
├── closing_loc: ∅
└── block:
@ BlockNode (location: (1,13)-(1,25))
├── locals: [:bar]
├── locals_body_index: 1
│ ├── parameters:
│ @ BlockParametersNode (location: (1,16)-(1,21))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,17)-(1,20))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,17)-(1,20))
│ │ │ └── name: :bar
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,16)-(1,17) = "|"
│ └── closing_loc: (1,20)-(1,21) = "|"
├── body: ∅
├── opening_loc: (1,13)-(1,15) = "do"
└── closing_loc: (1,22)-(1,25) = "end"
└── keyword_loc: (1,0)-(1,4) = "next"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,34 +12,33 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ └── name: :c
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,13)-(1,14) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,14))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
│ │ ├── rest: ∅
│ │ ├── posts: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ └── name: :c
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,13)-(1,14) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,36 +12,35 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
│ │ │ │ @ RestParameterNode (location: (1,12)-(1,14))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,13)-(1,14) = "c"
│ │ │ │ └── operator_loc: (1,12)-(1,13) = "*"
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,16)-(1,17) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,17))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,15))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,9)-(1,10))
│ │ │ └── flags: decimal
│ │ ├── rest:
│ │ │ @ RestParameterNode (location: (1,12)-(1,14))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,13)-(1,14) = "c"
│ │ │ └── operator_loc: (1,12)-(1,13) = "*"
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,14)-(1,15) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,16)-(1,17) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,22))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,22))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,42 +12,41 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,22))
│ ├── locals: [:b, :c, :d, :e]
│ ├── locals_body_index: 4
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,20))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,19))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ │ └── value:
│ │ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ │ └── flags: decimal
│ │ │ ├── rest:
│ │ │ │ @ RestParameterNode (location: (1,10)-(1,12))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,11)-(1,12) = "c"
│ │ │ │ └── operator_loc: (1,10)-(1,11) = "*"
│ │ │ ├── posts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ │ └── name: :d
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block:
│ │ │ @ BlockParameterNode (location: (1,17)-(1,19))
│ │ │ ├── name: :e
│ │ │ ├── name_loc: (1,18)-(1,19) = "e"
│ │ │ └── operator_loc: (1,17)-(1,18) = "&"
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,19)-(1,20) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,21)-(1,22) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,22))
├── locals: [:b, :c, :d, :e]
├── locals_body_index: 4
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,20))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,19))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ ├── operator_loc: (1,6)-(1,7) = "="
│ │ │ └── value:
│ │ │ @ IntegerNode (location: (1,7)-(1,8))
│ │ │ └── flags: decimal
│ │ ├── rest:
│ │ │ @ RestParameterNode (location: (1,10)-(1,12))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,11)-(1,12) = "c"
│ │ │ └── operator_loc: (1,10)-(1,11) = "*"
│ │ ├── posts: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,15))
│ │ │ └── name: :d
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block:
│ │ @ BlockParameterNode (location: (1,17)-(1,19))
│ │ ├── name: :e
│ │ ├── name_loc: (1,18)-(1,19) = "e"
│ │ └── operator_loc: (1,17)-(1,18) = "&"
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,19)-(1,20) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,21)-(1,22) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,14))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,14))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,35 +12,34 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,14))
│ ├── locals: [:b]
│ ├── locals_body_index: 1
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,12))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ │ ├── requireds: (length: 0)
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ │ ├── name: :b
│ │ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,9)-(1,11))
│ │ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
│ │ │ │ ├── value_loc: (1,10)-(1,11) = "c"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "c"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,11)-(1,12) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,13)-(1,14) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,14))
├── locals: [:b]
├── locals_body_index: 1
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,12))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,11))
│ │ ├── requireds: (length: 0)
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11))
│ │ │ ├── name: :b
│ │ │ ├── name_loc: (1,5)-(1,6) = "b"
│ │ │ ├── operator_loc: (1,7)-(1,8) = "="
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,9)-(1,11))
│ │ │ ├── opening_loc: (1,9)-(1,10) = ":"
│ │ │ ├── value_loc: (1,10)-(1,11) = "c"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "c"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,11)-(1,12) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,13)-(1,14) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,15))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,15))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,38 +12,37 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,15))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,13))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,12))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12))
│ │ │ │ ├── lefts: (length: 1)
│ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ │ └── name: :b
│ │ │ │ ├── rest:
│ │ │ │ │ @ SplatNode (location: (1,9)-(1,11))
│ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ │ └── expression:
│ │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ │ └── name: :c
│ │ │ │ ├── rights: (length: 0)
│ │ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
│ │ │ ├── optionals: (length: 0)
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,12)-(1,13) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,14)-(1,15) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,15))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,13))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,12))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12))
│ │ │ ├── lefts: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7))
│ │ │ │ └── name: :b
│ │ │ ├── rest:
│ │ │ │ @ SplatNode (location: (1,9)-(1,11))
│ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*"
│ │ │ │ └── expression:
│ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11))
│ │ │ │ └── name: :c
│ │ │ ├── rights: (length: 0)
│ │ │ ├── lparen_loc: (1,5)-(1,6) = "("
│ │ │ └── rparen_loc: (1,11)-(1,12) = ")"
│ │ ├── optionals: (length: 0)
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,12)-(1,13) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,14)-(1,15) = "}"

Просмотреть файл

@ -4,6 +4,7 @@
@ StatementsNode (location: (1,0)-(1,17))
└── body: (length: 1)
└── @ CallNode (location: (1,0)-(1,17))
├── flags: ∅
├── receiver: ∅
├── call_operator_loc: ∅
├── name: :a
@ -11,37 +12,36 @@
├── opening_loc: ∅
├── arguments: ∅
├── closing_loc: ∅
├── block:
│ @ BlockNode (location: (1,2)-(1,17))
│ ├── locals: [:b, :c]
│ ├── locals_body_index: 2
│ ├── parameters:
│ │ @ BlockParametersNode (location: (1,4)-(1,15))
│ │ ├── parameters:
│ │ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ │ ├── requireds: (length: 1)
│ │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ │ └── name: :b
│ │ │ ├── optionals: (length: 1)
│ │ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ │ ├── name: :c
│ │ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ │ └── value:
│ │ │ │ @ SymbolNode (location: (1,12)-(1,14))
│ │ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
│ │ │ │ ├── value_loc: (1,13)-(1,14) = "d"
│ │ │ │ ├── closing_loc: ∅
│ │ │ │ └── unescaped: "d"
│ │ │ ├── rest: ∅
│ │ │ ├── posts: (length: 0)
│ │ │ ├── keywords: (length: 0)
│ │ │ ├── keyword_rest: ∅
│ │ │ └── block: ∅
│ │ ├── locals: (length: 0)
│ │ ├── opening_loc: (1,4)-(1,5) = "|"
│ │ └── closing_loc: (1,14)-(1,15) = "|"
│ ├── body: ∅
│ ├── opening_loc: (1,2)-(1,3) = "{"
│ └── closing_loc: (1,16)-(1,17) = "}"
└── flags: ∅
└── block:
@ BlockNode (location: (1,2)-(1,17))
├── locals: [:b, :c]
├── locals_body_index: 2
├── parameters:
│ @ BlockParametersNode (location: (1,4)-(1,15))
│ ├── parameters:
│ │ @ ParametersNode (location: (1,5)-(1,14))
│ │ ├── requireds: (length: 1)
│ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6))
│ │ │ └── name: :b
│ │ ├── optionals: (length: 1)
│ │ │ └── @ OptionalParameterNode (location: (1,8)-(1,14))
│ │ │ ├── name: :c
│ │ │ ├── name_loc: (1,8)-(1,9) = "c"
│ │ │ ├── operator_loc: (1,10)-(1,11) = "="
│ │ │ └── value:
│ │ │ @ SymbolNode (location: (1,12)-(1,14))
│ │ │ ├── opening_loc: (1,12)-(1,13) = ":"
│ │ │ ├── value_loc: (1,13)-(1,14) = "d"
│ │ │ ├── closing_loc: ∅
│ │ │ └── unescaped: "d"
│ │ ├── rest: ∅
│ │ ├── posts: (length: 0)
│ │ ├── keywords: (length: 0)
│ │ ├── keyword_rest: ∅
│ │ └── block: ∅
│ ├── locals: (length: 0)
│ ├── opening_loc: (1,4)-(1,5) = "|"
│ └── closing_loc: (1,14)-(1,15) = "|"
├── body: ∅
├── opening_loc: (1,2)-(1,3) = "{"
└── closing_loc: (1,16)-(1,17) = "}"

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше